diff options
author | Adrian Thurston <thurston@complang.org> | 2013-05-12 13:51:35 +0000 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2013-05-12 13:51:35 +0000 |
commit | fe731cd71bea9ec997c4ca233aa501349b010a08 (patch) | |
tree | 70126f96405bc3b1551b390e9dbc91b7831d4260 | |
parent | 3faa7d5eb451a5961140f02ff9a7ad9eb133f1bf (diff) | |
download | colm-fe731cd71bea9ec997c4ca233aa501349b010a08.tar.gz |
force expr parsed last in cons_el (and string/accum)
-rw-r--r-- | colm/.gitignore | 2 | ||||
-rw-r--r-- | colm/colm.lm | 23 |
2 files changed, 14 insertions, 11 deletions
diff --git a/colm/.gitignore b/colm/.gitignore index af9a50d6..54a642c1 100644 --- a/colm/.gitignore +++ b/colm/.gitignore @@ -1,7 +1,7 @@ # Common testing files. /tmp.lm /tmp.c -/tmp.bin +/tmp /input[0-9] /input /out diff --git a/colm/colm.lm b/colm/colm.lm index f8668337..43ac7df1 100644 --- a/colm/colm.lm +++ b/colm/colm.lm @@ -553,11 +553,14 @@ def pattern # Constructor List # +def E1 [] +def E2 [] + def cons_el - [RegionQual: region_qual Lit: lit] -| [DQ LitConsElList: lit_cons_el* Term: dq_lit_term] -| [TILDE TildeData: opt_tilde_data Nl: TILDE_NL] -| [CodeExpr: code_expr] + [E1 RegionQual: region_qual Lit: lit] +| [E1 DQ LitConsElList: lit_cons_el* Term: dq_lit_term] +| [E1 TILDE TildeData: opt_tilde_data Nl: TILDE_NL] +| [E2 CodeExpr: code_expr] def lit_cons_el [ConsData: cons_data] @@ -581,9 +584,9 @@ def constructor # def accum_el - [DQ LitAccumElList: lit_accum_el* Term: dq_lit_term] -| [TILDE TildeData: opt_tilde_data Nl: TILDE_NL] -| [CodeExpr: code_expr] + [E1 DQ LitAccumElList: lit_accum_el* Term: dq_lit_term] +| [E1 TILDE TildeData: opt_tilde_data Nl: TILDE_NL] +| [E2 CodeExpr: code_expr] def lit_accum_el [ConsData: cons_data] @@ -606,9 +609,9 @@ def accumulate # def string_el - [DQ LitStringElList: lit_string_el* Term: dq_lit_term] -| [TILDE TildeData: opt_tilde_data Nl: TILDE_NL] -| [CodeExpr: code_expr] + [E1 DQ LitStringElList: lit_string_el* Term: dq_lit_term] +| [E1 TILDE TildeData: opt_tilde_data Nl: TILDE_NL] +| [E2 CodeExpr: code_expr] def lit_string_el [ConsData: cons_data] |