summaryrefslogtreecommitdiff
path: root/chapter17/src/main/java
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-11-15 14:01:48 -0800
committerCliff Click <cliffc@acm.org>2024-11-23 09:03:20 -0800
commit73d293a89d8f8b5188ee2406ce24a1fef96f062f (patch)
treea84b2966eed7180b393a270ed9d8829da445f3dc /chapter17/src/main/java
parentc19c4a27f29bbc5a4befb4f0931da74c9138c808 (diff)
downloadSimple-73d293a89d8f8b5188ee2406ce24a1fef96f062f.tar.gz
Simple-73d293a89d8f8b5188ee2406ce24a1fef96f062f.zip
Error on ambiguous -- parse
`i -- i` now errors instead of (sometimes) parsing as `i - -i`
Diffstat (limited to 'chapter17/src/main/java')
-rw-r--r--chapter17/src/main/java/com/seaofnodes/simple/Parser.java4
1 files changed, 1 insertions, 3 deletions
diff --git a/chapter17/src/main/java/com/seaofnodes/simple/Parser.java b/chapter17/src/main/java/com/seaofnodes/simple/Parser.java
index dae3cd54..c144b1d7 100644
--- a/chapter17/src/main/java/com/seaofnodes/simple/Parser.java
+++ b/chapter17/src/main/java/com/seaofnodes/simple/Parser.java
@@ -1379,9 +1379,7 @@ public class Parser {
char ch0 = (char)_input[_position];
if( "+-/*&|^".indexOf(ch0) == -1 ) return 0;
char ch1 = (char)_input[_position+1];
- if( ch1=='=' )
- { _position += 2; return ch0; }
- if( isIdLetter((char)_input[_position+2]) ) return 0; // Stop --x
+ if( ch1 == '=' ) { _position += 2; return ch0; }
if( ch0 == '+' && ch1 == '+' ) { _position += 2; return (char) 1; }
if( ch0 == '-' && ch1 == '-' ) { _position += 2; return (char)-1; }
return 0;