From eff34adbd160716365655a25851a2019ba266d7d Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 9 Feb 2011 09:50:20 -0500 Subject: [PATCH] parser: comment why !nopar is required in some place Signed-off-by: Jean Privat --- src/parser/nit.sablecc3xx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser/nit.sablecc3xx b/src/parser/nit.sablecc3xx index cfb96ca..9d17d23 100644 --- a/src/parser/nit.sablecc3xx +++ b/src/parser/nit.sablecc3xx @@ -491,7 +491,7 @@ expr_atom~nopar~nobra {-> expr} | {init} recv~nopar~nobra kwinit args {-> New expr.init(recv~nopar~nobra.expr, kwinit, [args.expr])} !nobra | {bra} expr_atom~nopar braargs {-> New expr.bra(expr_atom~nopar.expr, [braargs.expr], [])} | {new} kwnew no type~nobra dot [n2]:no id args {-> New expr.new(kwnew, type~nobra.type, id, [args.expr])} -// FIXME: Why are these 3 !nopar mandatory? +// !nopar to unambiguise 'foo[5].bar' between '(foo[5]).bar' and 'foo([5].bar), !nobra!nopar | {range} obra no expr [n2]:no dotdot [n3]:no [expr2]:expr_nobra [n4]:no cbra {-> New expr.crange(expr, expr2.expr)} !nobra!nopar | {orange} obra no expr [n2]:no dotdot [n3]:no [expr2]:expr_nobra [n4]:no [cbra]:obra {-> New expr.orange(expr, expr2.expr)} !nobra!nopar | {array} braargs {-> New expr.array([braargs.expr])} -- 1.7.9.5