]> thyrsus.com Git - mad.git/commitdiff
This actually does compile wordsearch.
authorEric S. Raymond <esr@thyrsus,com>
Fri, 13 Feb 2004 18:13:46 +0000 (18:13 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Fri, 13 Feb 2004 18:13:46 +0000 (18:13 +0000)
mad

diff --git a/mad b/mad
index 4acc26ac26a17dbed5a1ee3d29737bc40d78985c..aaa5919283904bb42baf0f0179b5d265ff5a1ec8 100755 (executable)
--- a/mad
+++ b/mad
@@ -852,7 +852,10 @@ def print_C_statement(statement):
         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':
@@ -962,7 +965,10 @@ def generate_C_code(out):
                 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__':