From 0d5f6167ffbc78fb5e514a12875d6a873e054871 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 29 Mar 2007 00:47:46 -0700 Subject: [PATCH] Allow "let" blocks to add code to the output files. --HG-- extra : convert_revision : 0ffddb2b40dccbf2a3790464c843cfc1b43eaa02 --- src/arch/isa_parser.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index f3981a6eb..a0d671da1 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -311,12 +311,19 @@ def p_output_exec(t): def p_global_let(t): 'global_let : LET CODELIT SEMI' updateExportContext() + exportContext["header_output"] = '' + exportContext["decoder_output"] = '' + exportContext["exec_output"] = '' + exportContext["decode_block"] = '' try: exec fixPythonIndentation(t[2]) in exportContext except Exception, exc: error(t.lineno(1), 'error: %s in global let block "%s".' % (exc, t[2])) - t[0] = GenCode() # contributes nothing to the output C++ file + t[0] = GenCode(header_output = exportContext["header_output"], + decoder_output = exportContext["decoder_output"], + exec_output = exportContext["exec_output"], + decode_block = exportContext["decode_block"]) # Define the mapping from operand type extensions to C++ types and bit # widths (stored in operandTypeMap).