return "\n" + print_C_expr(('apply', statement[1], statement[2])) + ";"
elif statement[0] == 'for':
(keyword, label, dummy, start, increment, predicate) = statement
- return 'for (%s = %s; %s; %s += %s) { /* label %s */ ' % (dummy, print_C_expr(start), print_C_expr(predicate), dummy, print_C_expr(increment), label)
+ rep = 'for (int %s = %s; %s; %s += %s) {' % (dummy, print_C_expr(start), print_C_expr(predicate), dummy, print_C_expr(increment))
+ if mad_debug:
+ rep += ' /* label %s */' % label
+ return rep
elif statement[0] == 'goto':
return 'goto ' + statement[1] + ';'
elif statement[0] == 'if':
indent += indentchange
while scopes and label == scopes[-1]:
indent -= 1
- out.write((' '*indent) + '} /* closing ' + label + ' */\n')
+ out.write((' '*indent) + '}')
+ if mad_debug:
+ out.write((' '*indent) + ' /* closing ' + label + ' */')
+ out.write('\n')
scopes.pop()
if __name__ == '__main__':