From: Gabe Black Date: Tue, 10 Apr 2007 17:14:51 +0000 (+0000) Subject: Added a class which lets you manipulate all the strings returned by the parser as... X-Git-Tag: m5_2.0_beta3~41^2~7 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1320e294fe43dd6b0c90ab952e9bef473d8c23c7;p=gem5.git Added a class which lets you manipulate all the strings returned by the parser as a unit. --HG-- extra : convert_revision : eec4b188b44b80cee643542bbd1aaa139cbc4ef0 --- 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 {{ /**