summaryrefslogtreecommitdiff
path: root/src/grammar_util.rs
diff options
context:
space:
mode:
authorNanoTech2016-12-08 03:12:38 -0600
committerNanoTech2017-03-10 23:48:28 -0600
commite72192c0c1825f36f054263437029d05d717c957 (patch)
tree5002416c3e358edc3e1ca70a1aba68b97ea1e02c /src/grammar_util.rs
parent9598e4ff43a8fd4bc2aa2af75ff1094c2ef96258 (diff)
Begin implementing type checking
Diffstat (limited to 'src/grammar_util.rs')
-rw-r--r--src/grammar_util.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/grammar_util.rs b/src/grammar_util.rs
index cf0ee59..6927d33 100644
--- a/src/grammar_util.rs
+++ b/src/grammar_util.rs
@@ -1,15 +1,11 @@
-use core::Expr;
+use core::{Expr, X};
use lexer::Builtin;
-pub type ParsedExpr<'i> = Expr<'i, (), ()>;
+pub type ParsedExpr<'i> = Expr<'i, X, X>; // FIXME Parse paths and replace the second X with Path
pub type BoxExpr<'i> = Box<ParsedExpr<'i>>;
pub type ExprOpFn<'i> = fn(BoxExpr<'i>, BoxExpr<'i>) -> ParsedExpr<'i>;
pub type ExprListFn<'i> = fn(BoxExpr<'i>, Vec<ParsedExpr<'i>>) -> ParsedExpr<'i>;
-pub fn bx<T>(x: T) -> Box<T> {
- Box::new(x)
-}
-
pub fn builtin_expr<'i, S, A>(b: Builtin) -> Expr<'i, S, A> {
match b {
Builtin::Natural => Expr::Natural,