ask-dracula-rs/src/project.rs

34 lines
465 B
Rust

#[derive(Eq, Hash, PartialEq)]
pub enum CompletionTarget
{
Predicate(foliage::PredicateDeclaration),
Constraint,
}
#[derive(Eq, Hash, PartialEq)]
pub enum StatementKind
{
Axiom,
Completion(CompletionTarget),
Assumption,
Assertion,
}
pub struct Statement
{
pub kind: StatementKind,
pub original_text: String,
pub formula: foliage::Formula,
}
pub enum Block
{
Statement(Statement),
Whitespace(String),
}
pub struct Project
{
pub blocks: Vec<Block>,
}