summaryrefslogtreecommitdiff
path: root/src/grammar_util.rs
diff options
context:
space:
mode:
authorNanoTech2016-12-08 14:59:02 -0600
committerNanoTech2017-03-10 23:48:28 -0600
commit82d50e8734e0caad0b34ae32493ab831e7ec7fae (patch)
tree46313eba36843544e9d5c8deeae39aff1d81c5d9 /src/grammar_util.rs
parent0b2d2ccee2023198d60b48154b9b211e47b782ec (diff)
Seperate built-in types and functions from Expr
Diffstat (limited to 'src/grammar_util.rs')
-rw-r--r--src/grammar_util.rs20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/grammar_util.rs b/src/grammar_util.rs
index 6927d33..49b7fb8 100644
--- a/src/grammar_util.rs
+++ b/src/grammar_util.rs
@@ -8,23 +8,7 @@ pub type ExprListFn<'i> = fn(BoxExpr<'i>, Vec<ParsedExpr<'i>>) -> ParsedExpr<'i>
pub fn builtin_expr<'i, S, A>(b: Builtin) -> Expr<'i, S, A> {
match b {
- Builtin::Natural => Expr::Natural,
- Builtin::NaturalFold => Expr::NaturalFold,
- Builtin::NaturalBuild => Expr::NaturalBuild,
- Builtin::NaturalIsZero => Expr::NaturalIsZero,
- Builtin::NaturalEven => Expr::NaturalEven,
- Builtin::NaturalOdd => Expr::NaturalOdd,
- Builtin::Integer => Expr::Integer,
- Builtin::Double => Expr::Double,
- Builtin::Text => Expr::Text,
- Builtin::ListBuild => Expr::ListBuild,
- Builtin::ListFold => Expr::ListFold,
- Builtin::ListLength => Expr::ListLength,
- Builtin::ListHead => Expr::ListHead,
- Builtin::ListLast => Expr::ListLast,
- Builtin::ListIndexed => Expr::ListIndexed,
- Builtin::ListReverse => Expr::ListReverse,
- Builtin::OptionalFold => Expr::OptionalFold,
- Builtin::Bool => Expr::Bool,
+ Builtin::Type(t) => Expr::BuiltinType(t),
+ Builtin::Value(v) => Expr::BuiltinValue(v),
}
}