summaryrefslogtreecommitdiff
path: root/dhall_syntax/src/parser.rs
diff options
context:
space:
mode:
authorNadrieril2019-08-31 21:59:39 +0200
committerNadrieril2019-08-31 21:59:39 +0200
commitaba7e62e49ac9dead0a2868f739091d2d15ff0d1 (patch)
tree6c257318d9706ed1ea1336eef2059ac826719194 /dhall_syntax/src/parser.rs
parenta2c2cd76d256a4e6ca66b9b1bd756fb17e600ef5 (diff)
Implement parsing of `toMap` keyword
Diffstat (limited to '')
-rw-r--r--dhall_syntax/src/parser.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/dhall_syntax/src/parser.rs b/dhall_syntax/src/parser.rs
index defa79b..24ecc1e 100644
--- a/dhall_syntax/src/parser.rs
+++ b/dhall_syntax/src/parser.rs
@@ -827,6 +827,7 @@ make_parser! {
rule!(assert<()>);
rule!(if_<()>);
rule!(in_<()>);
+ rule!(toMap<()>);
rule!(empty_list_literal<ParsedExpr>; span; children!(
[application_expression(e)] => {
@@ -863,6 +864,9 @@ make_parser! {
[assert(()), expression(x)] => {
spanned(span, Assert(x))
},
+ [toMap(()), import_expression(x), application_expression(y)] => {
+ spanned(span, ToMap(x, Some(y)))
+ },
[operator_expression(e)] => e,
[operator_expression(e), expression(annot)] => {
spanned(span, Annot(e, annot))
@@ -934,7 +938,6 @@ make_parser! {
));
rule!(Some_<()>);
- rule!(toMap<()>);
rule!(application_expression<ParsedExpr>; children!(
[first_application_expression(e)] => e,
@@ -951,6 +954,9 @@ make_parser! {
[merge(()), import_expression(x), import_expression(y)] => {
spanned(span, Merge(x, y, None))
},
+ [toMap(()), import_expression(x)] => {
+ spanned(span, ToMap(x, None))
+ },
[import_expression(e)] => e,
));