yacc1_debug = 0
yacc2_debug = 0
-parse_debug = 0
+parse_debug = 1
#from parse_tokens import tokens
self.statements += [s]
-class PAssign:
- def __init__(self, l, op, r):
- self.l = l
- self.op = op
- self.r = r
-
-
# -------------- RULES ----------------
()
# }
()
+# TODO: read all statement items
+
def p_statement_item_2(p):
'''statement_item : K_deassign lpvalue ';' '''
if(parse_debug):
print('statement_item_6', list(p))
+ tmp = None
+ if(p[3]):
+ throw(Exception("assert(! current_block_stack.empty());"))
+ else:
+ tmp = p[5]
+
+ p[0] = tmp
+
# { PBlock*tmp;
# if (p[3]) {
if(parse_debug):
print('statement_item_23', list(p))
+ p[0] = absyn.cond_statement3(p[3], p[5], None)
+
# { PCondit*tmp = new PCondit(p[3], p[5], 0);
# FILE_NAME(tmp, @1);
if(parse_debug):
print('statement_item_24', list(p))
+ p[0] = absyn.cond_statement3(p[3], p[5], p[7])
# { PCondit*tmp = new PCondit(p[3], p[5], p[7]);
# FILE_NAME(tmp, @1);