void IFELSTMT(out AST e) { List <AST> stm, stm2 = new List <AST>(); AST els = null; Expect(17); LOGI_EXPR(out AST logi); Expect(18); BLOCK(out stm); if (la.kind == 24) { Get(); if (la.kind == 10) { BLOCK(out stm2); els = new ElseStmt(stm2); } else if (la.kind == 15) { Get(); IFELSTMT(out els); } else { SynErr(56); } } e = new IfStmt(logi, stm, els); }
public abstract void Visit(IfStmt n);