/* }}} */
/* Token Priorities {{{ */
%nonassoc ""
-%left "++" "--"
+%left "++" "--" "{"
%nonassoc "if"
%nonassoc "else"
;
RubyProcParameters
- : "|" RubyProcParameterList "|" { $$ = $2; }
- | "||" { $$ = NULL; }
+ : LexSetRegExp "|" RubyProcParameterList "|" { $$ = $3; }
+ | LexSetRegExp "||" { $$ = NULL; }
;
RubyProcParametersOpt
- : RubyProcParameters
+ : RubyProcParameters { $$ = $1; }
| { $$ = NULL; }
;
;
PrimaryExpression
- : "{" LexPushInOff RubyProcParameters StatementListOpt "}" LexPopIn { $$ = CYNew CYRubyProc($3, $4); }
+ : BRACE LexPushInOff RubyProcParameters StatementListOpt "}" LexPopIn { $$ = CYNew CYRubyProc($3, $4); }
;
-CallExpression
- : CallExpression_ RubyProcExpression { $$ = CYNew CYRubyBlock($1, $2); }
+PostfixExpression
+ : LeftHandSideExpression RubyProcExpression { $$ = CYNew CYRubyBlock($1, $2); }
;
/* }}} */