from lexrules import tokens from nodes import * def p_statement(p): 'statement : expr SEMICOLON' p[0] = StatementNode([p[1]]) def p_expr(p): 'expr : c_expr' p[0] = p[1] def p_c_expr(p): 'c_expr : C LPAREN STRING RPAREN' p[0] = CExprNode(p[3])