;
UnaryExpression
- : PostfixExpression { $$ = $1; }
+ : %prec "" PostfixExpression { $$ = $1; }
| LexSetRegExp UnaryExpression_ { $$ = $2; }
;
/* }}} */
;
PostfixExpression
- : LeftHandSideExpression RubyProcExpression { $$ = CYNew CYRubyBlock($1, $2); }
+ : PostfixExpression RubyProcExpression { $$ = CYNew CYRubyBlock($1, $2); }
;
/* }}} */
return call_->AddArgument(context, proc_->Replace(context));
}
+CYExpression *CYRubyBlock::AddArgument(CYContext &context, CYExpression *value) {
+ return Replace(context)->AddArgument(context, value);
+}
+
CYExpression *CYRubyProc::Replace(CYContext &context) {
CYFunctionExpression *function($ CYFunctionExpression(NULL, parameters_, code_));
function = CYNonLocalize(context, function);
virtual CYExpression *Replace(CYContext &context);
virtual void Output(CYOutput &out, CYFlags flags) const;
+
+ virtual CYExpression *AddArgument(CYContext &context, CYExpression *value);
};
struct CYIf :