From 7d17d39005531cb77d8eaf32ed7de8938c66f874 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 12 Aug 2019 23:27:55 +0200 Subject: Remove grammar workaround --- dhall-lang | 2 +- dhall_generated_parser/build.rs | 23 ----------------------- dhall_generated_parser/src/dhall.pest.visibility | 1 + 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/dhall-lang b/dhall-lang index 7ab25f8..235d2c0 160000 --- a/dhall-lang +++ b/dhall-lang @@ -1 +1 @@ -Subproject commit 7ab25f8b089bd7e41b673a32d9330e4acb067735 +Subproject commit 235d2c0b11a539003d2de6110f8666e93ae1ccdb diff --git a/dhall_generated_parser/build.rs b/dhall_generated_parser/build.rs index 48605b6..5275097 100644 --- a/dhall_generated_parser/build.rs +++ b/dhall_generated_parser/build.rs @@ -30,7 +30,6 @@ fn main() -> std::io::Result<()> { rules.remove("url_path"); rules.remove("simple_label"); rules.remove("nonreserved_label"); - rules.remove("expression"); let mut file = File::create(pest_path)?; writeln!(&mut file, "// AUTO-GENERATED FILE. See build.rs.")?; @@ -55,28 +54,6 @@ fn main() -> std::io::Result<()> { ~ (import_hashed | ^\"(\" ~ whsp ~ import_hashed ~ whsp ~ ^\")\"))? }}" )?; - // TODO: hack; we'll need to upstream a change to the grammar - writeln!( - &mut file, - r#"expression = {{ - lambda ~ whsp ~ ^"(" ~ whsp ~ nonreserved_label ~ whsp ~ ^":" ~ whsp1 ~ expression ~ whsp ~ ^")" ~ whsp ~ arrow ~ whsp ~ expression - | if_ ~ whsp1 ~ expression ~ whsp ~ then ~ whsp1 ~ expression ~ whsp ~ else_ ~ whsp1 ~ expression - | let_binding+ ~ in_ ~ whsp1 ~ expression - | forall ~ whsp ~ ^"(" ~ whsp ~ nonreserved_label ~ whsp ~ ^":" ~ whsp1 ~ expression ~ whsp ~ ^")" ~ whsp ~ arrow ~ whsp ~ expression - | operator_expression ~ whsp ~ arrow ~ whsp ~ expression - | merge ~ whsp1 ~ import_expression ~ whsp1 ~ import_expression ~ whsp ~ ^":" ~ whsp1 ~ application_expression - | empty_list_literal - | toMap ~ whsp1 ~ import_expression ~ whsp ~ ^":" ~ whsp1 ~ application_expression - | assert ~ whsp ~ ^":" ~ whsp1 ~ expression - | annotated_expression - }}"# - )?; - writeln!( - &mut file, - r#"empty_list_literal = {{ - ^"[" ~ whsp ~ ^"]" ~ whsp ~ ^":" ~ whsp1 ~ application_expression - }}"# - )?; // TODO: this is a cheat; properly support RFC3986 URLs instead writeln!(&mut file, "url_path = _{{ path }}")?; writeln!( diff --git a/dhall_generated_parser/src/dhall.pest.visibility b/dhall_generated_parser/src/dhall.pest.visibility index 44a52c1..6b4c974 100644 --- a/dhall_generated_parser/src/dhall.pest.visibility +++ b/dhall_generated_parser/src/dhall.pest.visibility @@ -143,6 +143,7 @@ import expression annotated_expression let_binding +empty_list_literal # operator_expression import_alt_expression or_expression -- cgit v1.2.3