From 812fb88102082493d1176aab7ee61b5339821492 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 25 Jun 2020 14:09:24 +0100 Subject: spec: ensure `keyword` rule only matches keywords --- dhall-lang | 2 +- dhall/src/syntax/text/dhall.abnf | 6 ++++-- dhall/tests/parser/failure/ProjectionByTypeNeedsParens.txt | 2 +- dhall/tests/parser/failure/annotation.txt | 2 +- dhall/tests/parser/failure/spacing/ForallNoSpace.txt | 2 +- dhall/tests/parser/failure/spacing/LambdaNoSpace.txt | 2 +- dhall/tests/parser/failure/spacing/LetAnnotNoSpace.txt | 2 +- dhall/tests/parser/failure/spacing/MergeNoSpace2.txt | 2 +- dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt | 2 +- dhall/tests/parser/failure/spacing/UnionTypeNoSpace.txt | 2 +- dhall/tests/parser/failure/unit/OldUnionLitSyntax.txt | 2 +- dhall/tests/parser/failure/unit/RecordLitPunDotted.txt | 2 +- 12 files changed, 15 insertions(+), 13 deletions(-) diff --git a/dhall-lang b/dhall-lang index f08384e..871e8f7 160000 --- a/dhall-lang +++ b/dhall-lang @@ -1 +1 @@ -Subproject commit f08384ee5d4a9f1fbd63befb3938b4035f7b5d97 +Subproject commit 871e8f749f4c8a9d80311e0646dfbf0b5eeec316 diff --git a/dhall/src/syntax/text/dhall.abnf b/dhall/src/syntax/text/dhall.abnf index 362a436..26f6eab 100644 --- a/dhall/src/syntax/text/dhall.abnf +++ b/dhall/src/syntax/text/dhall.abnf @@ -370,7 +370,9 @@ NaN = %x4e.61.4e Some = %x53.6f.6d.65 toMap = %x74.6f.4d.61.70 assert = %x61.73.73.65.72.74 -forall = %x2200 / %x66.6f.72.61.6c.6c ; "∀" / "forall" +forall-keyword = %x66.6f.72.61.6c.6c ; "forall" +forall-symbol = %x2200 ; "∀" +forall = forall-symbol / forall-keyword with = %x77.69.74.68 ; Unused rule that could be used as negative lookahead in the @@ -382,7 +384,7 @@ keyword = / assert / as / Infinity / NaN / merge / Some / toMap - / forall + / forall-keyword / with builtin = diff --git a/dhall/tests/parser/failure/ProjectionByTypeNeedsParens.txt b/dhall/tests/parser/failure/ProjectionByTypeNeedsParens.txt index 0586abb..3ce3b45 100644 --- a/dhall/tests/parser/failure/ProjectionByTypeNeedsParens.txt +++ b/dhall/tests/parser/failure/ProjectionByTypeNeedsParens.txt @@ -3,4 +3,4 @@ 1 | r.{ x: T }␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/annotation.txt b/dhall/tests/parser/failure/annotation.txt index 3390d3e..648ef2b 100644 --- a/dhall/tests/parser/failure/annotation.txt +++ b/dhall/tests/parser/failure/annotation.txt @@ -3,4 +3,4 @@ 1 | let a:Natural = 1 in a␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/spacing/ForallNoSpace.txt b/dhall/tests/parser/failure/spacing/ForallNoSpace.txt index 697d400..6bd7fbc 100644 --- a/dhall/tests/parser/failure/spacing/ForallNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/ForallNoSpace.txt @@ -3,4 +3,4 @@ 1 | forall(x :T) -> x␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/spacing/LambdaNoSpace.txt b/dhall/tests/parser/failure/spacing/LambdaNoSpace.txt index adb0f1f..e5d1089 100644 --- a/dhall/tests/parser/failure/spacing/LambdaNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/LambdaNoSpace.txt @@ -3,4 +3,4 @@ 1 | \(x :T) -> x␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/spacing/LetAnnotNoSpace.txt b/dhall/tests/parser/failure/spacing/LetAnnotNoSpace.txt index 577f157..06aef2d 100644 --- a/dhall/tests/parser/failure/spacing/LetAnnotNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/LetAnnotNoSpace.txt @@ -3,4 +3,4 @@ 1 | let x :T = y in e␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt index 77314e0..0fba8c0 100644 --- a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt +++ b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt @@ -3,4 +3,4 @@ 1 | merge x(y)␊ | ^--- | - = expected missing, non_empty_list_literal, double_quote_literal, single_quote_literal, if_, merge, NaN, Some_, toMap, assert, forall, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed + = expected missing, non_empty_list_literal, double_quote_literal, single_quote_literal, if_, merge, NaN, Some_, toMap, assert, forall_keyword, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed diff --git a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt index 051ff49..759dd6f 100644 --- a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt @@ -3,4 +3,4 @@ 1 | { x :T }␊ | ^--- | - = expected missing, record_type_entry, if_, merge, NaN, Some_, toMap, assert, forall, or empty_record_literal + = expected missing, record_type_entry, if_, merge, NaN, Some_, toMap, assert, forall_keyword, or empty_record_literal diff --git a/dhall/tests/parser/failure/spacing/UnionTypeNoSpace.txt b/dhall/tests/parser/failure/spacing/UnionTypeNoSpace.txt index 0a83dc8..8ff406c 100644 --- a/dhall/tests/parser/failure/spacing/UnionTypeNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/UnionTypeNoSpace.txt @@ -3,4 +3,4 @@ 1 | < x :T >␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/unit/OldUnionLitSyntax.txt b/dhall/tests/parser/failure/unit/OldUnionLitSyntax.txt index 8475bb9..552a7c3 100644 --- a/dhall/tests/parser/failure/unit/OldUnionLitSyntax.txt +++ b/dhall/tests/parser/failure/unit/OldUnionLitSyntax.txt @@ -3,4 +3,4 @@ 1 | < x = 3 | y : Bool >␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword diff --git a/dhall/tests/parser/failure/unit/RecordLitPunDotted.txt b/dhall/tests/parser/failure/unit/RecordLitPunDotted.txt index 2e0ac22..429aa05 100644 --- a/dhall/tests/parser/failure/unit/RecordLitPunDotted.txt +++ b/dhall/tests/parser/failure/unit/RecordLitPunDotted.txt @@ -3,4 +3,4 @@ 1 | { x.y.z }␊ | ^--- | - = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall + = expected missing, if_, merge, NaN, Some_, toMap, assert, or forall_keyword -- cgit v1.2.3