summaryrefslogtreecommitdiff
path: root/bnf/rust_expr.y_tree.h
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-03-03 11:33:41 +0800
committerJohn Hodge <tpg@mutabah.net>2016-03-03 11:33:41 +0800
commit1a5a20e963cae77e652eacdfbb3c8abfd38778f3 (patch)
tree0c0cb50aa49a86e23becf61c2f8c015f2c5803f4 /bnf/rust_expr.y_tree.h
parent2122c72c154d60049fd00015306e1ee7e3fd333b (diff)
downloadmrust-1a5a20e963cae77e652eacdfbb3c8abfd38778f3.tar.gz
BNF - Expanding grammar to parse run-pass tests
Diffstat (limited to 'bnf/rust_expr.y_tree.h')
-rw-r--r--bnf/rust_expr.y_tree.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/bnf/rust_expr.y_tree.h b/bnf/rust_expr.y_tree.h
index d0b4c876..09256f3e 100644
--- a/bnf/rust_expr.y_tree.h
+++ b/bnf/rust_expr.y_tree.h
@@ -1,7 +1,7 @@
_(expr_noblock): _(expr_assign);
_(expr_assign)
- : _(expr_0) assign_op _(expr_0)
+ : _(expr_0) assign_op _(expr_assign)
| _(expr_0)
;
@@ -80,6 +80,7 @@ _(expr_12)
| '*' _(expr_12)
/* | RWD_box expr_12 */
| '&' _(expr_12)
+ | '&' block /*HACK*/
| '&' RWD_mut _(expr_12)
| DOUBLEAMP _(expr_12) { }
| DOUBLEAMP RWD_mut _(expr_12) { }
@@ -99,13 +100,16 @@ _(expr_value)
| expr_blocks
| expr_path '(' expr_list opt_comma ')' { bnf_trace(context, "function call"); }
#ifndef SUFFIX_is__NOSTRLIT
- | expr_path '{' struct_literal_list '}'
- | expr_path '{' struct_literal_list ',' '}'
- | expr_path '{' struct_literal_list ',' DOUBLEDOT expr_0 '}'
+ | expr_path '{' struct_literal_list '}' { bnf_trace(context, "struct literal"); }
+ | expr_path '{' struct_literal_list ',' '}' { bnf_trace(context, "struct literal"); }
+ | expr_path '{' struct_literal_list ',' DOUBLEDOT expr_0 '}' { bnf_trace(context, "struct literal (with default)"); }
#endif
| expr_path
| RWD_self
| '(' expr ')'
+#ifndef SUFFIX_is__NOBRACE
+//| block
+#endif
| '(' ')'
| '(' expr ',' expr_list ')'
| '[' expr_list opt_comma ']'