Remove obsolete __repr__() and repr_serialize() on AST elements, change spacing
authorNick Downing <nick@ndcode.org>
Sun, 27 Jan 2019 11:30:03 +0000 (22:30 +1100)
committerNick Downing <nick@ndcode.org>
Mon, 28 Jan 2019 10:25:11 +0000 (21:25 +1100)
ast.py
element.py
generate_ast.py

diff --git a/ast.py b/ast.py
index 379c0d5..efc0d4a 100644 (file)
--- a/ast.py
+++ b/ast.py
@@ -25,10 +25,6 @@ class Item(element.Element):
       Item if factory is None else factory
     )
     return result
-  def __repr__(self):
-    params = []
-    self.repr_serialize(params)
-    return 'ast.Item({0:s})'.format(', '.join(params))
   # GENERATE END
   def post_process(
     self,
@@ -72,17 +68,36 @@ class AST(element.Element):
       self.eof_action = eof_action
     def serialize(self, ref_list):
       element.Element.serialize(self, ref_list)
-      self.set('name', element.serialize_str(self.name))
-      self.set('exclusive', element.serialize_bool(self.exclusive))
+      self.set(
+        'name',
+        element.serialize_str(self.name)
+      )
+      self.set(
+        'exclusive',
+        element.serialize_bool(self.exclusive)
+      )
       self.set(
         'rules',
-        ' '.join([element.serialize_ref(i, ref_list) for i in self.rules])
+        ' '.join(
+          [
+            element.serialize_ref(i, ref_list)
+            for i in self.rules
+          ]
+        )
       )
       self.set(
         'bol_rules',
-        ' '.join([element.serialize_ref(i, ref_list) for i in self.bol_rules])
+        ' '.join(
+          [
+            element.serialize_ref(i, ref_list)
+            for i in self.bol_rules
+          ]
+        )
+      )
+      self.set(
+        'eof_action',
+        element.serialize_int(self.eof_action)
       )
-      self.set('eof_action', element.serialize_int(self.eof_action))
     def deserialize(self, ref_list):
       element.Element.deserialize(self, ref_list)
       self.name = element.deserialize_str(self.get('name', ''))
@@ -107,36 +122,6 @@ class AST(element.Element):
       result.bol_rules = self.bol_rules
       result.eof_action = self.eof_action
       return result
-    def repr_serialize(self, params):
-      element.Element.repr_serialize(self, params)
-      if self.name != '':
-        params.append(
-          'name = {0:s}'.format(repr(self.name))
-        )
-      if self.exclusive != False:
-        params.append(
-          'exclusive = {0:s}'.format(repr(self.exclusive))
-        )
-      if len(self.rules):
-        params.append(
-          'rules = [{0:s}]'.format(
-            ', '.join([repr(i) for i in self.rules])
-          )
-        )
-      if len(self.bol_rules):
-        params.append(
-          'bol_rules = [{0:s}]'.format(
-            ', '.join([repr(i) for i in self.bol_rules])
-          )
-        )
-      if self.eof_action != -1:
-        params.append(
-          'eof_action = {0:s}'.format(repr(self.eof_action))
-        )
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.StartCondition({0:s})'.format(', '.join(params))
     # GENERATE END
 
   # syntax classes
@@ -162,10 +147,6 @@ class AST(element.Element):
         String if factory is None else factory
       )
       return result
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.String({0:s})'.format(', '.join(params))
     # GENERATE END
 
   class Text(element.Element):
@@ -190,10 +171,6 @@ class AST(element.Element):
         Text if factory is None else factory
       )
       return result
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Text({0:s})'.format(', '.join(params))
     # GENERATE END
     def get_text(self):
       return element.get_text(self, 0)
@@ -220,10 +197,6 @@ class AST(element.Element):
         Name if factory is None else factory
       )
       return result
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Name({0:s})'.format(', '.join(params))
     # GENERATE END
 
   class Section1Or2(element.Element):
@@ -249,10 +222,6 @@ class AST(element.Element):
           CodeBlock if factory is None else factory
         )
         return result
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section1Or2.CodeBlock({0:s})'.format(', '.join(params))
       # GENERATE END
       def post_process(
         self,
@@ -288,7 +257,12 @@ class AST(element.Element):
       element.Element.serialize(self, ref_list)
       self.set(
         'code_blocks_text',
-        ' '.join([element.serialize_ref(i, ref_list) for i in self.code_blocks_text])
+        ' '.join(
+          [
+            element.serialize_ref(i, ref_list)
+            for i in self.code_blocks_text
+          ]
+        )
       )
     def deserialize(self, ref_list):
       element.Element.deserialize(self, ref_list)
@@ -303,18 +277,6 @@ class AST(element.Element):
       )
       result.code_blocks_text = self.code_blocks_text
       return result
