summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2013-05-12 13:51:35 +0000
committerAdrian Thurston <thurston@complang.org>2013-05-12 13:51:35 +0000
commitfe731cd71bea9ec997c4ca233aa501349b010a08 (patch)
tree70126f96405bc3b1551b390e9dbc91b7831d4260
parent3faa7d5eb451a5961140f02ff9a7ad9eb133f1bf (diff)
downloadcolm-fe731cd71bea9ec997c4ca233aa501349b010a08.tar.gz
force expr parsed last in cons_el (and string/accum)
-rw-r--r--colm/.gitignore2
-rw-r--r--colm/colm.lm23
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]