From: Eric S. Raymond Date: Tue, 10 Feb 2004 01:52:45 +0000 (+0000) Subject: Code rearrangement. X-Git-Tag: 1.0~135 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=5851204a32ce39a0271b16f9a7b49a5d1c43851a;p=mad.git Code rearrangement. --- diff --git a/mad b/mad index 78ce5d0..4f49544 100755 --- a/mad +++ b/mad @@ -68,7 +68,7 @@ def t_FLOATNUM(t): def t_BOOLNUM(t): r'[01]B' - t.value = int(t.value[0]) + t.value = (int(t.value[0]) == 1) return t def t_INTNUM(t): @@ -769,8 +769,16 @@ def print_statement(statement): elif statement[0] == 'internal': return ' %s %s {return %s;}' % \ (returntypes.get(statement[1], normalmode), print_expr(('apply', statement[1], statement[2])), print_expr(statement[3])) + elif statement[0] == 'otherwise': + return 'else {' elif statement[0] == 'pause': return('printf("%o", ' + print_expr(statement[1]) + '); getchar();') + elif statement[0] == 'print': + (fmt, types) = fmt_convert(format[statement[1]]) + if len(statement) < 3: + return 'printf("' + fmt + '");' + else: + return 'printf("' + fmt + '", ' + ', '.join(map(print_expr, statement[2:])) + ');' elif statement[0] == 'read': (fmt, types) = fmt_convert(format[statement[1]], write=False) return 'scanf("' + fmt + '", ' + ', '.join(map(lambda x: '&'+x, statement[2:])) + ');' @@ -786,14 +794,6 @@ def print_statement(statement): return "return %s;" % print_expr(statement[1]) elif statement[0] == 'or': return 'else if (' + print_expr(statement[2]) + ') {' - elif statement[0] == 'otherwise': - return 'else {' - elif statement[0] == 'print': - (fmt, types) = fmt_convert(format[statement[1]]) - if len(statement) < 3: - return 'printf("' + fmt + '");' - else: - return 'printf("' + fmt + '", ' + ', '.join(map(print_expr, statement[2:])) + ');' elif statement[0] == 'substitution': return statement[1] + ' = ' + print_expr(statement[2]) + ';' elif statement[0] == 'whenever':