From 7b9020a2c36ad4a2df2c2ca4aabe1c73eb124ac6 Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Tue, 29 Jan 2019 16:21:12 +1100 Subject: [PATCH] Update to pitree.git commit e4f3cdd --- ansi_c.t | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/ansi_c.t b/ansi_c.t index ceebf1f..3083146 100644 --- a/ansi_c.t +++ b/ansi_c.t @@ -16,11 +16,6 @@ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -%{ - import element - #import xml.etree.ElementTree -%} - %% class AST { @@ -269,8 +264,8 @@ octal_prefix = set( ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09'] ) -def factory(tag, attrib = {}, *args, **kwargs): - return tag_to_class.get(tag, element.Element)(tag, attrib, *args, **kwargs) +def factory(tag, *args, **kwargs): + return tag_to_class.get(tag, element.Element)(tag, *args, **kwargs) @method(AST.DeclarationOrStatement) def translate_declaration_or_statement(self, context): @@ -354,7 +349,7 @@ def translate_declaration_or_statement(self, context): def translate_declaration_or_statement(self, context): if ( isinstance(self.children[1], AST.ExpressionIntLiteral) and - element.get_text(self.children[1], 0) == '0' + self.children[1].text[0] == '0' ): self.children[0].translate_declaration_or_statement(context) return @@ -546,8 +541,8 @@ def get_type_and_name(self, base_type): if isinstance(self.children[2], AST.ExpressionEmpty) else # kludgey way, assuming not calculated size int( - element.get_text(self.children[2], 0), - 8 if element.get_text(self.children[2], 0)[:2] in octal_prefix else 0 + self.children[2].text[0], + 8 if self.children[2].text[0][:2] in octal_prefix else 0 ) ) ) @@ -567,7 +562,7 @@ def get_type_and_name(self, base_type): ) @method(AST.DeclaratorIdentifier) def get_type_and_name(self, base_type): - return base_type, element.get_text(self.children[0], 0) + return base_type, self.children[0].text[0] @method(AST.DeclaratorPointer) def get_type_and_name(self, base_type): return self.children[1].get_type_and_name( @@ -657,7 +652,7 @@ def translate_expression(self, context, precedence): return text @method(AST.ExpressionCharConstant) def translate_expression(self, context, precedence): - return 'ord(\'{0:s}\')'.format(element.get_text(self.children[0], 0)) + return 'ord(\'{0:s}\')'.format(self.children[0].text[0]) @method(AST.ExpressionConditional) def translate_expression(self, context, precedence): text = '{0:s} if {1:s} else {2:s}'.format( @@ -703,7 +698,7 @@ def translate_expression(self, context, precedence): return text @method(AST.ExpressionIntLiteral) def translate_expression(self, context, precedence): - text = element.get_text(self, 0) + text = self.text[0] if text[:2] in octal_prefix: text = '0o' + text[1:] return text @@ -716,7 +711,7 @@ def translate_expression(self, context, precedence): return ' '.join( [ '\'{0:s}\''.format( - element.get_text(i, 0). + i.text[0]. replace('\\"', '"'). replace('\'', '\\\'') ) @@ -910,7 +905,7 @@ del get_type @method(AST.Identifier) def translate_identifier(self, context): - text = element.get_text(self, 0) + text = self.text[0] return context.translate_identifier.get(text, text) del translate_identifier -- 2.34.1