summaryrefslogtreecommitdiff
path: root/chapter23/docs
diff options
context:
space:
mode:
Diffstat (limited to 'chapter23/docs')
-rw-r--r--chapter23/docs/23-grammar.ja.md9
-rw-r--r--chapter23/docs/23-grammar.md9
2 files changed, 14 insertions, 4 deletions
diff --git a/chapter23/docs/23-grammar.ja.md b/chapter23/docs/23-grammar.ja.md
index ff7b5d56..682bd967 100644
--- a/chapter23/docs/23-grammar.ja.md
+++ b/chapter23/docs/23-grammar.ja.md
@@ -80,11 +80,16 @@ expression : logicalExpression ('?' assignment (':' assignment)?)? ;
logicalExpression : bitwiseExpression (('&&' | '||') logicalExpression)? ;
bitwiseExpression
- : comparisonExpression (('&' | '|' | '^') comparisonExpression)*
+ : equalityExpression (('&' | '|' | '^') equalityExpression)*
;
+equalityExpression : comparisonExpression (('==' | '!=') comparisonExpression)* ;
+
+// Compare adjacent operands once; stop after the first false comparison.
+// Keep one direction per chain; < and <= (or > and >=) may mix.
comparisonExpression
- : shiftExpression (('==' | '!=' | '<' | '<=' | '>' | '>=') shiftExpression)*
+ : shiftExpression (('<' | '<=') shiftExpression)*
+ | shiftExpression (('>' | '>=') shiftExpression)+
;
shiftExpression
diff --git a/chapter23/docs/23-grammar.md b/chapter23/docs/23-grammar.md
index 1d52d5a6..cd231b08 100644
--- a/chapter23/docs/23-grammar.md
+++ b/chapter23/docs/23-grammar.md
@@ -80,11 +80,16 @@ expression : logicalExpression ('?' assignment (':' assignment)?)? ;
logicalExpression : bitwiseExpression (('&&' | '||') logicalExpression)? ;
bitwiseExpression
- : comparisonExpression (('&' | '|' | '^') comparisonExpression)*
+ : equalityExpression (('&' | '|' | '^') equalityExpression)*
;
+equalityExpression : comparisonExpression (('==' | '!=') comparisonExpression)* ;
+
+// Compare adjacent operands once; stop after the first false comparison.
+// Keep one direction per chain; < and <= (or > and >=) may mix.
comparisonExpression
- : shiftExpression (('==' | '!=' | '<' | '<=' | '>' | '>=') shiftExpression)*
+ : shiftExpression (('<' | '<=') shiftExpression)*
+ | shiftExpression (('>' | '>=') shiftExpression)+
;
shiftExpression