diff options
author | Adrian Thurston <thurston@colm.net> | 2021-09-21 20:29:24 -0700 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2021-09-21 20:33:03 -0700 |
commit | 47274bbc4915e6e99327e92c5189d8a7b3900f71 (patch) | |
tree | b9e9d62bfd21586c74f38a279a2a3c3479bbe2b8 /src/cgil/rlhc-java.lm | |
parent | e88bda068d4a25f2afa7f48821e0f539405c8c6a (diff) | |
download | colm-47274bbc4915e6e99327e92c5189d8a7b3900f71.tar.gz |
allow the base expression in deref and offset to be an expression
Previously allowed only identifier as the base. This is necessary to use the
generated DATA() as the base in these expressions, which can be modified by
access and therefore must be an expression.
Diffstat (limited to 'src/cgil/rlhc-java.lm')
-rw-r--r-- | src/cgil/rlhc-java.lm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cgil/rlhc-java.lm b/src/cgil/rlhc-java.lm index a458369f..e9ba3dd5 100644 --- a/src/cgil/rlhc-java.lm +++ b/src/cgil/rlhc-java.lm @@ -116,16 +116,16 @@ namespace java_gen [ExprFactor.ident O expr( TL ) C] } case - ['offset' '(' ident ',' expr ')'] + ['offset' '(' Base: expr ',' Offset: expr ')'] { send Parser - [expr( ExprFactor.expr )] + [expr( Offset )] } case - ['deref' '(' ident ',' expr ')'] + ['deref' '(' Base: expr ',' Offset: expr ')'] { send Parser - [ ExprFactor.ident '[' expr( ExprFactor.expr ) ']'] + [ expr( Base ) '[' expr( Offset ) ']'] } case [T: `TRUE] |