From: Eric S. Raymond Date: Fri, 23 Jan 2004 18:56:14 +0000 (+0000) Subject: Now we generate actual code. X-Git-Tag: 1.0~171 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=44e73140d7c7f0382708e98ea2686df750128301;p=mad.git Now we generate actual code. --- diff --git a/mad b/mad index 14a1a8d..299a8a4 100755 --- a/mad +++ b/mad @@ -536,7 +536,7 @@ def generate(out): out.write('}\n') if __name__ == '__main__': - import getopt + import os, getopt mad_debug = 0 (options, arguments) = getopt.getopt(sys.argv[1:], "d:") for (opt, val) in options: @@ -574,9 +574,16 @@ if __name__ == '__main__': if arguments == ['-']: generate(sys.stdout) elif len(arguments) == 1: - out = open(arguments[0][:-4] + ".c", "w") + stem = arguments[0][:-4] + out = open(stem + ".c", "w") generate(out) out.close() + compile = "cc %s.c -lm -o %s" % (stem, stem) + if os.system(compile) == 0: + os.remove(stem + ".c") + else: + print "Compilation failed" + out.close() else: sys.stderr.write("mad: multiple file args are not yet supported\n") sys.exit(1)