From aad73fb71d33906c0d0c344c10bc319bb72a6bdc Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Wed, 6 May 2015 02:45:37 +0200 Subject: [PATCH] Added command line option to display the preprocessor output. Will help identify the source line until preprocessor line tracking is implemented. --- main.py | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index 7183b57..9f4f6d6 100755 --- a/main.py +++ b/main.py @@ -169,6 +169,7 @@ Usage: {progname} [-P|--prearg=] add parameter to preprocessor's command line [--precmd=] preprocessor command ('cpp' by default) [--prenodef] no LSL specific defines (__AGENTKEY__ etc.) + [--preshow] show preprocessor output, and stop [--avid=] specify UUID of avatar saving the script [--avname=] specify name of avatar saving the script [--assetid=] specify the asset UUID of the script @@ -296,7 +297,7 @@ def main(): try: opts, args = getopt.gnu_getopt(sys.argv[1:], 'hO:o:p:P:H', ('optimizer-options=', 'help', 'version', 'output=', 'header', - 'preproc=', 'precmd=', 'prearg=', 'prenodef', + 'preproc=', 'precmd=', 'prearg=', 'prenodef', 'preshow', 'avid=', 'avname=', 'assetid=', 'scriptname=')) except getopt.GetoptError: Usage() @@ -312,6 +313,7 @@ def main(): predefines = True script_header = '' mcpp_mode = False + preshow = False for opt, arg in opts: if type(opt) is unicode: @@ -386,6 +388,9 @@ def main(): elif opt == '--prenodef': predefines = False + elif opt == '--preshow': + preshow = True + elif opt in ('-H', '--header'): script_header = True @@ -486,23 +491,25 @@ def main(): elif x == 'USE_LAZY_LISTS': options.add('lazylists') - p = parser() - try: - ts = p.parse(script, options) - except EParse as e: - sys.stderr.write(e.message + '\n') - return 1 - del p + if not preshow: - opt = optimizer() - ts = opt.optimize(ts, options) - del opt + p = parser() + try: + ts = p.parse(script, options) + except EParse as e: + sys.stderr.write(e.message + '\n') + return 1 + del p - outs = outscript() - script = script_header + outs.output(ts, options) - del outs - del ts - del script_header + opt = optimizer() + ts = opt.optimize(ts, options) + del opt + + outs = outscript() + script = script_header + outs.output(ts, options) + del outs + del ts + del script_header if outfile == '-': sys.stdout.write(script)