summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-04-10 17:14:51 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-04-10 17:14:51 +0000
commit1320e294fe43dd6b0c90ab952e9bef473d8c23c7 (patch)
tree91168510e6a0433ca08288d617bc41f6d678c32d
parentc59f9456b9ee1d821416761de07759e0402c101c (diff)
downloadgem5-1320e294fe43dd6b0c90ab952e9bef473d8c23c7.tar.xz
Added a class which lets you manipulate all the strings returned by the parser as a unit.
--HG-- extra : convert_revision : eec4b188b44b80cee643542bbd1aaa139cbc4ef0
-rw-r--r--src/arch/x86/isa/base.isa32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/arch/x86/isa/base.isa b/src/arch/x86/isa/base.isa
index cd166b306..eba24f709 100644
--- a/src/arch/x86/isa/base.isa
+++ b/src/arch/x86/isa/base.isa
@@ -58,6 +58,38 @@
// Base class for sparc instructions, and some support functions
//
+let {{
+ # This class will help make dealing with output a little less verbose
+ class OutputBlocks(object):
+ def __init__(self, header_output="",
+ decoder_output="",
+ decode_block="",
+ exec_output=""):
+ self.header_output = header_output
+ self.decoder_output = decoder_output
+ self.decode_block = decode_block
+ self.exec_output = exec_output
+
+ def append(self, blocks):
+ if isinstance(blocks, list) or isinstance(blocks, tuple):
+ assert(len(blocks) == 4)
+ self.header_output += blocks[0]
+ self.decoder_output += blocks[1]
+ self.decode_block += blocks[2]
+ self.exec_output += blocks[3]
+ else:
+ self.header_output += blocks.header_output
+ self.decoder_output += blocks.decoder_output
+ self.decode_block += blocks.decode_block
+ self.exec_output += blocks.exec_output
+
+ def makeList(self):
+ return (self.header_output,
+ self.decoder_output,
+ self.decode_block,
+ self.exec_output)
+}};
+
output header {{
/**