diff options
Diffstat (limited to 'src/ast/mod.rs')
-rw-r--r-- | src/ast/mod.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ast/mod.rs b/src/ast/mod.rs new file mode 100644 index 0000000..1fa7d23 --- /dev/null +++ b/src/ast/mod.rs @@ -0,0 +1,15 @@ +pub mod convert; + +type Ident = String; + +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum Term { + Epsilon, + Bottom, + Literal(String), + Cat(Box<Term>, Box<Term>), + Alt(Box<Term>, Box<Term>), + Fix(Box<Term>), // Uses de Bruijn indices + Variable(usize), + Call(Ident, Vec<Term>), +} |