public abstract void OldAction(ParserOldAction a);
public override void OldAction(ParserOldAction a) { int ch = '{'; a.m_symtype = CSymbol.SymType.oldaction; a.m_action = ++action; a.m_initialisation = GetBracketedSeq(ref ch,'}'); a.m_sym = (CSymbol)m_prod.m_lhs; NextNonWhite(out ch); if (ch==';'||ch=='|') { // an old action at the end is converted into a simple action m_lexer.yytext = "%"; ParserSimpleAction sa = new ParserSimpleAction(this); SimpleAction(sa); NewConstructor(ref sa.m_sym, ")"+a.m_initialisation); a.m_sym = (CSymbol)sa; sa.yytext += sa.m_sym.yytext; a.yytext = "#"+sa.yytext; a.m_action = -1; // mark the old action for deletion } }