From: thurston Date: Wed, 4 Apr 2007 19:14:24 +0000 (+0000) Subject: Fixed break and hold. X-Git-Tag: 2.0_alpha~332 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d4df069c34039ba642f240bcb229ef3792caef88;p=external%2Fragel.git Fixed break and hold. git-svn-id: http://svn.complang.org/ragel/trunk@163 052ea7fc-9027-0410-9066-f65837a77df0 --- diff --git a/rlgen-ruby/rubycodegen.cpp b/rlgen-ruby/rubycodegen.cpp index e8e5733..3f2c032 100644 --- a/rlgen-ruby/rubycodegen.cpp +++ b/rlgen-ruby/rubycodegen.cpp @@ -107,7 +107,7 @@ void RubyCodeGen::RET( ostream &out, bool inFinish ) void RubyCodeGen::BREAK( ostream &out, int targState ) { - out << "_resume.call " << CTRL_FLOW(); + out << "_out.call " << CTRL_FLOW(); } void RubyCodeGen::COND_TRANSLATE() @@ -540,13 +540,13 @@ void RubyCodeGen::INLINE_LIST( ostream &ret, InlineList *inlineList, ret << GET_KEY(); break; case InlineItem::Hold: - ret << P() << "--;"; + ret << P() << " = " << P() << " - 1;"; break; case InlineItem::Exec: EXEC( ret, item, targState, inFinish ); break; case InlineItem::HoldTE: - ret << TOKEND() << "--;"; + ret << TOKEND() << " = " << TOKEND() << " - 1;"; break; case InlineItem::ExecTE: EXECTE( ret, item, targState, inFinish );