-    def repr_serialize(self, params):
-      element.Element.repr_serialize(self, params)
-      if len(self.code_blocks_text):
-        params.append(
-          'code_blocks_text = [{0:s}]'.format(
-            ', '.join([repr(i) for i in self.code_blocks_text])
-          )
-        )
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Section1Or2({0:s})'.format(', '.join(params))
     # GENERATE END
     def post_process(
       self,
@@ -361,10 +323,6 @@ class AST(element.Element):
             Option if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Option({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           raise NotImplementedError
@@ -389,7 +347,10 @@ class AST(element.Element):
           self.value = value
         def serialize(self, ref_list):
           AST.Section1.Options.Option.serialize(self, ref_list)
-          self.set('value', element.serialize_bool(self.value))
+          self.set(
+            'value',
+            element.serialize_bool(self.value)
+          )
         def deserialize(self, ref_list):
           AST.Section1.Options.Option.deserialize(self, ref_list)
           self.value = element.deserialize_bool(self.get('value', 'false'))
@@ -400,16 +361,6 @@ class AST(element.Element):
           )
           result.value = self.value
           return result
-        def repr_serialize(self, params):
-          AST.Section1.Options.Option.repr_serialize(self, params)
-          if self.value != False:
-            params.append(
-              'value = {0:s}'.format(repr(self.value))
-            )
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.BoolOption({0:s})'.format(', '.join(params))
         # GENERATE END
 
       class Align(BoolOption):
@@ -436,10 +387,6 @@ class AST(element.Element):
             Align if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Align({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.align = self.value
@@ -468,10 +415,6 @@ class AST(element.Element):
             AlwaysInteractive if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.AlwaysInteractive({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.always_interactive = self.value
@@ -500,10 +443,6 @@ class AST(element.Element):
             Array if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Array({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.array = self.value
@@ -532,10 +471,6 @@ class AST(element.Element):
             Backup if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Backup({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.backup = self.value
@@ -564,10 +499,6 @@ class AST(element.Element):
             BisonBridge if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.BisonBridge({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.bison_bridge = self.value
@@ -596,10 +527,6 @@ class AST(element.Element):
             BisonLocations if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.BisonLocations({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.bison_locations = self.value
@@ -628,10 +555,6 @@ class AST(element.Element):
             Caseless if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Caseless({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.caseless = self.value
@@ -660,10 +583,6 @@ class AST(element.Element):
             CPlusPlus if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.CPlusPlus({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.c_plus_plus = self.value
@@ -692,10 +611,6 @@ class AST(element.Element):
             Debug if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Debug({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.debug = self.value
@@ -724,10 +639,6 @@ class AST(element.Element):
             Default if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Default({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.default = self.value
@@ -756,10 +667,6 @@ class AST(element.Element):
             ECS if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.ECS({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.ecs = self.value
@@ -788,10 +695,6 @@ class AST(element.Element):
             ExtraType if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.ExtraType({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.extra_type = self[0][0].get_text()
@@ -820,10 +723,6 @@ class AST(element.Element):
             Fast if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Fast({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.fast = self.value
@@ -852,10 +751,6 @@ class AST(element.Element):
             Full if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Full({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.full = self.value
@@ -884,10 +779,6 @@ class AST(element.Element):
             HeaderFile if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.HeaderFile({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.header_file = self[0][0].get_text()
@@ -916,10 +807,6 @@ class AST(element.Element):
             Input if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Input({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.input = self.value
@@ -948,10 +835,6 @@ class AST(element.Element):
             Interactive if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Interactive({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.interactive = self.value
@@ -980,10 +863,6 @@ class AST(element.Element):
             LexCompat if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.LexCompat({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.lex_compat = self.value
@@ -1012,10 +891,6 @@ class AST(element.Element):
             Line if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Line({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.line = self.value
@@ -1044,10 +919,6 @@ class AST(element.Element):
             Main if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Main({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.main = self.value
@@ -1076,10 +947,6 @@ class AST(element.Element):
             MetaECS if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.MetaECS({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.meta_ecs = self.value
@@ -1108,10 +975,6 @@ class AST(element.Element):
             NeverInteractive if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.NeverInteractive({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.never_interactive = self.value
@@ -1140,10 +1003,6 @@ class AST(element.Element):
             OutFile if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.OutFile({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.outfile = self[0][0].get_text()
@@ -1172,10 +1031,6 @@ class AST(element.Element):
             PerfReport if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.PerfReport({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.perf_report = self.value
@@ -1204,10 +1059,6 @@ class AST(element.Element):
             PosixCompat if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.PosixCompat({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.posix_compat = self.value
@@ -1236,10 +1087,6 @@ class AST(element.Element):
             Prefix if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Prefix({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.prefix = self[0][0].get_text()
@@ -1268,10 +1115,6 @@ class AST(element.Element):
             Read if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Read({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.read = self.value
@@ -1300,10 +1143,6 @@ class AST(element.Element):
             Reentrant if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Reentrant({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.reentrant = self.value
@@ -1332,10 +1171,6 @@ class AST(element.Element):
             Reject if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Reject({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.reject = self.value
@@ -1364,10 +1199,6 @@ class AST(element.Element):
             SevenBit if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.SevenBit({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.seven_bit = self.value
@@ -1396,10 +1227,6 @@ class AST(element.Element):
             Stack if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Stack({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.stack = self.value
@@ -1428,10 +1255,6 @@ class AST(element.Element):
             StdInit if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.StdInit({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.stdinit = self.value
@@ -1460,10 +1283,6 @@ class AST(element.Element):
             StdOut if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.StdOut({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.stdout = self.value
@@ -1492,10 +1311,6 @@ class AST(element.Element):
             TablesFile if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.TablesFile({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.tables_file = self[0][0].get_text()
@@ -1524,10 +1339,6 @@ class AST(element.Element):
             TablesVerify if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.TablesVerify({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.tables_verify = self.value
@@ -1556,10 +1367,6 @@ class AST(element.Element):
             UniStd if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.UniStd({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.unistd = self.value
@@ -1588,10 +1395,6 @@ class AST(element.Element):
             Unput if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Unput({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.unput = self.value
@@ -1620,10 +1423,6 @@ class AST(element.Element):
             Verbose if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Verbose({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.verbose = self.value
@@ -1652,10 +1451,6 @@ class AST(element.Element):
             Warn if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.Warn({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.warn = self.value
@@ -1684,10 +1479,6 @@ class AST(element.Element):
             YYAlloc if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYAlloc({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyalloc = self.value
@@ -1716,10 +1507,6 @@ class AST(element.Element):
             YYClass if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYClass({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyclass = self[0][0].get_text()
@@ -1748,10 +1535,6 @@ class AST(element.Element):
             YYFree if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYFree({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyfree = self.value
@@ -1780,10 +1563,6 @@ class AST(element.Element):
             YYGetDebug if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetDebug({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_debug = self.value
@@ -1812,10 +1591,6 @@ class AST(element.Element):
             YYGetExtra if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetExtra({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_extra = self.value
@@ -1844,10 +1619,6 @@ class AST(element.Element):
             YYGetIn if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetIn({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_in = self.value
@@ -1876,10 +1647,6 @@ class AST(element.Element):
             YYGetLeng if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetLeng({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_leng = self.value
@@ -1908,10 +1675,6 @@ class AST(element.Element):
             YYGetLineNo if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetLineNo({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_lineno = self.value
@@ -1940,10 +1703,6 @@ class AST(element.Element):
             YYGetLLoc if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetLLoc({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_lloc = self.value
@@ -1972,10 +1731,6 @@ class AST(element.Element):
             YYGetLVal if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetLVal({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_lval = self.value
@@ -2004,10 +1759,6 @@ class AST(element.Element):
             YYGetOut if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetOut({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_out = self.value
@@ -2036,10 +1787,6 @@ class AST(element.Element):
             YYGetText if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYGetText({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyget_text = self.value
@@ -2068,10 +1815,6 @@ class AST(element.Element):
             YYLineNo if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYLineNo({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yylineno = self.value
@@ -2100,10 +1843,6 @@ class AST(element.Element):
             YYMore if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYMore({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yymore = self.value
@@ -2132,10 +1871,6 @@ class AST(element.Element):
             YYPopState if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYPopState({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_pop_state = self.value
@@ -2164,10 +1899,6 @@ class AST(element.Element):
             YYPushState if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYPushState({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_push_state = self.value
@@ -2196,10 +1927,6 @@ class AST(element.Element):
             YYRealloc if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYRealloc({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyrealloc = self.value
@@ -2228,10 +1955,6 @@ class AST(element.Element):
             YYScanBuffer if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYScanBuffer({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_scan_buffer = self.value
@@ -2260,10 +1983,6 @@ class AST(element.Element):
             YYScanBytes if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYScanBytes({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_scan_bytes = self.value
@@ -2292,10 +2011,6 @@ class AST(element.Element):
             YYScanString if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYScanString({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_scan_string = self.value
@@ -2324,10 +2039,6 @@ class AST(element.Element):
             YYSetDebug if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetDebug({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_debug = self.value
@@ -2356,10 +2067,6 @@ class AST(element.Element):
             YYSetExtra if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetExtra({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_extra = self.value
@@ -2388,10 +2095,6 @@ class AST(element.Element):
             YYSetIn if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetIn({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_in = self.value
@@ -2420,10 +2123,6 @@ class AST(element.Element):
             YYSetLineNo if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetLineNo({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_lineno = self.value
@@ -2452,10 +2151,6 @@ class AST(element.Element):
             YYSetLLoc if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetLLoc({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_lloc = self.value
@@ -2484,10 +2179,6 @@ class AST(element.Element):
             YYSetLVal if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetLVal({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_lval = self.value
@@ -2516,10 +2207,6 @@ class AST(element.Element):
             YYSetOut if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYSetOut({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yyset_out = self.value
@@ -2548,10 +2235,6 @@ class AST(element.Element):
             YYTopState if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYTopState({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yy_top_state = self.value
@@ -2580,10 +2263,6 @@ class AST(element.Element):
             YYWrap if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section1.Options.YYWrap({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(self, section):
           section.yywrap = self.value
@@ -2609,10 +2288,6 @@ class AST(element.Element):
           Options if factory is None else factory
         )
         return result
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section1.Options({0:s})'.format(', '.join(params))
       # GENERATE END
       def post_process(
         self,
@@ -2648,7 +2323,10 @@ class AST(element.Element):
         self.exclusive = exclusive
       def serialize(self, ref_list):
         Item.serialize(self, ref_list)
-        self.set('exclusive', element.serialize_bool(self.exclusive))
+        self.set(
+          'exclusive',
+          element.serialize_bool(self.exclusive)
+        )
       def deserialize(self, ref_list):
         Item.deserialize(self, ref_list)
         self.exclusive = element.deserialize_bool(self.get('exclusive', 'false'))
@@ -2659,16 +2337,6 @@ class AST(element.Element):
         )
         result.exclusive = self.exclusive
         return result
-      def repr_serialize(self, params):
-        Item.repr_serialize(self, params)
-        if self.exclusive != False:
-          params.append(
-            'exclusive = {0:s}'.format(repr(self.exclusive))
-          )
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section1.StartConditions({0:s})'.format(', '.join(params))
       # GENERATE END
       def post_process(
         self,
@@ -2853,74 +2521,278 @@ class AST(element.Element):
       self.yywrap = yywrap
     def serialize(self, ref_list):
       AST.Section1Or2.serialize(self, ref_list)
-      self.set('align', element.serialize_bool(self.align))
-      self.set('always_interactive', element.serialize_bool(self.always_interactive))
-      self.set('array', element.serialize_bool(self.array))
-      self.set('backup', element.serialize_bool(self.backup))
-      self.set('bison_bridge', element.serialize_bool(self.bison_bridge))
-      self.set('bison_locations', element.serialize_bool(self.bison_locations))
-      self.set('caseless', element.serialize_bool(self.caseless))
-      self.set('c_plus_plus', element.serialize_bool(self.c_plus_plus))
-      self.set('debug', element.serialize_bool(self.debug))
-      self.set('default', element.serialize_bool(self.default))
-      self.set('ecs', element.serialize_bool(self.ecs))
-      self.set('extra_type', element.serialize_str(self.extra_type))
-      self.set('fast', element.serialize_bool(self.fast))
-      self.set('full', element.serialize_bool(self.full))
-      self.set('header_file', element.serialize_str(self.header_file))
-      self.set('input', element.serialize_bool(self.input))
-      self.set('interactive', element.serialize_bool(self.interactive))
-      self.set('lex_compat', element.serialize_bool(self.lex_compat))
-      self.set('line', element.serialize_bool(self.line))
-      self.set('main', element.serialize_bool(self.main))
-      self.set('meta_ecs', element.serialize_bool(self.meta_ecs))
-      self.set('never_interactive', element.serialize_bool(self.never_interactive))
-      self.set('outfile', element.serialize_str(self.outfile))
-      self.set('perf_report', element.serialize_bool(self.perf_report))
-      self.set('posix_compat', element.serialize_bool(self.posix_compat))
-      self.set('prefix', element.serialize_str(self.prefix))
-      self.set('read', element.serialize_bool(self.read))
-      self.set('reentrant', element.serialize_bool(self.reentrant))
-      self.set('reject', element.serialize_bool(self.reject))
-      self.set('seven_bit', element.serialize_bool(self.seven_bit))
-      self.set('stack', element.serialize_bool(self.stack))
-      self.set('stdinit', element.serialize_bool(self.stdinit))
-      self.set('stdout', element.serialize_bool(self.stdout))
-      self.set('tables_file', element.serialize_str(self.tables_file))
-      self.set('tables_verify', element.serialize_bool(self.tables_verify))
-      self.set('unistd', element.serialize_bool(self.unistd))
-      self.set('unput', element.serialize_bool(self.unput))
-      self.set('verbose', element.serialize_bool(self.verbose))
-      self.set('warn', element.serialize_bool(self.warn))
-      self.set('yyalloc', element.serialize_bool(self.yyalloc))
-      self.set('yyclass', element.serialize_str(self.yyclass))
-      self.set('yyfree', element.serialize_bool(self.yyfree))
-      self.set('yyget_debug', element.serialize_bool(self.yyget_debug))
-      self.set('yyget_extra', element.serialize_bool(self.yyget_extra))
-      self.set('yyget_in', element.serialize_bool(self.yyget_in))
-      self.set('yyget_leng', element.serialize_bool(self.yyget_leng))
-      self.set('yyget_lineno', element.serialize_bool(self.yyget_lineno))
-      self.set('yyget_lloc', element.serialize_bool(self.yyget_lloc))
-      self.set('yyget_lval', element.serialize_bool(self.yyget_lval))
-      self.set('yyget_out', element.serialize_bool(self.yyget_out))
-      self.set('yyget_text', element.serialize_bool(self.yyget_text))
-      self.set('yylineno', element.serialize_bool(self.yylineno))
-      self.set('yymore', element.serialize_bool(self.yymore))
-      self.set('yy_pop_state', element.serialize_bool(self.yy_pop_state))
-      self.set('yy_push_state', element.serialize_bool(self.yy_push_state))
-      self.set('yyrealloc', element.serialize_bool(self.yyrealloc))
-      self.set('yy_scan_buffer', element.serialize_bool(self.yy_scan_buffer))
-      self.set('yy_scan_bytes', element.serialize_bool(self.yy_scan_bytes))
-      self.set('yy_scan_string', element.serialize_bool(self.yy_scan_string))
-      self.set('yyset_debug', element.serialize_bool(self.yyset_debug))
-      self.set('yyset_extra', element.serialize_bool(self.yyset_extra))
-      self.set('yyset_in', element.serialize_bool(self.yyset_in))
-      self.set('yyset_lineno', element.serialize_bool(self.yyset_lineno))
-      self.set('yyset_lloc', element.serialize_bool(self.yyset_lloc))
-      self.set('yyset_lval', element.serialize_bool(self.yyset_lval))
-      self.set('yyset_out', element.serialize_bool(self.yyset_out))
-      self.set('yy_top_state', element.serialize_bool(self.yy_top_state))
-      self.set('yywrap', element.serialize_bool(self.yywrap))
+      self.set(
+        'align',
+        element.serialize_bool(self.align)
+      )
+      self.set(
+        'always_interactive',
+        element.serialize_bool(self.always_interactive)
+      )
+      self.set(
+        'array',
+        element.serialize_bool(self.array)
+      )
+      self.set(
+        'backup',
+        element.serialize_bool(self.backup)
+      )
+      self.set(
+        'bison_bridge',
+        element.serialize_bool(self.bison_bridge)
+      )
+      self.set(
+        'bison_locations',
+        element.serialize_bool(self.bison_locations)
+      )
+      self.set(
+        'caseless',
+        element.serialize_bool(self.caseless)
+      )
+      self.set(
+        'c_plus_plus',
+        element.serialize_bool(self.c_plus_plus)
+      )
+      self.set(
+        'debug',
+        element.serialize_bool(self.debug)
+      )
+      self.set(
+        'default',
+        element.serialize_bool(self.default)
+      )
+      self.set(
+        'ecs',
+        element.serialize_bool(self.ecs)
+      )
+      self.set(
+        'extra_type',
+        element.serialize_str(self.extra_type)
+      )
+      self.set(
+        'fast',
+        element.serialize_bool(self.fast)
+      )
+      self.set(
+        'full',
+        element.serialize_bool(self.full)
+      )
+      self.set(
+        'header_file',
+        element.serialize_str(self.header_file)
+      )
+      self.set(
+        'input',
+        element.serialize_bool(self.input)
+      )
+      self.set(
+        'interactive',
+        element.serialize_bool(self.interactive)
+      )
+      self.set(
+        'lex_compat',
+        element.serialize_bool(self.lex_compat)
+      )
+      self.set(
+        'line',
+        element.serialize_bool(self.line)
+      )
+      self.set(
+        'main',
+        element.serialize_bool(self.main)
+      )
+      self.set(
+        'meta_ecs',
+        element.serialize_bool(self.meta_ecs)
+      )
+      self.set(
+        'never_interactive',
+        element.serialize_bool(self.never_interactive)
+      )
+      self.set(
+        'outfile',
+        element.serialize_str(self.outfile)
+      )
+      self.set(
+        'perf_report',
+        element.serialize_bool(self.perf_report)
+      )
+      self.set(
+        'posix_compat',
+        element.serialize_bool(self.posix_compat)
+      )
+      self.set(
+        'prefix',
+        element.serialize_str(self.prefix)
+      )
+      self.set(
+        'read',
+        element.serialize_bool(self.read)
+      )
+      self.set(
+        'reentrant',
+        element.serialize_bool(self.reentrant)
+      )
+      self.set(
+        'reject',
+        element.serialize_bool(self.reject)
+      )
+      self.set(
+        'seven_bit',
+        element.serialize_bool(self.seven_bit)
+      )
+      self.set(
+        'stack',
+        element.serialize_bool(self.stack)
+      )
+      self.set(
+        'stdinit',
+        element.serialize_bool(self.stdinit)
+      )
+      self.set(
+        'stdout',
+        element.serialize_bool(self.stdout)
+      )
+      self.set(
+        'tables_file',
+        element.serialize_str(self.tables_file)
+      )
+      self.set(
+        'tables_verify',
+        element.serialize_bool(self.tables_verify)
+      )
+      self.set(
+        'unistd',
+        element.serialize_bool(self.unistd)
+      )
+      self.set(
+        'unput',
+        element.serialize_bool(self.unput)
+      )
+      self.set(
+        'verbose',
+        element.serialize_bool(self.verbose)
+      )
+      self.set(
+        'warn',
+        element.serialize_bool(self.warn)
+      )
+      self.set(
+        'yyalloc',
+        element.serialize_bool(self.yyalloc)
+      )
+      self.set(
+        'yyclass',
+        element.serialize_str(self.yyclass)
+      )
+      self.set(
+        'yyfree',
+        element.serialize_bool(self.yyfree)
+      )
+      self.set(
+        'yyget_debug',
+        element.serialize_bool(self.yyget_debug)
+      )
+      self.set(
+        'yyget_extra',
+        element.serialize_bool(self.yyget_extra)
+      )
+      self.set(
+        'yyget_in',
+        element.serialize_bool(self.yyget_in)
+      )
+      self.set(
+        'yyget_leng',
+        element.serialize_bool(self.yyget_leng)
+      )
+      self.set(
+        'yyget_lineno',
+        element.serialize_bool(self.yyget_lineno)
+      )
+      self.set(
+        'yyget_lloc',
+        element.serialize_bool(self.yyget_lloc)
+      )
+      self.set(
+        'yyget_lval',
+        element.serialize_bool(self.yyget_lval)
+      )
+      self.set(
+        'yyget_out',
+        element.serialize_bool(self.yyget_out)
+      )
+      self.set(
+        'yyget_text',
+        element.serialize_bool(self.yyget_text)
+      )
+      self.set(
+        'yylineno',
+        element.serialize_bool(self.yylineno)
+      )
+      self.set(
+        'yymore',
+        element.serialize_bool(self.yymore)
+      )
+      self.set(
+        'yy_pop_state',
+        element.serialize_bool(self.yy_pop_state)
+      )
+      self.set(
+        'yy_push_state',
+        element.serialize_bool(self.yy_push_state)
+      )
+      self.set(
+        'yyrealloc',
+        element.serialize_bool(self.yyrealloc)
+      )
+      self.set(
+        'yy_scan_buffer',
+        element.serialize_bool(self.yy_scan_buffer)
+      )
+      self.set(
+        'yy_scan_bytes',
+        element.serialize_bool(self.yy_scan_bytes)
+      )
+      self.set(
+        'yy_scan_string',
+        element.serialize_bool(self.yy_scan_string)
+      )
+      self.set(
+        'yyset_debug',
+        element.serialize_bool(self.yyset_debug)
+      )
+      self.set(
+        'yyset_extra',
+        element.serialize_bool(self.yyset_extra)
+      )
+      self.set(
+        'yyset_in',
+        element.serialize_bool(self.yyset_in)
+      )
+      self.set(
+        'yyset_lineno',
+        element.serialize_bool(self.yyset_lineno)
+      )
+      self.set(
+        'yyset_lloc',
+        element.serialize_bool(self.yyset_lloc)
+      )
+      self.set(
+        'yyset_lval',
+        element.serialize_bool(self.yyset_lval)
+      )
+      self.set(
+        'yyset_out',
+        element.serialize_bool(self.yyset_out)
+      )
+      self.set(
+        'yy_top_state',
+        element.serialize_bool(self.yy_top_state)
+      )
+      self.set(
+        'yywrap',
+        element.serialize_bool(self.yywrap)
+      )
     def deserialize(self, ref_list):
       AST.Section1Or2.deserialize(self, ref_list)
       self.align = element.deserialize_bool(self.get('align', 'false'))
@@ -3065,284 +2937,6 @@ class AST(element.Element):
       result.yy_top_state = self.yy_top_state
       result.yywrap = self.yywrap
       return result
-    def repr_serialize(self, params):
-      AST.Section1Or2.repr_serialize(self, params)
-      if self.align != False:
-        params.append(
-          'align = {0:s}'.format(repr(self.align))
-        )
-      if self.always_interactive != False:
-        params.append(
-          'always_interactive = {0:s}'.format(repr(self.always_interactive))
-        )
-      if self.array != False:
-        params.append(
-          'array = {0:s}'.format(repr(self.array))
-        )
-      if self.backup != False:
-        params.append(
-          'backup = {0:s}'.format(repr(self.backup))
-        )
-      if self.bison_bridge != False:
-        params.append(
-          'bison_bridge = {0:s}'.format(repr(self.bison_bridge))
-        )
-      if self.bison_locations != False:
-        params.append(
-          'bison_locations = {0:s}'.format(repr(self.bison_locations))
-        )
-      if self.caseless != False:
-        params.append(
-          'caseless = {0:s}'.format(repr(self.caseless))
-        )
-      if self.c_plus_plus != False:
-        params.append(
-          'c_plus_plus = {0:s}'.format(repr(self.c_plus_plus))
-        )
-      if self.debug != False:
-        params.append(
-          'debug = {0:s}'.format(repr(self.debug))
-        )
-      if self.default != False:
-        params.append(
-          'default = {0:s}'.format(repr(self.default))
-        )
-      if self.ecs != False:
-        params.append(
-          'ecs = {0:s}'.format(repr(self.ecs))
-        )
-      if self.extra_type != '':
-        params.append(
-          'extra_type = {0:s}'.format(repr(self.extra_type))
-        )
-      if self.fast != False:
-        params.append(
-          'fast = {0:s}'.format(repr(self.fast))
-        )
-      if self.full != False:
-        params.append(
-          'full = {0:s}'.format(repr(self.full))
-        )
-      if self.header_file != '':
-        params.append(
-          'header_file = {0:s}'.format(repr(self.header_file))
-        )
-      if self.input != False:
-        params.append(
-          'input = {0:s}'.format(repr(self.input))
-        )
-      if self.interactive != False:
-        params.append(
-          'interactive = {0:s}'.format(repr(self.interactive))
-        )
-      if self.lex_compat != False:
-        params.append(
-          'lex_compat = {0:s}'.format(repr(self.lex_compat))
-        )
-      if self.line != False:
-        params.append(
-          'line = {0:s}'.format(repr(self.line))
-        )
-      if self.main != False:
-        params.append(
-          'main = {0:s}'.format(repr(self.main))
-        )
-      if self.meta_ecs != False:
-        params.append(
-          'meta_ecs = {0:s}'.format(repr(self.meta_ecs))
-        )
-      if self.never_interactive != False:
-        params.append(
-          'never_interactive = {0:s}'.format(repr(self.never_interactive))
-        )
-      if self.outfile != '':
-        params.append(
-          'outfile = {0:s}'.format(repr(self.outfile))
-        )
-      if self.perf_report != False:
-        params.append(
-          'perf_report = {0:s}'.format(repr(self.perf_report))
-        )
-      if self.posix_compat != False:
-        params.append(
-          'posix_compat = {0:s}'.format(repr(self.posix_compat))
-        )
-      if self.prefix != '':
-        params.append(
-          'prefix = {0:s}'.format(repr(self.prefix))
-        )
-      if self.read != False:
-        params.append(
-          'read = {0:s}'.format(repr(self.read))
-        )
-      if self.reentrant != False:
-        params.append(
-          'reentrant = {0:s}'.format(repr(self.reentrant))
-        )
-      if self.reject != False:
-        params.append(
-          'reject = {0:s}'.format(repr(self.reject))
-        )
-      if self.seven_bit != False:
-        params.append(
-          'seven_bit = {0:s}'.format(repr(self.seven_bit))
-        )
-      if self.stack != False:
-        params.append(
-          'stack = {0:s}'.format(repr(self.stack))
-        )
-      if self.stdinit != False:
-        params.append(
-          'stdinit = {0:s}'.format(repr(self.stdinit))
-        )
-      if self.stdout != False:
-        params.append(
-          'stdout = {0:s}'.format(repr(self.stdout))
-        )
-      if self.tables_file != '':
-        params.append(
-          'tables_file = {0:s}'.format(repr(self.tables_file))
-        )
-      if self.tables_verify != False:
-        params.append(
-          'tables_verify = {0:s}'.format(repr(self.tables_verify))
-        )
-      if self.unistd != False:
-        params.append(
-          'unistd = {0:s}'.format(repr(self.unistd))
-        )
-      if self.unput != False:
-        params.append(
-          'unput = {0:s}'.format(repr(self.unput))
-        )
-      if self.verbose != False:
-        params.append(
-          'verbose = {0:s}'.format(repr(self.verbose))
-        )
-      if self.warn != False:
-        params.append(
-          'warn = {0:s}'.format(repr(self.warn))
-        )
-      if self.yyalloc != False:
-        params.append(
-          'yyalloc = {0:s}'.format(repr(self.yyalloc))
-        )
-      if self.yyclass != '':
-        params.append(
-          'yyclass = {0:s}'.format(repr(self.yyclass))
-        )
-      if self.yyfree != False:
-        params.append(
-          'yyfree = {0:s}'.format(repr(self.yyfree))
-        )
-      if self.yyget_debug != False:
-        params.append(
-          'yyget_debug = {0:s}'.format(repr(self.yyget_debug))
-        )
-      if self.yyget_extra != False:
-        params.append(
-          'yyget_extra = {0:s}'.format(repr(self.yyget_extra))
-        )
-      if self.yyget_in != False:
-        params.append(
-          'yyget_in = {0:s}'.format(repr(self.yyget_in))
-        )
-      if self.yyget_leng != False:
-        params.append(
-          'yyget_leng = {0:s}'.format(repr(self.yyget_leng))
-        )
-      if self.yyget_lineno != False:
-        params.append(
-          'yyget_lineno = {0:s}'.format(repr(self.yyget_lineno))
-        )
-      if self.yyget_lloc != False:
-        params.append(
-          'yyget_lloc = {0:s}'.format(repr(self.yyget_lloc))
-        )
-      if self.yyget_lval != False:
-        params.append(
-          'yyget_lval = {0:s}'.format(repr(self.yyget_lval))
-        )
-      if self.yyget_out != False:
-        params.append(
-          'yyget_out = {0:s}'.format(repr(self.yyget_out))
-        )
-      if self.yyget_text != False:
-        params.append(
-          'yyget_text = {0:s}'.format(repr(self.yyget_text))
-        )
-      if self.yylineno != False:
-        params.append(
-          'yylineno = {0:s}'.format(repr(self.yylineno))
-        )
-      if self.yymore != False:
-        params.append(
-          'yymore = {0:s}'.format(repr(self.yymore))
-        )
-      if self.yy_pop_state != False:
-        params.append(
-          'yy_pop_state = {0:s}'.format(repr(self.yy_pop_state))
-        )
-      if self.yy_push_state != False:
-        params.append(
-          'yy_push_state = {0:s}'.format(repr(self.yy_push_state))
-        )
-      if self.yyrealloc != False:
-        params.append(
-          'yyrealloc = {0:s}'.format(repr(self.yyrealloc))
-        )
-      if self.yy_scan_buffer != False:
-        params.append(
-          'yy_scan_buffer = {0:s}'.format(repr(self.yy_scan_buffer))
-        )
-      if self.yy_scan_bytes != False:
-        params.append(
-          'yy_scan_bytes = {0:s}'.format(repr(self.yy_scan_bytes))
-        )
-      if self.yy_scan_string != False:
-        params.append(
-          'yy_scan_string = {0:s}'.format(repr(self.yy_scan_string))
-        )
-      if self.yyset_debug != False:
-        params.append(
-          'yyset_debug = {0:s}'.format(repr(self.yyset_debug))
-        )
-      if self.yyset_extra != False:
-        params.append(
-          'yyset_extra = {0:s}'.format(repr(self.yyset_extra))
-        )
-      if self.yyset_in != False:
-        params.append(
-          'yyset_in = {0:s}'.format(repr(self.yyset_in))
-        )
-      if self.yyset_lineno != False:
-        params.append(
-          'yyset_lineno = {0:s}'.format(repr(self.yyset_lineno))
-        )
-      if self.yyset_lloc != False:
-        params.append(
-          'yyset_lloc = {0:s}'.format(repr(self.yyset_lloc))
-        )
-      if self.yyset_lval != False:
-        params.append(
-          'yyset_lval = {0:s}'.format(repr(self.yyset_lval))
-        )
-      if self.yyset_out != False:
-        params.append(
-          'yyset_out = {0:s}'.format(repr(self.yyset_out))
-        )
-      if self.yy_top_state != False:
-        params.append(
-          'yy_top_state = {0:s}'.format(repr(self.yy_top_state))
-        )
-      if self.yywrap != False:
-        params.append(
-          'yywrap = {0:s}'.format(repr(self.yywrap))
-        )
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Section1({0:s})'.format(', '.join(params))
     # GENERATE END
     def post_process(
       self,
@@ -3586,10 +3180,6 @@ class AST(element.Element):
           CompoundRule if factory is None else factory
         )
         return result
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section2.CompoundRule({0:s})'.format(', '.join(params))
       # GENERATE END
       def post_process(
         self,
@@ -3643,7 +3233,10 @@ class AST(element.Element):
           self.continued = continued
         def serialize(self, ref_list):
           element.Element.serialize(self, ref_list)
-          self.set('continued', element.serialize_bool(self.continued))
+          self.set(
+            'continued',
+            element.serialize_bool(self.continued)
+          )
         def deserialize(self, ref_list):
           element.Element.deserialize(self, ref_list)
           self.continued = element.deserialize_bool(self.get('continued', 'false'))
@@ -3654,16 +3247,6 @@ class AST(element.Element):
           )
           result.continued = self.continued
           return result
-        def repr_serialize(self, params):
-          element.Element.repr_serialize(self, params)
-          if self.continued != False:
-            params.append(
-              'continued = {0:s}'.format(repr(self.continued))
-            )
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section2.Rule.Action({0:s})'.format(', '.join(params))
         # GENERATE END
 
       class EOFRule(element.Element):
@@ -3688,10 +3271,6 @@ class AST(element.Element):
             EOFRule if factory is None else factory
           )
           return result
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section2.Rule.EOFRule({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(
           self,
@@ -3750,17 +3329,36 @@ class AST(element.Element):
           self.action = action
         def serialize(self, ref_list):
           element.Element.serialize(self, ref_list)
-          self.set('bol', element.serialize_bool(self.bol))
-          self.set('group_index', element.serialize_int(self.group_index))
+          self.set(
+            'bol',
+            element.serialize_bool(self.bol)
+          )
+          self.set(
+            'group_index',
+            element.serialize_int(self.group_index)
+          )
           self.set(
             'groups0',
-            ' '.join([element.serialize_ref(i, ref_list) for i in self.groups0])
+            ' '.join(
+              [
+                element.serialize_ref(i, ref_list)
+                for i in self.groups0
+              ]
+            )
           )
           self.set(
             'groups1',
-            ' '.join([element.serialize_ref(i, ref_list) for i in self.groups1])
+            ' '.join(
+              [
+                element.serialize_ref(i, ref_list)
+                for i in self.groups1
+              ]
+            )
+          )
+          self.set(
+            'action',
+            element.serialize_int(self.action)
           )
-          self.set('action', element.serialize_int(self.action))
         def deserialize(self, ref_list):
           element.Element.deserialize(self, ref_list)
           self.bol = element.deserialize_bool(self.get('bol', 'false'))
@@ -3785,36 +3383,6 @@ class AST(element.Element):
           result.groups1 = self.groups1
           result.action = self.action
           return result
-        def repr_serialize(self, params):
-          element.Element.repr_serialize(self, params)
-          if self.bol != False:
-            params.append(
-              'bol = {0:s}'.format(repr(self.bol))
-            )
-          if self.group_index != -1:
-            params.append(
-              'group_index = {0:s}'.format(repr(self.group_index))
-            )
-          if len(self.groups0):
-            params.append(
-              'groups0 = [{0:s}]'.format(
-                ', '.join([repr(i) for i in self.groups0])
-              )
-            )
-          if len(self.groups1):
-            params.append(
-              'groups1 = [{0:s}]'.format(
-                ', '.join([repr(i) for i in self.groups1])
-              )
-            )
-          if self.action != -1:
-            params.append(
-              'action = {0:s}'.format(repr(self.action))
-            )
-        def __repr__(self):
-          params = []
-          self.repr_serialize(params)
-          return 'ast.AST.Section2.Rule.FLexRule({0:s})'.format(', '.join(params))
         # GENERATE END
         def post_process(
           self,
@@ -3896,10 +3464,6 @@ class AST(element.Element):
           Rule if factory is None else factory
         )
         return result
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section2.Rule({0:s})'.format(', '.join(params))
       # GENERATE END
       def post_process(
         self,
@@ -3951,7 +3515,10 @@ class AST(element.Element):
         self.wildcard = wildcard
       def serialize(self, ref_list):
         element.Element.serialize(self, ref_list)
-        self.set('wildcard', element.serialize_bool(self.wildcard))
+        self.set(
+          'wildcard',
+          element.serialize_bool(self.wildcard)
+        )
       def deserialize(self, ref_list):
         element.Element.deserialize(self, ref_list)
         self.wildcard = element.deserialize_bool(self.get('wildcard', 'false'))
@@ -3962,16 +3529,6 @@ class AST(element.Element):
         )
         result.wildcard = self.wildcard
         return result
-      def repr_serialize(self, params):
-        element.Element.repr_serialize(self, params)
-        if self.wildcard != False:
-          params.append(
-            'wildcard = {0:s}'.format(repr(self.wildcard))
-          )
-      def __repr__(self):
-        params = []
-        self.repr_serialize(params)
-        return 'ast.AST.Section2.StartConditions({0:s})'.format(', '.join(params))
       # GENERATE END
 
     # GENERATE ELEMENT() BEGIN
@@ -3997,10 +3554,6 @@ class AST(element.Element):
         Section2 if factory is None else factory
       )
       return result
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Section2({0:s})'.format(', '.join(params))
     # GENERATE END
 
   class Section3(Text):
@@ -4025,10 +3578,6 @@ class AST(element.Element):
         Section3 if factory is None else factory
       )
       return result
-    def __repr__(self):
-      params = []
-      self.repr_serialize(params)
-      return 'ast.AST.Section3({0:s})'.format(', '.join(params))
     # GENERATE END
 
   # GENERATE ELEMENT(list(ref) start_conditions, list(ref) actions_text, list(ref) eof_actions_text, int default_action, list(ref) flex_rules, int n_groups) BEGIN
@@ -4062,22 +3611,48 @@ class AST(element.Element):
     element.Element.serialize(self, ref_list)
     self.set(
       'start_conditions',
-      ' '.join([element.serialize_ref(i, ref_list) for i in self.start_conditions])
+      ' '.join(
+        [
+          element.serialize_ref(i, ref_list)
+          for i in self.start_conditions
+        ]
+      )
     )
     self.set(
       'actions_text',
-      ' '.join([element.serialize_ref(i, ref_list) for i in self.actions_text])
+      ' '.join(
+        [
+          element.serialize_ref(i, ref_list)
+          for i in self.actions_text
+        ]
+      )
     )
     self.set(
       'eof_actions_text',
-      ' '.join([element.serialize_ref(i, ref_list) for i in self.eof_actions_text])
+      ' '.join(
+        [
+          element.serialize_ref(i, ref_list)
+          for i in self.eof_actions_text
+        ]
+      )
+    )
+    self.set(
+      'default_action',
+      element.serialize_int(self.default_action)
     )
-    self.set('default_action', element.serialize_int(self.default_action))
     self.set(
       'flex_rules',
-      ' '.join([element.serialize_ref(i, ref_list) for i in self.flex_rules])
+      ' '.join(
+        [
+          element.serialize_ref(i, ref_list)
+          for i in self.flex_rules
+        ]
+      )
+    )
+    self.set(
+      'n_groups',
+      element.serialize_int(self.n_groups)
     )
-    self.set('n_groups', element.serialize_int(self.n_groups))
   def deserialize(self, ref_list):
     element.Element.deserialize(self, ref_list)
     self.start_conditions = [
@@ -4110,44 +3685,6 @@ class AST(element.Element):
     result.flex_rules = self.flex_rules
     result.n_groups = self.n_groups
     return result
-  def repr_serialize(self, params):
-    element.Element.repr_serialize(self, params)
-    if len(self.start_conditions):
-      params.append(
-        'start_conditions = [{0:s}]'.format(
-          ', '.join([repr(i) for i in self.start_conditions])
-        )
-      )
-    if len(self.actions_text):
-      params.append(
-        'actions_text = [{0:s}]'.format(
-          ', '.join([repr(i) for i in self.actions_text])
-        )
-      )
-    if len(self.eof_actions_text):
-      params.append(
-        'eof_actions_text = [{0:s}]'.format(
-          ', '.join([repr(i) for i in self.eof_actions_text])
-        )
-      )
-    if self.default_action != -1:
-      params.append(
-        'default_action = {0:s}'.format(repr(self.default_action))
-      )
-    if len(self.flex_rules):
-      params.append(
-        'flex_rules = [{0:s}]'.format(
-          ', '.join([repr(i) for i in self.flex_rules])
-        )
-      )
-    if self.n_groups != -1:
-      params.append(
-        'n_groups = {0:s}'.format(repr(self.n_groups))
-      )
-  def __repr__(self):
-    params = []
-    self.repr_serialize(params)
-    return 'ast.AST({0:s})'.format(', '.join(params))
   # GENERATE END
 
   def post_process(self):
index 2d02217..367a9b7 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 Nick Downing <nick@ndcode.org>
+# Copyright (C) 2019 Nick Downing <nick@ndcode.org>
 # SPDX-License-Identifier: GPL-2.0-only
 #
 # This program is free software; you can redistribute it and/or modify it under
@@ -40,17 +40,6 @@ class Element(xml.etree.ElementTree._Element_Py):
     result.tail = self.tail
     result[:] = [i.copy() for i in self]
     return result
-  def repr_serialize(self, params):
-    if len(self):
-      params.append(
-        'children = [{0:s}]'.format(
-          ', '.join([repr(i) for i in self])
-        )
-      )
-  def __repr__(self):
-    params = []
-    self.repr_serialize(params)
-    return 'element.Element({0:s})'.format(', '.join(params))
 
 bool_to_str = ['false', 'true']
 def serialize_bool(value):
index 0e3155f..f65d4f3 100755 (executable)
@@ -163,7 +163,11 @@ while len(line):
         sys.stdout.write(
           '''{0:s}def serialize(self, ref_list):
 {1:s}  {2:s}.serialize(self, ref_list)
-'''.format(indent, indent, full_base_class)
+'''.format(
+            indent,
+            indent,
+            full_base_class
+          )
         )
         for type, name in fields:
           if type[:5] == 'list(' and type[-1:] == ')':
@@ -171,16 +175,26 @@ while len(line):
             sys.stdout.write(
               '''{0:s}  self.set(
 {1:s}    '{2:s}',
-{3:s}    ' '.join([element.serialize_{4:s}(i{5:s}) for i in self.{6:s}])
-{7:s}  )
+{3:s}    ' '.join(
+{4:s}      [
+{5:s}        element.serialize_{6:s}(i{7:s})
+{8:s}        for i in self.{9:s}
+{10:s}      ]
+{11:s}    )
+{12:s}  )
 '''.format(
                 indent,
                 indent,
                 name,
                 indent,
+                indent,
+                indent,
                 subtype,
                 ', ref_list' if subtype == 'ref' else '',
+                indent,
                 name,
+                indent,
+                indent,
                 indent
               )
             )
@@ -189,34 +203,54 @@ while len(line):
             sys.stdout.write(
               '''{0:s}  self.set(
 {1:s}    '{2:s}',
-{3:s}    ' '.join([element.serialize_{4:s}(i{5:s}) for i in sorted(self.{6:s})])
-{7:s}  )
+{3:s}    ' '.join(
+{4:s}      [
+{5:s}        element.serialize_{6:s}(i{7:s})
+{8:s}        for i in sorted(self.{9:s})
+{10:s}      ]
+{11:s}    )
+{12:s}  )
 '''.format(
                 indent,
                 indent,
                 name,
                 indent,
+                indent,
+                indent,
                 subtype,
                 ', ref_list' if subtype == 'ref' else '',
+                indent,
                 name,
+                indent,
+                indent,
                 indent
               )
             )
           else:
             sys.stdout.write(
-              '''{0:s}  self.set('{1:s}', element.serialize_{2:s}(self.{3:s}{4:s}))
+              '''{0:s}  self.set(
+{1:s}    '{2:s}',
+{3:s}    element.serialize_{4:s}(self.{5:s}{6:s})
+{7:s}  )
 '''.format(
+                indent,
                 indent,
                 name,
+                indent,
                 type,
                 name,
-                ', ref_list' if type == 'ref' else ''
+                ', ref_list' if type == 'ref' else '',
+                indent
               )
             )
         sys.stdout.write(
           '''{0:s}def deserialize(self, ref_list):
 {1:s}  {2:s}.deserialize(self, ref_list)
-'''.format(indent, indent, full_base_class)
+'''.format(
+            indent,
+            indent,
+            full_base_class
+          )
         )
         for type, name in fields:
           if type[:5] == 'list(' and type[-1:] == ')':
@@ -299,89 +333,9 @@ while len(line):
           indent
         )
       )
-      if len(fields):
-        sys.stdout.write(
-          '''{0:s}def repr_serialize(self, params):
-{1:s}  {2:s}.repr_serialize(self, params)
-'''.format(
-            indent,
-            indent,
-            full_base_class
-          )
-        )
-        for type, name in fields:
-          if type[:5] == 'list(' and type[-1:] == ')':
-            subtype = type[5:-1]
-            sys.stdout.write(
-              '''{0:s}  if len(self.{1:s}):
-{2:s}    params.append(
-{3:s}      '{4:s} = [{{0:s}}]'.format(
-{5:s}        ', '.join([repr(i) for i in self.{6:s}])
-{7:s}      )
-{8:s}    )
-'''.format(
-                indent,
-                name,
-                indent,
-                indent,
-                name,
-                indent,
-                name,
-                indent,
-                indent
-              )
-            )
-          elif type[:4] == 'set(' and type[-1:] == ')':
-            subtype = type[4:-1]
-            sys.stdout.write(
-              '''{0:s}  if len(self.{1:s}):
-{2:s}    params.append(
-{3:s}      '{4:s} = set([{{0:s}}])'.format(
-{5:s}        ', '.join([repr(i) for i in sorted(self.{6:s})])
-{7:s}      )
-{8:s}    )
-'''.format(
-                indent,
-                name,
-                indent,
-                indent,
-                name,
-                indent,
-                name,
-                indent,
-                indent
-              )
-            )
-          else:
-            sys.stdout.write(
-              '''{0:s}  if self.{1:s} != {2:s}:
-{3:s}    params.append(
-{4:s}      '{5:s} = {{0:s}}'.format(repr(self.{6:s}))
-{7:s}    )
-'''.format(
-                indent,
-                name,
-                default_value[type],
-                indent,
-                indent,
-                name,
-                name,
-                indent
-              )
-            )
       sys.stdout.write(
-        '''{0:s}def __repr__(self):
-{1:s}  params = []
-{2:s}  self.repr_serialize(params)
-{3:s}  return '{4:s}{5:s}({{0:s}})'.format(', '.join(params))
-{6:s}# GENERATE END
+        '''{0:s}# GENERATE END
 '''.format(
-          indent,
-          indent,
-          indent,
-          indent,
-          package_name,
-          '.'.join([i for _, i, _, _ in stack]),
           indent
         )
       )