From 00c565171ea9df86600f8866143307a5db8c6a65 Mon Sep 17 00:00:00 2001 From: shitpoet Date: Sat, 25 May 2024 01:30:36 +0400 Subject: [PATCH] Update Priority.md Fix misuse of a term --- .../SyntaxDefinition/Disambiguation/Priority/Priority.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/Rascal/Declarations/SyntaxDefinition/Disambiguation/Priority/Priority.md b/courses/Rascal/Declarations/SyntaxDefinition/Disambiguation/Priority/Priority.md index 3ec3881a7..2faac0056 100644 --- a/courses/Rascal/Declarations/SyntaxDefinition/Disambiguation/Priority/Priority.md +++ b/courses/Rascal/Declarations/SyntaxDefinition/Disambiguation/Priority/Priority.md @@ -76,6 +76,6 @@ Here a number of strings for this language, with brackets to show how they will * Please do not assume that Rascal's priorities have the same semantics as SDF's priorities. * When a priority does not have a filtering effect, such as in `E = E "+" > E "*"` it is usually better to use normal alternative composition: `E = E "+" | E "*"`. There is no difference in the semantics of parsing, but the latter expression is more intentional. -* You should not hide right or left recursion behind a nullable non-terminal, since the system will not filter the ambiguity then. Example: +* You should not hide right or left recursion behind a nullable terminal, since the system will not filter the ambiguity then. Example: `E = left "a"? E "*" E > E "+" E` will remain ambiguous. This should be written as: `E = left ("a" E "*" E | E "*" E ) > E "+" E;` (unfolding the optional such that E becomes explicitly left-most).