diff options
Diffstat (limited to 'chapter23/docs')
| -rw-r--r-- | chapter23/docs/23-grammar.ja.md | 9 | ||||
| -rw-r--r-- | chapter23/docs/23-grammar.md | 9 |
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 |
