ECC: fix the mis-report of function return type position.
authorjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 22 May 2008 04:40:17 +0000 (04:40 +0000)
committerjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 22 May 2008 04:40:17 +0000 (04:40 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1240 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Ecc/C.g
Source/Python/Ecc/CLexer.py
Source/Python/Ecc/CParser.py
Source/Python/Ecc/CodeFragment.py
Source/Python/Ecc/c.py

index 0276051..4825b8a 100644 (file)
@@ -123,7 +123,7 @@ declaration
        | s=declaration_specifiers t=init_declarator_list? e=';' \r
        {\r
        if t != None:\r
-         self.StoreVariableDeclaration($s.start.line, $s.start.charPositionInLine, $e.line, $e.charPositionInLine, $s.text, $t.text)\r
+         self.StoreVariableDeclaration($s.start.line, $s.start.charPositionInLine, $t.start.line, $t.start.charPositionInLine, $s.text, $t.text)\r
        }\r
        ;\r
 \r
@@ -318,7 +318,7 @@ initializer_list
 // E x p r e s s i o n s\r
 \r
 argument_expression_list\r
-       :   assignment_expression (',' assignment_expression)*\r
+       :   assignment_expression ('OPTIONAL')? (',' assignment_expression ('OPTIONAL')?)*\r
        ;\r
 \r
 additive_expression\r
index 2f7c63f..688a3b9 100644 (file)
@@ -1,4 +1,4 @@
-# $ANTLR 3.0.1 C.g 2008-04-10 16:47:13
+# $ANTLR 3.0.1 C.g 2008-05-21 14:36:29
 
 from antlr3 import *
 from antlr3.compat import set, frozenset
index e6a9b78..bc4969c 100644 (file)
@@ -1,4 +1,4 @@
-# $ANTLR 3.0.1 C.g 2008-04-10 16:47:12
+# $ANTLR 3.0.1 C.g 2008-05-21 14:36:28
 
 from antlr3 import *
 from antlr3.compat import set, frozenset
@@ -946,7 +946,7 @@ class CParser(Parser):
                     if self.backtracking == 0:
                           \r
                         if t != None:\r
-                          self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, e.line, e.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))\r
+                          self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))\r
                                
 
 
@@ -1784,29 +1784,29 @@ class CParser(Parser):
 
                     elif LA17 == IDENTIFIER:
                         LA17 = self.input.LA(2)
-                        if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 62 or LA17 == 65:
-                            alt17 = 2
-                        elif LA17 == 61:
-                            LA17_94 = self.input.LA(3)
+                        if LA17 == 63:
+                            LA17_89 = self.input.LA(3)
 
                             if (self.synpred40()) :
                                 alt17 = 2
 
 
-                        elif LA17 == 47:
-                            LA17_95 = self.input.LA(3)
+                        elif LA17 == 61:
+                            LA17_90 = self.input.LA(3)
 
                             if (self.synpred40()) :
                                 alt17 = 2
 
 
-                        elif LA17 == 63:
-                            LA17_96 = self.input.LA(3)
+                        elif LA17 == 47:
+                            LA17_91 = self.input.LA(3)
 
                             if (self.synpred40()) :
                                 alt17 = 2
 
 
+                        elif LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 62 or LA17 == 65:
+                            alt17 = 2
 
                     elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57:
                         alt17 = 1
@@ -2030,24 +2030,24 @@ class CParser(Parser):
                 if (LA23_0 == 48) :
                     LA23_1 = self.input.LA(2)
 
-                    if (LA23_1 == IDENTIFIER) :
-                        LA23_2 = self.input.LA(3)
+                    if (LA23_1 == 43) :
+                        alt23 = 1
+                    elif (LA23_1 == IDENTIFIER) :
+                        LA23_3 = self.input.LA(3)
 
-                        if (LA23_2 == 43) :
+                        if (LA23_3 == 43) :
                             alt23 = 2
-                        elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 63) or LA23_2 == 65) :
+                        elif (LA23_3 == EOF or LA23_3 == IDENTIFIER or LA23_3 == 25 or LA23_3 == 27 or (29 <= LA23_3 <= 42) or (45 <= LA23_3 <= 63) or LA23_3 == 65) :
                             alt23 = 3
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return retval
 
-                            nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
+                            nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 3, self.input)
 
                             raise nvae
 
-                    elif (LA23_1 == 43) :
-                        alt23 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
@@ -3224,11 +3224,11 @@ class CParser(Parser):
 
                 if (LA38_0 == 65) :
                     LA38 = self.input.LA(2)
-                    if LA38 == 58:
+                    if LA38 == 65:
                         LA38_2 = self.input.LA(3)
 
-                        if (self.synpred76()) :
-                            alt38 = 1
+                        if (self.synpred77()) :
+                            alt38 = 2
                         elif (True) :
                             alt38 = 3
                         else:
@@ -3240,7 +3240,7 @@ class CParser(Parser):
 
                             raise nvae
 
-                    elif LA38 == 59:
+                    elif LA38 == 58:
                         LA38_3 = self.input.LA(3)
 
                         if (self.synpred76()) :
@@ -3256,7 +3256,7 @@ class CParser(Parser):
 
                             raise nvae
 
-                    elif LA38 == 60:
+                    elif LA38 == 59:
                         LA38_4 = self.input.LA(3)
 
                         if (self.synpred76()) :
@@ -3272,10 +3272,8 @@ class CParser(Parser):
 
                             raise nvae
 
-                    elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 61 or LA38 == 62 or LA38 == 63:
-                        alt38 = 3
-                    elif LA38 == 53:
-                        LA38_20 = self.input.LA(3)
+                    elif LA38 == 60:
+                        LA38_5 = self.input.LA(3)
 
                         if (self.synpred76()) :
                             alt38 = 1
@@ -3286,12 +3284,14 @@ class CParser(Parser):
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 20, self.input)
+                            nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
 
                             raise nvae
 
-                    elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57:
-                        LA38_28 = self.input.LA(3)
+                    elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 61 or LA38 == 62 or LA38 == 63:
+                        alt38 = 3
+                    elif LA38 == 53:
+                        LA38_21 = self.input.LA(3)
 
                         if (self.synpred76()) :
                             alt38 = 1
@@ -3302,15 +3302,15 @@ class CParser(Parser):
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 28, self.input)
+                            nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
 
                             raise nvae
 
-                    elif LA38 == 65:
+                    elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57:
                         LA38_29 = self.input.LA(3)
 
-                        if (self.synpred77()) :
-                            alt38 = 2
+                        if (self.synpred76()) :
+                            alt38 = 1
                         elif (True) :
                             alt38 = 3
                         else:
@@ -4242,7 +4242,7 @@ class CParser(Parser):
                     if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 62:
                         alt52 = 2
                     elif LA52 == 65:
-                        LA52_4 = self.input.LA(3)
+                        LA52_18 = self.input.LA(3)
 
                         if (self.synpred92()) :
                             alt52 = 1
@@ -4253,7 +4253,7 @@ class CParser(Parser):
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 4, self.input)
+                            nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
 
                             raise nvae
 
@@ -4844,7 +4844,7 @@ class CParser(Parser):
 
 
     # $ANTLR start argument_expression_list
-    # C.g:320:1: argument_expression_list : assignment_expression ( ',' assignment_expression )* ;
+    # C.g:320:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
     def argument_expression_list(self, ):
 
         retval = self.argument_expression_list_return()
@@ -4855,36 +4855,64 @@ class CParser(Parser):
                 if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
                     return retval
 
-                # C.g:321:2: ( assignment_expression ( ',' assignment_expression )* )
-                # C.g:321:6: assignment_expression ( ',' assignment_expression )*
+                # C.g:321:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
+                # C.g:321:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
                 self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1181)
                 self.assignment_expression()
                 self.following.pop()
                 if self.failed:
                     return retval
-                # C.g:321:28: ( ',' assignment_expression )*
-                while True: #loop58
-                    alt58 = 2
-                    LA58_0 = self.input.LA(1)
+                # C.g:321:28: ( 'OPTIONAL' )?
+                alt58 = 2
+                LA58_0 = self.input.LA(1)
+
+                if (LA58_0 == 53) :
+                    alt58 = 1
+                if alt58 == 1:
+                    # C.g:321:29: 'OPTIONAL'
+                    self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1184)
+                    if self.failed:
+                        return retval
+
+
 
-                    if (LA58_0 == 27) :
-                        alt58 = 1
+                # C.g:321:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
+                while True: #loop60
+                    alt60 = 2
+                    LA60_0 = self.input.LA(1)
+
+                    if (LA60_0 == 27) :
+                        alt60 = 1
 
 
-                    if alt58 == 1:
-                        # C.g:321:29: ',' assignment_expression
-                        self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1184)
+                    if alt60 == 1:
+                        # C.g:321:43: ',' assignment_expression ( 'OPTIONAL' )?
+                        self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1189)
                         if self.failed:
                             return retval
-                        self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1186)
+                        self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1191)
                         self.assignment_expression()
                         self.following.pop()
                         if self.failed:
                             return retval
+                        # C.g:321:69: ( 'OPTIONAL' )?
+                        alt59 = 2
+                        LA59_0 = self.input.LA(1)
+
+                        if (LA59_0 == 53) :
+                            alt59 = 1
+                        if alt59 == 1:
+                            # C.g:321:70: 'OPTIONAL'
+                            self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1194)
+                            if self.failed:
+                                return retval
+
+
+
 
 
                     else:
-                        break #loop58
+                        break #loop60
 
 
 
@@ -4921,7 +4949,7 @@ class CParser(Parser):
                 # C.g:325:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
                 # C.g:325:4: ( multiplicative_expression )
                 # C.g:325:5: multiplicative_expression
-                self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1200)
+                self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1210)
                 self.multiplicative_expression()
                 self.following.pop()
                 if self.failed:
@@ -4930,34 +4958,34 @@ class CParser(Parser):
 
 
                 # C.g:325:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
-                while True: #loop59
-                    alt59 = 3
-                    LA59_0 = self.input.LA(1)
+                while True: #loop61
+                    alt61 = 3
+                    LA61_0 = self.input.LA(1)
 
-                    if (LA59_0 == 67) :
-                        alt59 = 1
-                    elif (LA59_0 == 68) :
-                        alt59 = 2
+                    if (LA61_0 == 67) :
+                        alt61 = 1
+                    elif (LA61_0 == 68) :
+                        alt61 = 2
 
 
-                    if alt59 == 1:
+                    if alt61 == 1:
                         # C.g:325:33: '+' multiplicative_expression
-                        self.match(self.input, 67, self.FOLLOW_67_in_additive_expression1204)
+                        self.match(self.input, 67, self.FOLLOW_67_in_additive_expression1214)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1206)
+                        self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1216)
                         self.multiplicative_expression()
                         self.following.pop()
                         if self.failed:
                             return 
 
 
-                    elif alt59 == 2:
+                    elif alt61 == 2:
                         # C.g:325:65: '-' multiplicative_expression
-                        self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1210)
+                        self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1220)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1212)
+                        self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1222)
                         self.multiplicative_expression()
                         self.following.pop()
                         if self.failed:
@@ -4965,7 +4993,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop59
+                        break #loop61
 
 
 
@@ -5000,7 +5028,7 @@ class CParser(Parser):
                 # C.g:329:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
                 # C.g:329:4: ( cast_expression )
                 # C.g:329:5: cast_expression
-                self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1226)
+                self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1236)
                 self.cast_expression()
                 self.following.pop()
                 if self.failed:
@@ -5009,46 +5037,46 @@ class CParser(Parser):
 
 
                 # C.g:329:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
-                while True: #loop60
-                    alt60 = 4
-                    LA60 = self.input.LA(1)
-                    if LA60 == 65:
-                        alt60 = 1
-                    elif LA60 == 69:
-                        alt60 = 2
-                    elif LA60 == 70:
-                        alt60 = 3
-
-                    if alt60 == 1:
+                while True: #loop62
+                    alt62 = 4
+                    LA62 = self.input.LA(1)
+                    if LA62 == 65:
+                        alt62 = 1
+                    elif LA62 == 69:
+                        alt62 = 2
+                    elif LA62 == 70:
+                        alt62 = 3
+
+                    if alt62 == 1:
                         # C.g:329:23: '*' cast_expression
-                        self.match(self.input, 65, self.FOLLOW_65_in_multiplicative_expression1230)
+                        self.match(self.input, 65, self.FOLLOW_65_in_multiplicative_expression1240)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1232)
+                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1242)
                         self.cast_expression()
                         self.following.pop()
                         if self.failed:
                             return 
 
 
-                    elif alt60 == 2:
+                    elif alt62 == 2:
                         # C.g:329:45: '/' cast_expression
-                        self.match(self.input, 69, self.FOLLOW_69_in_multiplicative_expression1236)
+                        self.match(self.input, 69, self.FOLLOW_69_in_multiplicative_expression1246)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1238)
+                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1248)
                         self.cast_expression()
                         self.following.pop()
                         if self.failed:
                             return 
 
 
-                    elif alt60 == 3:
+                    elif alt62 == 3:
                         # C.g:329:67: '%' cast_expression
-                        self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1242)
+                        self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1252)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1244)
+                        self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1254)
                         self.cast_expression()
                         self.following.pop()
                         if self.failed:
@@ -5056,7 +5084,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop60
+                        break #loop62
 
 
 
@@ -5088,74 +5116,74 @@ class CParser(Parser):
                     return 
 
                 # C.g:333:2: ( '(' type_name ')' cast_expression | unary_expression )
-                alt61 = 2
-                LA61_0 = self.input.LA(1)
+                alt63 = 2
+                LA63_0 = self.input.LA(1)
 
-                if (LA61_0 == 61) :
-                    LA61 = self.input.LA(2)
-                    if LA61 == 34 or LA61 == 35 or LA61 == 36 or LA61 == 37 or LA61 == 38 or LA61 == 39 or LA61 == 40 or LA61 == 41 or LA61 == 42 or LA61 == 45 or LA61 == 46 or LA61 == 48 or LA61 == 49 or LA61 == 50 or LA61 == 51 or LA61 == 52 or LA61 == 53 or LA61 == 54 or LA61 == 55 or LA61 == 56 or LA61 == 57 or LA61 == 58 or LA61 == 59 or LA61 == 60:
-                        alt61 = 1
-                    elif LA61 == IDENTIFIER:
-                        LA61_25 = self.input.LA(3)
+                if (LA63_0 == 61) :
+                    LA63 = self.input.LA(2)
+                    if LA63 == IDENTIFIER:
+                        LA63_13 = self.input.LA(3)
 
-                        if (self.synpred106()) :
-                            alt61 = 1
+                        if (self.synpred108()) :
+                            alt63 = 1
                         elif (True) :
-                            alt61 = 2
+                            alt63 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 61, 25, self.input)
+                            nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 13, self.input)
 
                             raise nvae
 
-                    elif LA61 == HEX_LITERAL or LA61 == OCTAL_LITERAL or LA61 == DECIMAL_LITERAL or LA61 == CHARACTER_LITERAL or LA61 == STRING_LITERAL or LA61 == FLOATING_POINT_LITERAL or LA61 == 61 or LA61 == 65 or LA61 == 67 or LA61 == 68 or LA61 == 71 or LA61 == 72 or LA61 == 73 or LA61 == 76 or LA61 == 77 or LA61 == 78:
-                        alt61 = 2
+                    elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 61 or LA63 == 65 or LA63 == 67 or LA63 == 68 or LA63 == 71 or LA63 == 72 or LA63 == 73 or LA63 == 76 or LA63 == 77 or LA63 == 78:
+                        alt63 = 2
+                    elif LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60:
+                        alt63 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 61, 1, self.input)
+                        nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
 
                         raise nvae
 
-                elif ((IDENTIFIER <= LA61_0 <= FLOATING_POINT_LITERAL) or LA61_0 == 65 or (67 <= LA61_0 <= 68) or (71 <= LA61_0 <= 73) or (76 <= LA61_0 <= 78)) :
-                    alt61 = 2
+                elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 65 or (67 <= LA63_0 <= 68) or (71 <= LA63_0 <= 73) or (76 <= LA63_0 <= 78)) :
+                    alt63 = 2
                 else:
                     if self.backtracking > 0:
                         self.failed = True
                         return 
 
-                    nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 61, 0, self.input)
+                    nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
 
                     raise nvae
 
-                if alt61 == 1:
+                if alt63 == 1:
                     # C.g:333:4: '(' type_name ')' cast_expression
-                    self.match(self.input, 61, self.FOLLOW_61_in_cast_expression1257)
+                    self.match(self.input, 61, self.FOLLOW_61_in_cast_expression1267)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_type_name_in_cast_expression1259)
+                    self.following.append(self.FOLLOW_type_name_in_cast_expression1269)
                     self.type_name()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1261)
+                    self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1271)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_cast_expression_in_cast_expression1263)
+                    self.following.append(self.FOLLOW_cast_expression_in_cast_expression1273)
                     self.cast_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt61 == 2:
+                elif alt63 == 2:
                     # C.g:334:4: unary_expression
-                    self.following.append(self.FOLLOW_unary_expression_in_cast_expression1268)
+                    self.following.append(self.FOLLOW_unary_expression_in_cast_expression1278)
                     self.unary_expression()
                     self.following.pop()
                     if self.failed:
@@ -5188,43 +5216,43 @@ class CParser(Parser):
                     return 
 
                 # C.g:338:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
-                alt62 = 6
-                LA62 = self.input.LA(1)
-                if LA62 == IDENTIFIER or LA62 == HEX_LITERAL or LA62 == OCTAL_LITERAL or LA62 == DECIMAL_LITERAL or LA62 == CHARACTER_LITERAL or LA62 == STRING_LITERAL or LA62 == FLOATING_POINT_LITERAL or LA62 == 61:
-                    alt62 = 1
-                elif LA62 == 71:
-                    alt62 = 2
-                elif LA62 == 72:
-                    alt62 = 3
-                elif LA62 == 65 or LA62 == 67 or LA62 == 68 or LA62 == 76 or LA62 == 77 or LA62 == 78:
-                    alt62 = 4
-                elif LA62 == 73:
-                    LA62_12 = self.input.LA(2)
-
-                    if (LA62_12 == 61) :
-                        LA62_13 = self.input.LA(3)
-
-                        if (self.synpred111()) :
-                            alt62 = 5
+                alt64 = 6
+                LA64 = self.input.LA(1)
+                if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 61:
+                    alt64 = 1
+                elif LA64 == 71:
+                    alt64 = 2
+                elif LA64 == 72:
+                    alt64 = 3
+                elif LA64 == 65 or LA64 == 67 or LA64 == 68 or LA64 == 76 or LA64 == 77 or LA64 == 78:
+                    alt64 = 4
+                elif LA64 == 73:
+                    LA64_12 = self.input.LA(2)
+
+                    if (LA64_12 == 61) :
+                        LA64_13 = self.input.LA(3)
+
+                        if (self.synpred113()) :
+                            alt64 = 5
                         elif (True) :
-                            alt62 = 6
+                            alt64 = 6
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 62, 13, self.input)
+                            nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
 
                             raise nvae
 
-                    elif ((IDENTIFIER <= LA62_12 <= FLOATING_POINT_LITERAL) or LA62_12 == 65 or (67 <= LA62_12 <= 68) or (71 <= LA62_12 <= 73) or (76 <= LA62_12 <= 78)) :
-                        alt62 = 5
+                    elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 65 or (67 <= LA64_12 <= 68) or (71 <= LA64_12 <= 73) or (76 <= LA64_12 <= 78)) :
+                        alt64 = 5
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 62, 12, self.input)
+                        nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
 
                         raise nvae
 
@@ -5233,83 +5261,83 @@ class CParser(Parser):
                         self.failed = True
                         return 
 
-                    nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 62, 0, self.input)
+                    nvae = NoViableAltException("337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
 
                     raise nvae
 
-                if alt62 == 1:
+                if alt64 == 1:
                     # C.g:338:4: postfix_expression
-                    self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1279)
+                    self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1289)
                     self.postfix_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt62 == 2:
+                elif alt64 == 2:
                     # C.g:339:4: '++' unary_expression
-                    self.match(self.input, 71, self.FOLLOW_71_in_unary_expression1284)
+                    self.match(self.input, 71, self.FOLLOW_71_in_unary_expression1294)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1286)
+                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1296)
                     self.unary_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt62 == 3:
+                elif alt64 == 3:
                     # C.g:340:4: '--' unary_expression
-                    self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1291)
+                    self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1301)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1293)
+                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1303)
                     self.unary_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt62 == 4:
+                elif alt64 == 4:
                     # C.g:341:4: unary_operator cast_expression
-                    self.following.append(self.FOLLOW_unary_operator_in_unary_expression1298)
+                    self.following.append(self.FOLLOW_unary_operator_in_unary_expression1308)
                     self.unary_operator()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_cast_expression_in_unary_expression1300)
+                    self.following.append(self.FOLLOW_cast_expression_in_unary_expression1310)
                     self.cast_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt62 == 5:
+                elif alt64 == 5:
                     # C.g:342:4: 'sizeof' unary_expression
-                    self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1305)
+                    self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1315)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1307)
+                    self.following.append(self.FOLLOW_unary_expression_in_unary_expression1317)
                     self.unary_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt62 == 6:
+                elif alt64 == 6:
                     # C.g:343:4: 'sizeof' '(' type_name ')'
-                    self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1312)
+                    self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1322)
                     if self.failed:
                         return 
-                    self.match(self.input, 61, self.FOLLOW_61_in_unary_expression1314)
+                    self.match(self.input, 61, self.FOLLOW_61_in_unary_expression1324)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_type_name_in_unary_expression1316)
+                    self.following.append(self.FOLLOW_type_name_in_unary_expression1326)
                     self.type_name()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1318)
+                    self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1328)
                     if self.failed:
                         return 
 
@@ -5354,7 +5382,7 @@ class CParser(Parser):
 
                 # C.g:353:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
                 # C.g:353:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
-                self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1342)
+                self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1352)
                 p = self.primary_expression()
                 self.following.pop()
                 if self.failed:
@@ -5363,81 +5391,81 @@ class CParser(Parser):
                     self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
 
                 # C.g:354:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
-                while True: #loop63
-                    alt63 = 10
-                    LA63 = self.input.LA(1)
-                    if LA63 == 65:
-                        LA63_1 = self.input.LA(2)
+                while True: #loop65
+                    alt65 = 10
+                    LA65 = self.input.LA(1)
+                    if LA65 == 65:
+                        LA65_1 = self.input.LA(2)
 
-                        if (LA63_1 == IDENTIFIER) :
-                            LA63_29 = self.input.LA(3)
+                        if (LA65_1 == IDENTIFIER) :
+                            LA65_30 = self.input.LA(3)
 
-                            if (self.synpred117()) :
-                                alt63 = 6
+                            if (self.synpred119()) :
+                                alt65 = 6
 
 
 
 
-                    elif LA63 == 63:
-                        alt63 = 1
-                    elif LA63 == 61:
-                        LA63 = self.input.LA(2)
-                        if LA63 == 62:
-                            alt63 = 2
-                        elif LA63 == 29 or LA63 == 30 or LA63 == 31 or LA63 == 32 or LA63 == 33 or LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60:
-                            alt63 = 4
-                        elif LA63 == IDENTIFIER:
-                            LA63_54 = self.input.LA(3)
+                    elif LA65 == 63:
+                        alt65 = 1
+                    elif LA65 == 61:
+                        LA65 = self.input.LA(2)
+                        if LA65 == 62:
+                            alt65 = 2
+                        elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60:
+                            alt65 = 4
+                        elif LA65 == IDENTIFIER:
+                            LA65_55 = self.input.LA(3)
 
-                            if (self.synpred114()) :
-                                alt63 = 3
-                            elif (self.synpred115()) :
-                                alt63 = 4
+                            if (self.synpred116()) :
+                                alt65 = 3
+                            elif (self.synpred117()) :
+                                alt65 = 4
 
 
-                        elif LA63 == 65:
-                            LA63_56 = self.input.LA(3)
+                        elif LA65 == 65:
+                            LA65_57 = self.input.LA(3)
 
-                            if (self.synpred114()) :
-                                alt63 = 3
-                            elif (self.synpred115()) :
-                                alt63 = 4
+                            if (self.synpred116()) :
+                                alt65 = 3
+                            elif (self.synpred117()) :
+                                alt65 = 4
 
 
-                        elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 61 or LA63 == 67 or LA63 == 68 or LA63 == 71 or LA63 == 72 or LA63 == 73 or LA63 == 76 or LA63 == 77 or LA63 == 78:
-                            alt63 = 3
+                        elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 61 or LA65 == 67 or LA65 == 68 or LA65 == 71 or LA65 == 72 or LA65 == 73 or LA65 == 76 or LA65 == 77 or LA65 == 78:
+                            alt65 = 3
 
-                    elif LA63 == 74:
-                        alt63 = 5
-                    elif LA63 == 75:
-                        alt63 = 7
-                    elif LA63 == 71:
-                        alt63 = 8
-                    elif LA63 == 72:
-                        alt63 = 9
+                    elif LA65 == 74:
+                        alt65 = 5
+                    elif LA65 == 75:
+                        alt65 = 7
+                    elif LA65 == 71:
+                        alt65 = 8
+                    elif LA65 == 72:
+                        alt65 = 9
 
-                    if alt63 == 1:
+                    if alt65 == 1:
                         # C.g:354:13: '[' expression ']'
-                        self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1358)
+                        self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1368)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_expression_in_postfix_expression1360)
+                        self.following.append(self.FOLLOW_expression_in_postfix_expression1370)
                         self.expression()
                         self.following.pop()
                         if self.failed:
                             return 
-                        self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1362)
+                        self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1372)
                         if self.failed:
                             return 
 
 
-                    elif alt63 == 2:
+                    elif alt65 == 2:
                         # C.g:355:13: '(' a= ')'
-                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1376)
+                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1386)
                         if self.failed:
                             return 
                         a = self.input.LT(1)
-                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1380)
+                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1390)
                         if self.failed:
                             return 
                         if self.backtracking == 0:
@@ -5445,18 +5473,18 @@ class CParser(Parser):
 
 
 
-                    elif alt63 == 3:
+                    elif alt65 == 3:
                         # C.g:356:13: '(' c= argument_expression_list b= ')'
-                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1395)
+                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1405)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1399)
+                        self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1409)
                         c = self.argument_expression_list()
                         self.following.pop()
                         if self.failed:
                             return 
                         b = self.input.LT(1)
-                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1403)
+                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1413)
                         if self.failed:
                             return 
                         if self.backtracking == 0:
@@ -5464,28 +5492,28 @@ class CParser(Parser):
 
 
 
-                    elif alt63 == 4:
+                    elif alt65 == 4:
                         # C.g:357:13: '(' macro_parameter_list ')'
-                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1419)
+                        self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1429)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1421)
+                        self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1431)
                         self.macro_parameter_list()
                         self.following.pop()
                         if self.failed:
                             return 
-                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1423)
+                        self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1433)
                         if self.failed:
                             return 
 
 
-                    elif alt63 == 5:
+                    elif alt65 == 5:
                         # C.g:358:13: '.' x= IDENTIFIER
-                        self.match(self.input, 74, self.FOLLOW_74_in_postfix_expression1437)
+                        self.match(self.input, 74, self.FOLLOW_74_in_postfix_expression1447)
                         if self.failed:
                             return 
                         x = self.input.LT(1)
-                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1441)
+                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1451)
                         if self.failed:
                             return 
                         if self.backtracking == 0:
@@ -5493,13 +5521,13 @@ class CParser(Parser):
 
 
 
-                    elif alt63 == 6:
+                    elif alt65 == 6:
                         # C.g:359:13: '*' y= IDENTIFIER
-                        self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1457)
+                        self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1467)
                         if self.failed:
                             return 
                         y = self.input.LT(1)
-                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1461)
+                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1471)
                         if self.failed:
                             return 
                         if self.backtracking == 0:
@@ -5507,13 +5535,13 @@ class CParser(Parser):
 
 
 
-                    elif alt63 == 7:
+                    elif alt65 == 7:
                         # C.g:360:13: '->' z= IDENTIFIER
-                        self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1477)
+                        self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1487)
                         if self.failed:
                             return 
                         z = self.input.LT(1)
-                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1481)
+                        self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1491)
                         if self.failed:
                             return 
                         if self.backtracking == 0:
@@ -5521,22 +5549,22 @@ class CParser(Parser):
 
 
 
-                    elif alt63 == 8:
+                    elif alt65 == 8:
                         # C.g:361:13: '++'
-                        self.match(self.input, 71, self.FOLLOW_71_in_postfix_expression1497)
+                        self.match(self.input, 71, self.FOLLOW_71_in_postfix_expression1507)
                         if self.failed:
                             return 
 
 
-                    elif alt63 == 9:
+                    elif alt65 == 9:
                         # C.g:362:13: '--'
-                        self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1511)
+                        self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1521)
                         if self.failed:
                             return 
 
 
                     else:
-                        break #loop63
+                        break #loop65
 
 
 
@@ -5570,26 +5598,26 @@ class CParser(Parser):
 
                 # C.g:367:2: ( parameter_declaration ( ',' parameter_declaration )* )
                 # C.g:367:4: parameter_declaration ( ',' parameter_declaration )*
-                self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1534)
+                self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1544)
                 self.parameter_declaration()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:367:26: ( ',' parameter_declaration )*
-                while True: #loop64
-                    alt64 = 2
-                    LA64_0 = self.input.LA(1)
+                while True: #loop66
+                    alt66 = 2
+                    LA66_0 = self.input.LA(1)
 
-                    if (LA64_0 == 27) :
-                        alt64 = 1
+                    if (LA66_0 == 27) :
+                        alt66 = 1
 
 
-                    if alt64 == 1:
+                    if alt66 == 1:
                         # C.g:367:27: ',' parameter_declaration
-                        self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1537)
+                        self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1547)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1539)
+                        self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1549)
                         self.parameter_declaration()
                         self.following.pop()
                         if self.failed:
@@ -5597,7 +5625,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop64
+                        break #loop66
 
 
 
@@ -5684,50 +5712,50 @@ class CParser(Parser):
                     return retval
 
                 # C.g:380:2: ( IDENTIFIER | constant | '(' expression ')' )
-                alt65 = 3
-                LA65 = self.input.LA(1)
-                if LA65 == IDENTIFIER:
-                    alt65 = 1
-                elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL:
-                    alt65 = 2
-                elif LA65 == 61:
-                    alt65 = 3
+                alt67 = 3
+                LA67 = self.input.LA(1)
+                if LA67 == IDENTIFIER:
+                    alt67 = 1
+                elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
+                    alt67 = 2
+                elif LA67 == 61:
+                    alt67 = 3
                 else:
                     if self.backtracking > 0:
                         self.failed = True
                         return retval
 
-                    nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 65, 0, self.input)
+                    nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
 
                     raise nvae
 
-                if alt65 == 1:
+                if alt67 == 1:
                     # C.g:380:4: IDENTIFIER
-                    self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1588)
+                    self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1598)
                     if self.failed:
                         return retval
 
 
-                elif alt65 == 2:
+                elif alt67 == 2:
                     # C.g:381:4: constant
-                    self.following.append(self.FOLLOW_constant_in_primary_expression1593)
+                    self.following.append(self.FOLLOW_constant_in_primary_expression1603)
                     self.constant()
                     self.following.pop()
                     if self.failed:
                         return retval
 
 
-                elif alt65 == 3:
+                elif alt67 == 3:
                     # C.g:382:4: '(' expression ')'
-                    self.match(self.input, 61, self.FOLLOW_61_in_primary_expression1598)
+                    self.match(self.input, 61, self.FOLLOW_61_in_primary_expression1608)
                     if self.failed:
                         return retval
-                    self.following.append(self.FOLLOW_expression_in_primary_expression1600)
+                    self.following.append(self.FOLLOW_expression_in_primary_expression1610)
                     self.expression()
                     self.following.pop()
                     if self.failed:
                         return retval
-                    self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1602)
+                    self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1612)
                     if self.failed:
                         return retval
 
@@ -5760,95 +5788,95 @@ class CParser(Parser):
                     return 
 
                 # C.g:386:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( STRING_LITERAL )+ | FLOATING_POINT_LITERAL )
-                alt67 = 6
-                LA67 = self.input.LA(1)
-                if LA67 == HEX_LITERAL:
-                    alt67 = 1
-                elif LA67 == OCTAL_LITERAL:
-                    alt67 = 2
-                elif LA67 == DECIMAL_LITERAL:
-                    alt67 = 3
-                elif LA67 == CHARACTER_LITERAL:
-                    alt67 = 4
-                elif LA67 == STRING_LITERAL:
-                    alt67 = 5
-                elif LA67 == FLOATING_POINT_LITERAL:
-                    alt67 = 6
+                alt69 = 6
+                LA69 = self.input.LA(1)
+                if LA69 == HEX_LITERAL:
+                    alt69 = 1
+                elif LA69 == OCTAL_LITERAL:
+                    alt69 = 2
+                elif LA69 == DECIMAL_LITERAL:
+                    alt69 = 3
+                elif LA69 == CHARACTER_LITERAL:
+                    alt69 = 4
+                elif LA69 == STRING_LITERAL:
+                    alt69 = 5
+                elif LA69 == FLOATING_POINT_LITERAL:
+                    alt69 = 6
                 else:
                     if self.backtracking > 0:
                         self.failed = True
                         return 
 
-                    nvae = NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( STRING_LITERAL )+ | FLOATING_POINT_LITERAL );", 67, 0, self.input)
+                    nvae = NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( STRING_LITERAL )+ | FLOATING_POINT_LITERAL );", 69, 0, self.input)
 
                     raise nvae
 
-                if alt67 == 1:
+                if alt69 == 1:
                     # C.g:386:9: HEX_LITERAL
-                    self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1618)
+                    self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1628)
                     if self.failed:
                         return 
 
 
-                elif alt67 == 2:
+                elif alt69 == 2:
                     # C.g:387:9: OCTAL_LITERAL
-                    self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1628)
+                    self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1638)
                     if self.failed:
                         return 
 
 
-                elif alt67 == 3:
+                elif alt69 == 3:
                     # C.g:388:9: DECIMAL_LITERAL
-                    self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1638)
+                    self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1648)
                     if self.failed:
                         return 
 
 
-                elif alt67 == 4:
+                elif alt69 == 4:
                     # C.g:389:7: CHARACTER_LITERAL
-                    self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1646)
+                    self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1656)
                     if self.failed:
                         return 
 
 
-                elif alt67 == 5:
+                elif alt69 == 5:
                     # C.g:390:7: ( STRING_LITERAL )+
                     # C.g:390:7: ( STRING_LITERAL )+
-                    cnt66 = 0
-                    while True: #loop66
-                        alt66 = 2
-                        LA66_0 = self.input.LA(1)
+                    cnt68 = 0
+                    while True: #loop68
+                        alt68 = 2
+                        LA68_0 = self.input.LA(1)
 
-                        if (LA66_0 == STRING_LITERAL) :
-                            alt66 = 1
+                        if (LA68_0 == STRING_LITERAL) :
+                            alt68 = 1
 
 
-                        if alt66 == 1:
+                        if alt68 == 1:
                             # C.g:0:0: STRING_LITERAL
-                            self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1654)
+                            self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1664)
                             if self.failed:
                                 return 
 
 
                         else:
-                            if cnt66 >= 1:
-                                break #loop66
+                            if cnt68 >= 1:
+                                break #loop68
 
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            eee = EarlyExitException(66, self.input)
+                            eee = EarlyExitException(68, self.input)
                             raise eee
 
-                        cnt66 += 1
+                        cnt68 += 1
 
 
 
 
-                elif alt67 == 6:
+                elif alt69 == 6:
                     # C.g:391:9: FLOATING_POINT_LITERAL
-                    self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1665)
+                    self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1675)
                     if self.failed:
                         return 
 
@@ -5888,26 +5916,26 @@ class CParser(Parser):
 
                 # C.g:397:2: ( assignment_expression ( ',' assignment_expression )* )
                 # C.g:397:4: assignment_expression ( ',' assignment_expression )*
-                self.following.append(self.FOLLOW_assignment_expression_in_expression1681)
+                self.following.append(self.FOLLOW_assignment_expression_in_expression1691)
                 self.assignment_expression()
                 self.following.pop()
                 if self.failed:
                     return retval
                 # C.g:397:26: ( ',' assignment_expression )*
-                while True: #loop68
-                    alt68 = 2
-                    LA68_0 = self.input.LA(1)
+                while True: #loop70
+                    alt70 = 2
+                    LA70_0 = self.input.LA(1)
 
-                    if (LA68_0 == 27) :
-                        alt68 = 1
+                    if (LA70_0 == 27) :
+                        alt70 = 1
 
 
-                    if alt68 == 1:
+                    if alt70 == 1:
                         # C.g:397:27: ',' assignment_expression
-                        self.match(self.input, 27, self.FOLLOW_27_in_expression1684)
+                        self.match(self.input, 27, self.FOLLOW_27_in_expression1694)
                         if self.failed:
                             return retval
-                        self.following.append(self.FOLLOW_assignment_expression_in_expression1686)
+                        self.following.append(self.FOLLOW_assignment_expression_in_expression1696)
                         self.assignment_expression()
                         self.following.pop()
                         if self.failed:
@@ -5915,7 +5943,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop68
+                        break #loop70
 
 
 
@@ -5950,7 +5978,7 @@ class CParser(Parser):
 
                 # C.g:401:2: ( conditional_expression )
                 # C.g:401:4: conditional_expression
-                self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1699)
+                self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1709)
                 self.conditional_expression()
                 self.following.pop()
                 if self.failed:
@@ -5984,1309 +6012,1309 @@ class CParser(Parser):
                     return 
 
                 # C.g:405:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
-                alt69 = 2
-                LA69 = self.input.LA(1)
-                if LA69 == IDENTIFIER:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_13 = self.input.LA(3)
-
-                        if (self.synpred136()) :
-                            alt69 = 1
+                alt71 = 2
+                LA71 = self.input.LA(1)
+                if LA71 == IDENTIFIER:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_13 = self.input.LA(3)
+
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 13, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 13, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_14 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_14 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 14, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 14, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_15 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_15 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 15, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 15, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_16 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_16 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 16, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 16, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_17 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_17 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 17, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 17, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_18 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_18 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 18, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 18, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_19 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_19 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 19, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 19, self.input)
 
                             raise nvae
 
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 1, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 1, self.input)
 
                         raise nvae
 
-                elif LA69 == HEX_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_41 = self.input.LA(3)
+                elif LA71 == HEX_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_42 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 41, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 42, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_42 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_43 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 42, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 43, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_43 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_44 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 43, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 44, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_44 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_45 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 44, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 45, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_45 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_46 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 45, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 46, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_46 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_47 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 46, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 47, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_47 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_48 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 47, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 48, self.input)
 
                             raise nvae
 
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 2, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 2, self.input)
 
                         raise nvae
 
-                elif LA69 == OCTAL_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_69 = self.input.LA(3)
+                elif LA71 == OCTAL_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_71 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 69, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 71, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_70 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_72 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 70, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 72, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_71 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_73 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 71, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 73, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_72 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_74 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 72, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 74, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_73 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_75 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 73, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 75, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_74 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_76 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 74, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 76, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_75 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_77 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 75, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 77, self.input)
 
                             raise nvae
 
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 3, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 3, self.input)
 
                         raise nvae
 
-                elif LA69 == DECIMAL_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_97 = self.input.LA(3)
+                elif LA71 == DECIMAL_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_100 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 97, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 100, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_98 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_101 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 98, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 101, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_99 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_102 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 99, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 102, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_100 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_103 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 100, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 103, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_101 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_104 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 101, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 104, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_102 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_105 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 102, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 105, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_103 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_106 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 103, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 106, self.input)
 
                             raise nvae
 
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 4, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 4, self.input)
 
                         raise nvae
 
-                elif LA69 == CHARACTER_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_125 = self.input.LA(3)
+                elif LA71 == CHARACTER_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_129 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 125, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 129, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_126 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_130 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 126, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 130, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_127 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_131 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 127, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 131, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_128 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_132 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 128, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 132, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_129 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_133 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 129, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 133, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_130 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_134 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 130, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 134, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_131 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_135 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 131, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 135, self.input)
 
                             raise nvae
 
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 5, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 5, self.input)
 
                         raise nvae
 
-                elif LA69 == STRING_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_153 = self.input.LA(3)
+                elif LA71 == STRING_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_158 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 153, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 158, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_154 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_159 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 154, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 159, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_155 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_160 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 155, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 160, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_156 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_161 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 156, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 161, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_157 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_162 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 157, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 162, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_158 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_163 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 158, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 163, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_159 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_164 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 159, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 164, self.input)
 
                             raise nvae
 
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
-                    elif LA69 == STRING_LITERAL:
-                        LA69_161 = self.input.LA(3)
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
+                    elif LA71 == STRING_LITERAL:
+                        LA71_186 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 161, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 186, self.input)
 
                             raise nvae
 
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 6, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 6, self.input)
 
                         raise nvae
 
-                elif LA69 == FLOATING_POINT_LITERAL:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 63:
-                        LA69_182 = self.input.LA(3)
+                elif LA71 == FLOATING_POINT_LITERAL:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 63:
+                        LA71_188 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 182, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 188, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_183 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_189 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 183, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 189, self.input)
 
                             raise nvae
 
-                    elif LA69 == 74:
-                        LA69_184 = self.input.LA(3)
+                    elif LA71 == 74:
+                        LA71_190 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 184, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 190, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65:
-                        LA69_185 = self.input.LA(3)
+                    elif LA71 == 65:
+                        LA71_191 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 185, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 191, self.input)
 
                             raise nvae
 
-                    elif LA69 == 75:
-                        LA69_186 = self.input.LA(3)
+                    elif LA71 == 75:
+                        LA71_192 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 186, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 192, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_187 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_193 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 187, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 193, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_188 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_194 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 188, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 194, self.input)
 
                             raise nvae
 
-                    elif LA69 == EOF or LA69 == 25 or LA69 == 27 or LA69 == 44 or LA69 == 47 or LA69 == 62 or LA69 == 64 or LA69 == 67 or LA69 == 68 or LA69 == 69 or LA69 == 70 or LA69 == 76 or LA69 == 89 or LA69 == 90 or LA69 == 91 or LA69 == 92 or LA69 == 93 or LA69 == 94 or LA69 == 95 or LA69 == 96 or LA69 == 97 or LA69 == 98 or LA69 == 99 or LA69 == 100 or LA69 == 101:
-                        alt69 = 2
-                    elif LA69 == 28 or LA69 == 79 or LA69 == 80 or LA69 == 81 or LA69 == 82 or LA69 == 83 or LA69 == 84 or LA69 == 85 or LA69 == 86 or LA69 == 87 or LA69 == 88:
-                        alt69 = 1
+                    elif LA71 == 28 or LA71 == 79 or LA71 == 80 or LA71 == 81 or LA71 == 82 or LA71 == 83 or LA71 == 84 or LA71 == 85 or LA71 == 86 or LA71 == 87 or LA71 == 88:
+                        alt71 = 1
+                    elif LA71 == EOF or LA71 == 25 or LA71 == 27 or LA71 == 44 or LA71 == 47 or LA71 == 53 or LA71 == 62 or LA71 == 64 or LA71 == 67 or LA71 == 68 or LA71 == 69 or LA71 == 70 or LA71 == 76 or LA71 == 89 or LA71 == 90 or LA71 == 91 or LA71 == 92 or LA71 == 93 or LA71 == 94 or LA71 == 95 or LA71 == 96 or LA71 == 97 or LA71 == 98 or LA71 == 99 or LA71 == 100 or LA71 == 101:
+                        alt71 = 2
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 7, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 7, self.input)
 
                         raise nvae
 
-                elif LA69 == 61:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 34 or LA69 == 35 or LA69 == 36 or LA69 == 37 or LA69 == 38 or LA69 == 39 or LA69 == 40 or LA69 == 41 or LA69 == 42 or LA69 == 45 or LA69 == 46 or LA69 == 48 or LA69 == 49 or LA69 == 50 or LA69 == 51 or LA69 == 52 or LA69 == 53 or LA69 == 54 or LA69 == 55 or LA69 == 56 or LA69 == 57 or LA69 == 58 or LA69 == 59 or LA69 == 60:
-                        alt69 = 2
-                    elif LA69 == IDENTIFIER:
-                        LA69_222 = self.input.LA(3)
+                elif LA71 == 61:
+                    LA71 = self.input.LA(2)
+                    if LA71 == IDENTIFIER:
+                        LA71_217 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 222, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 217, self.input)
 
                             raise nvae
 
-                    elif LA69 == HEX_LITERAL:
-                        LA69_223 = self.input.LA(3)
+                    elif LA71 == HEX_LITERAL:
+                        LA71_218 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 223, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 218, self.input)
 
                             raise nvae
 
-                    elif LA69 == OCTAL_LITERAL:
-                        LA69_224 = self.input.LA(3)
+                    elif LA71 == OCTAL_LITERAL:
+                        LA71_219 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 224, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 219, self.input)
 
                             raise nvae
 
-                    elif LA69 == DECIMAL_LITERAL:
-                        LA69_225 = self.input.LA(3)
+                    elif LA71 == DECIMAL_LITERAL:
+                        LA71_220 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 225, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 220, self.input)
 
                             raise nvae
 
-                    elif LA69 == CHARACTER_LITERAL:
-                        LA69_226 = self.input.LA(3)
+                    elif LA71 == CHARACTER_LITERAL:
+                        LA71_221 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 226, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 221, self.input)
 
                             raise nvae
 
-                    elif LA69 == STRING_LITERAL:
-                        LA69_227 = self.input.LA(3)
+                    elif LA71 == STRING_LITERAL:
+                        LA71_222 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 227, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 222, self.input)
 
                             raise nvae
 
-                    elif LA69 == FLOATING_POINT_LITERAL:
-                        LA69_228 = self.input.LA(3)
+                    elif LA71 == FLOATING_POINT_LITERAL:
+                        LA71_223 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 228, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 223, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_229 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_224 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 229, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 224, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_230 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_225 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 230, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 225, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_231 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_226 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 231, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 226, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                        LA69_232 = self.input.LA(3)
+                    elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                        LA71_227 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 232, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 227, self.input)
 
                             raise nvae
 
-                    elif LA69 == 73:
-                        LA69_233 = self.input.LA(3)
+                    elif LA71 == 73:
+                        LA71_228 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 233, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 228, self.input)
 
                             raise nvae
 
+                    elif LA71 == 34 or LA71 == 35 or LA71 == 36 or LA71 == 37 or LA71 == 38 or LA71 == 39 or LA71 == 40 or LA71 == 41 or LA71 == 42 or LA71 == 45 or LA71 == 46 or LA71 == 48 or LA71 == 49 or LA71 == 50 or LA71 == 51 or LA71 == 52 or LA71 == 53 or LA71 == 54 or LA71 == 55 or LA71 == 56 or LA71 == 57 or LA71 == 58 or LA71 == 59 or LA71 == 60:
+                        alt71 = 2
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 8, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 8, self.input)
 
                         raise nvae
 
-                elif LA69 == 71:
-                    LA69 = self.input.LA(2)
-                    if LA69 == IDENTIFIER:
-                        LA69_234 = self.input.LA(3)
+                elif LA71 == 71:
+                    LA71 = self.input.LA(2)
+                    if LA71 == IDENTIFIER:
+                        LA71_241 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 234, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 241, self.input)
 
                             raise nvae
 
-                    elif LA69 == HEX_LITERAL:
-                        LA69_235 = self.input.LA(3)
+                    elif LA71 == HEX_LITERAL:
+                        LA71_242 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 235, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 242, self.input)
 
                             raise nvae
 
-                    elif LA69 == OCTAL_LITERAL:
-                        LA69_236 = self.input.LA(3)
+                    elif LA71 == OCTAL_LITERAL:
+                        LA71_243 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 236, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 243, self.input)
 
                             raise nvae
 
-                    elif LA69 == DECIMAL_LITERAL:
-                        LA69_237 = self.input.LA(3)
+                    elif LA71 == DECIMAL_LITERAL:
+                        LA71_244 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 237, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 244, self.input)
 
                             raise nvae
 
-                    elif LA69 == CHARACTER_LITERAL:
-                        LA69_238 = self.input.LA(3)
+                    elif LA71 == CHARACTER_LITERAL:
+                        LA71_245 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 238, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 245, self.input)
 
                             raise nvae
 
-                    elif LA69 == STRING_LITERAL:
-                        LA69_239 = self.input.LA(3)
+                    elif LA71 == STRING_LITERAL:
+                        LA71_246 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 239, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 246, self.input)
 
                             raise nvae
 
-                    elif LA69 == FLOATING_POINT_LITERAL:
-                        LA69_240 = self.input.LA(3)
+                    elif LA71 == FLOATING_POINT_LITERAL:
+                        LA71_247 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 240, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 247, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_241 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_248 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 241, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 248, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_242 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_249 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 242, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 249, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_243 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_250 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 243, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 250, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                        LA69_244 = self.input.LA(3)
+                    elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                        LA71_251 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 244, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 251, self.input)
 
                             raise nvae
 
-                    elif LA69 == 73:
-                        LA69_245 = self.input.LA(3)
+                    elif LA71 == 73:
+                        LA71_252 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 245, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 252, self.input)
 
                             raise nvae
 
@@ -7295,201 +7323,201 @@ class CParser(Parser):
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 9, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 9, self.input)
 
                         raise nvae
 
-                elif LA69 == 72:
-                    LA69 = self.input.LA(2)
-                    if LA69 == IDENTIFIER:
-                        LA69_246 = self.input.LA(3)
+                elif LA71 == 72:
+                    LA71 = self.input.LA(2)
+                    if LA71 == IDENTIFIER:
+                        LA71_253 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 246, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 253, self.input)
 
                             raise nvae
 
-                    elif LA69 == HEX_LITERAL:
-                        LA69_247 = self.input.LA(3)
+                    elif LA71 == HEX_LITERAL:
+                        LA71_254 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 247, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 254, self.input)
 
                             raise nvae
 
-                    elif LA69 == OCTAL_LITERAL:
-                        LA69_248 = self.input.LA(3)
+                    elif LA71 == OCTAL_LITERAL:
+                        LA71_255 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 248, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 255, self.input)
 
                             raise nvae
 
-                    elif LA69 == DECIMAL_LITERAL:
-                        LA69_249 = self.input.LA(3)
+                    elif LA71 == DECIMAL_LITERAL:
+                        LA71_256 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 249, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 256, self.input)
 
                             raise nvae
 
-                    elif LA69 == CHARACTER_LITERAL:
-                        LA69_250 = self.input.LA(3)
+                    elif LA71 == CHARACTER_LITERAL:
+                        LA71_257 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 250, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 257, self.input)
 
                             raise nvae
 
-                    elif LA69 == STRING_LITERAL:
-                        LA69_251 = self.input.LA(3)
+                    elif LA71 == STRING_LITERAL:
+                        LA71_258 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 251, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 258, self.input)
 
                             raise nvae
 
-                    elif LA69 == FLOATING_POINT_LITERAL:
-                        LA69_252 = self.input.LA(3)
+                    elif LA71 == FLOATING_POINT_LITERAL:
+                        LA71_259 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 252, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 259, self.input)
 
                             raise nvae
 
-                    elif LA69 == 61:
-                        LA69_253 = self.input.LA(3)
+                    elif LA71 == 61:
+                        LA71_260 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 253, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 260, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_254 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_261 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 254, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 261, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_255 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_262 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 255, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 262, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                        LA69_256 = self.input.LA(3)
+                    elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                        LA71_263 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 256, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 263, self.input)
 
                             raise nvae
 
-                    elif LA69 == 73:
-                        LA69_257 = self.input.LA(3)
+                    elif LA71 == 73:
+                        LA71_264 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 257, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 264, self.input)
 
                             raise nvae
 
@@ -7498,201 +7526,201 @@ class CParser(Parser):
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 10, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 10, self.input)
 
                         raise nvae
 
-                elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 61:
-                        LA69_258 = self.input.LA(3)
+                elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 61:
+                        LA71_265 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 258, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 265, self.input)
 
                             raise nvae
 
-                    elif LA69 == IDENTIFIER:
-                        LA69_259 = self.input.LA(3)
+                    elif LA71 == IDENTIFIER:
+                        LA71_266 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 259, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 266, self.input)
 
                             raise nvae
 
-                    elif LA69 == HEX_LITERAL:
-                        LA69_260 = self.input.LA(3)
+                    elif LA71 == HEX_LITERAL:
+                        LA71_267 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 260, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 267, self.input)
 
                             raise nvae
 
-                    elif LA69 == OCTAL_LITERAL:
-                        LA69_261 = self.input.LA(3)
+                    elif LA71 == OCTAL_LITERAL:
+                        LA71_268 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 261, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 268, self.input)
 
                             raise nvae
 
-                    elif LA69 == DECIMAL_LITERAL:
-                        LA69_262 = self.input.LA(3)
+                    elif LA71 == DECIMAL_LITERAL:
+                        LA71_269 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 262, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 269, self.input)
 
                             raise nvae
 
-                    elif LA69 == CHARACTER_LITERAL:
-                        LA69_263 = self.input.LA(3)
+                    elif LA71 == CHARACTER_LITERAL:
+                        LA71_270 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 263, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 270, self.input)
 
                             raise nvae
 
-                    elif LA69 == STRING_LITERAL:
-                        LA69_264 = self.input.LA(3)
+                    elif LA71 == STRING_LITERAL:
+                        LA71_271 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 264, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 271, self.input)
 
                             raise nvae
 
-                    elif LA69 == FLOATING_POINT_LITERAL:
-                        LA69_265 = self.input.LA(3)
+                    elif LA71 == FLOATING_POINT_LITERAL:
+                        LA71_272 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 265, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 272, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_266 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_273 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 266, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 273, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_267 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_274 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 267, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 274, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                        LA69_268 = self.input.LA(3)
+                    elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                        LA71_275 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 268, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 275, self.input)
 
                             raise nvae
 
-                    elif LA69 == 73:
-                        LA69_269 = self.input.LA(3)
+                    elif LA71 == 73:
+                        LA71_276 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 269, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 276, self.input)
 
                             raise nvae
 
@@ -7701,201 +7729,201 @@ class CParser(Parser):
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 11, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 11, self.input)
 
                         raise nvae
 
-                elif LA69 == 73:
-                    LA69 = self.input.LA(2)
-                    if LA69 == 61:
-                        LA69_270 = self.input.LA(3)
+                elif LA71 == 73:
+                    LA71 = self.input.LA(2)
+                    if LA71 == 61:
+                        LA71_277 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 270, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 277, self.input)
 
                             raise nvae
 
-                    elif LA69 == IDENTIFIER:
-                        LA69_271 = self.input.LA(3)
+                    elif LA71 == IDENTIFIER:
+                        LA71_278 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 271, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 278, self.input)
 
                             raise nvae
 
-                    elif LA69 == HEX_LITERAL:
-                        LA69_272 = self.input.LA(3)
+                    elif LA71 == HEX_LITERAL:
+                        LA71_279 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 272, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 279, self.input)
 
                             raise nvae
 
-                    elif LA69 == OCTAL_LITERAL:
-                        LA69_273 = self.input.LA(3)
+                    elif LA71 == OCTAL_LITERAL:
+                        LA71_280 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 273, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 280, self.input)
 
                             raise nvae
 
-                    elif LA69 == DECIMAL_LITERAL:
-                        LA69_274 = self.input.LA(3)
+                    elif LA71 == DECIMAL_LITERAL:
+                        LA71_281 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 274, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 281, self.input)
 
                             raise nvae
 
-                    elif LA69 == CHARACTER_LITERAL:
-                        LA69_275 = self.input.LA(3)
+                    elif LA71 == CHARACTER_LITERAL:
+                        LA71_282 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 275, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 282, self.input)
 
                             raise nvae
 
-                    elif LA69 == STRING_LITERAL:
-                        LA69_276 = self.input.LA(3)
+                    elif LA71 == STRING_LITERAL:
+                        LA71_283 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 276, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 283, self.input)
 
                             raise nvae
 
-                    elif LA69 == FLOATING_POINT_LITERAL:
-                        LA69_277 = self.input.LA(3)
+                    elif LA71 == FLOATING_POINT_LITERAL:
+                        LA71_284 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 277, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 284, self.input)
 
                             raise nvae
 
-                    elif LA69 == 71:
-                        LA69_278 = self.input.LA(3)
+                    elif LA71 == 71:
+                        LA71_285 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 278, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 285, self.input)
 
                             raise nvae
 
-                    elif LA69 == 72:
-                        LA69_279 = self.input.LA(3)
+                    elif LA71 == 72:
+                        LA71_286 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 279, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 286, self.input)
 
                             raise nvae
 
-                    elif LA69 == 65 or LA69 == 67 or LA69 == 68 or LA69 == 76 or LA69 == 77 or LA69 == 78:
-                        LA69_280 = self.input.LA(3)
+                    elif LA71 == 65 or LA71 == 67 or LA71 == 68 or LA71 == 76 or LA71 == 77 or LA71 == 78:
+                        LA71_287 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 280, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 287, self.input)
 
                             raise nvae
 
-                    elif LA69 == 73:
-                        LA69_281 = self.input.LA(3)
+                    elif LA71 == 73:
+                        LA71_288 = self.input.LA(3)
 
-                        if (self.synpred136()) :
-                            alt69 = 1
+                        if (self.synpred138()) :
+                            alt71 = 1
                         elif (True) :
-                            alt69 = 2
+                            alt71 = 2
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 281, self.input)
+                            nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 288, self.input)
 
                             raise nvae
 
@@ -7904,7 +7932,7 @@ class CParser(Parser):
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 12, self.input)
+                        nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 12, self.input)
 
                         raise nvae
 
@@ -7913,32 +7941,32 @@ class CParser(Parser):
                         self.failed = True
                         return 
 
-                    nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 69, 0, self.input)
+                    nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 71, 0, self.input)
 
                     raise nvae
 
-                if alt69 == 1:
+                if alt71 == 1:
                     # C.g:405:4: lvalue assignment_operator assignment_expression
-                    self.following.append(self.FOLLOW_lvalue_in_assignment_expression1710)
+                    self.following.append(self.FOLLOW_lvalue_in_assignment_expression1720)
                     self.lvalue()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1712)
+                    self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1722)
                     self.assignment_operator()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1714)
+                    self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1724)
                     self.assignment_expression()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt69 == 2:
+                elif alt71 == 2:
                     # C.g:406:4: conditional_expression
-                    self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1719)
+                    self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1729)
                     self.conditional_expression()
                     self.following.pop()
                     if self.failed:
@@ -7972,7 +8000,7 @@ class CParser(Parser):
 
                 # C.g:410:2: ( unary_expression )
                 # C.g:410:4: unary_expression
-                self.following.append(self.FOLLOW_unary_expression_in_lvalue1731)
+                self.following.append(self.FOLLOW_unary_expression_in_lvalue1741)
                 self.unary_expression()
                 self.following.pop()
                 if self.failed:
@@ -8057,31 +8085,31 @@ class CParser(Parser):
 
                 # C.g:428:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
                 # C.g:428:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
-                self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1805)
+                self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1815)
                 e = self.logical_or_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:428:28: ( '?' expression ':' conditional_expression )?
-                alt70 = 2
-                LA70_0 = self.input.LA(1)
+                alt72 = 2
+                LA72_0 = self.input.LA(1)
 
-                if (LA70_0 == 89) :
-                    alt70 = 1
-                if alt70 == 1:
+                if (LA72_0 == 89) :
+                    alt72 = 1
+                if alt72 == 1:
                     # C.g:428:29: '?' expression ':' conditional_expression
-                    self.match(self.input, 89, self.FOLLOW_89_in_conditional_expression1808)
+                    self.match(self.input, 89, self.FOLLOW_89_in_conditional_expression1818)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_expression_in_conditional_expression1810)
+                    self.following.append(self.FOLLOW_expression_in_conditional_expression1820)
                     self.expression()
                     self.following.pop()
                     if self.failed:
                         return 
-                    self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1812)
+                    self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1822)
                     if self.failed:
                         return 
-                    self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1814)
+                    self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1824)
                     self.conditional_expression()
                     self.following.pop()
                     if self.failed:
@@ -8130,26 +8158,26 @@ class CParser(Parser):
 
                 # C.g:432:2: ( logical_and_expression ( '||' logical_and_expression )* )
                 # C.g:432:4: logical_and_expression ( '||' logical_and_expression )*
-                self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1829)
+                self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1839)
                 self.logical_and_expression()
                 self.following.pop()
                 if self.failed:
                     return retval
                 # C.g:432:27: ( '||' logical_and_expression )*
-                while True: #loop71
-                    alt71 = 2
-                    LA71_0 = self.input.LA(1)
+                while True: #loop73
+                    alt73 = 2
+                    LA73_0 = self.input.LA(1)
 
-                    if (LA71_0 == 90) :
-                        alt71 = 1
+                    if (LA73_0 == 90) :
+                        alt73 = 1
 
 
-                    if alt71 == 1:
+                    if alt73 == 1:
                         # C.g:432:28: '||' logical_and_expression
-                        self.match(self.input, 90, self.FOLLOW_90_in_logical_or_expression1832)
+                        self.match(self.input, 90, self.FOLLOW_90_in_logical_or_expression1842)
                         if self.failed:
                             return retval
-                        self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1834)
+                        self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1844)
                         self.logical_and_expression()
                         self.following.pop()
                         if self.failed:
@@ -8157,7 +8185,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop71
+                        break #loop73
 
 
 
@@ -8192,26 +8220,26 @@ class CParser(Parser):
 
                 # C.g:436:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
                 # C.g:436:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
-                self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1847)
+                self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1857)
                 self.inclusive_or_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:436:28: ( '&&' inclusive_or_expression )*
-                while True: #loop72
-                    alt72 = 2
-                    LA72_0 = self.input.LA(1)
+                while True: #loop74
+                    alt74 = 2
+                    LA74_0 = self.input.LA(1)
 
-                    if (LA72_0 == 91) :
-                        alt72 = 1
+                    if (LA74_0 == 91) :
+                        alt74 = 1
 
 
-                    if alt72 == 1:
+                    if alt74 == 1:
                         # C.g:436:29: '&&' inclusive_or_expression
-                        self.match(self.input, 91, self.FOLLOW_91_in_logical_and_expression1850)
+                        self.match(self.input, 91, self.FOLLOW_91_in_logical_and_expression1860)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1852)
+                        self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1862)
                         self.inclusive_or_expression()
                         self.following.pop()
                         if self.failed:
@@ -8219,7 +8247,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop72
+                        break #loop74
 
 
 
@@ -8252,26 +8280,26 @@ class CParser(Parser):
 
                 # C.g:440:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
                 # C.g:440:4: exclusive_or_expression ( '|' exclusive_or_expression )*
-                self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1865)
+                self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1875)
                 self.exclusive_or_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:440:28: ( '|' exclusive_or_expression )*
-                while True: #loop73
-                    alt73 = 2
-                    LA73_0 = self.input.LA(1)
+                while True: #loop75
+                    alt75 = 2
+                    LA75_0 = self.input.LA(1)
 
-                    if (LA73_0 == 92) :
-                        alt73 = 1
+                    if (LA75_0 == 92) :
+                        alt75 = 1
 
 
-                    if alt73 == 1:
+                    if alt75 == 1:
                         # C.g:440:29: '|' exclusive_or_expression
-                        self.match(self.input, 92, self.FOLLOW_92_in_inclusive_or_expression1868)
+                        self.match(self.input, 92, self.FOLLOW_92_in_inclusive_or_expression1878)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1870)
+                        self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1880)
                         self.exclusive_or_expression()
                         self.following.pop()
                         if self.failed:
@@ -8279,7 +8307,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop73
+                        break #loop75
 
 
 
@@ -8312,26 +8340,26 @@ class CParser(Parser):
 
                 # C.g:444:2: ( and_expression ( '^' and_expression )* )
                 # C.g:444:4: and_expression ( '^' and_expression )*
-                self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1883)
+                self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1893)
                 self.and_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:444:19: ( '^' and_expression )*
-                while True: #loop74
-                    alt74 = 2
-                    LA74_0 = self.input.LA(1)
+                while True: #loop76
+                    alt76 = 2
+                    LA76_0 = self.input.LA(1)
 
-                    if (LA74_0 == 93) :
-                        alt74 = 1
+                    if (LA76_0 == 93) :
+                        alt76 = 1
 
 
-                    if alt74 == 1:
+                    if alt76 == 1:
                         # C.g:444:20: '^' and_expression
-                        self.match(self.input, 93, self.FOLLOW_93_in_exclusive_or_expression1886)
+                        self.match(self.input, 93, self.FOLLOW_93_in_exclusive_or_expression1896)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1888)
+                        self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1898)
                         self.and_expression()
                         self.following.pop()
                         if self.failed:
@@ -8339,7 +8367,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop74
+                        break #loop76
 
 
 
@@ -8372,26 +8400,26 @@ class CParser(Parser):
 
                 # C.g:448:2: ( equality_expression ( '&' equality_expression )* )
                 # C.g:448:4: equality_expression ( '&' equality_expression )*
-                self.following.append(self.FOLLOW_equality_expression_in_and_expression1901)
+                self.following.append(self.FOLLOW_equality_expression_in_and_expression1911)
                 self.equality_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:448:24: ( '&' equality_expression )*
-                while True: #loop75
-                    alt75 = 2
-                    LA75_0 = self.input.LA(1)
+                while True: #loop77
+                    alt77 = 2
+                    LA77_0 = self.input.LA(1)
 
-                    if (LA75_0 == 76) :
-                        alt75 = 1
+                    if (LA77_0 == 76) :
+                        alt77 = 1
 
 
-                    if alt75 == 1:
+                    if alt77 == 1:
                         # C.g:448:25: '&' equality_expression
-                        self.match(self.input, 76, self.FOLLOW_76_in_and_expression1904)
+                        self.match(self.input, 76, self.FOLLOW_76_in_and_expression1914)
                         if self.failed:
                             return 
-                        self.following.append(self.FOLLOW_equality_expression_in_and_expression1906)
+                        self.following.append(self.FOLLOW_equality_expression_in_and_expression1916)
                         self.equality_expression()
                         self.following.pop()
                         if self.failed:
@@ -8399,7 +8427,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop75
+                        break #loop77
 
 
 
@@ -8432,21 +8460,21 @@ class CParser(Parser):
 
                 # C.g:451:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
                 # C.g:451:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
-                self.following.append(self.FOLLOW_relational_expression_in_equality_expression1918)
+                self.following.append(self.FOLLOW_relational_expression_in_equality_expression1928)
                 self.relational_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:451:26: ( ( '==' | '!=' ) relational_expression )*
-                while True: #loop76
-                    alt76 = 2
-                    LA76_0 = self.input.LA(1)
+                while True: #loop78
+                    alt78 = 2
+                    LA78_0 = self.input.LA(1)
 
-                    if ((94 <= LA76_0 <= 95)) :
-                        alt76 = 1
+                    if ((94 <= LA78_0 <= 95)) :
+                        alt78 = 1
 
 
-                    if alt76 == 1:
+                    if alt78 == 1:
                         # C.g:451:27: ( '==' | '!=' ) relational_expression
                         if (94 <= self.input.LA(1) <= 95):
                             self.input.consume();
@@ -8460,12 +8488,12 @@ class CParser(Parser):
 
                             mse = MismatchedSetException(None, self.input)
                             self.recoverFromMismatchedSet(
-                                self.input, mse, self.FOLLOW_set_in_equality_expression1921
+                                self.input, mse, self.FOLLOW_set_in_equality_expression1931
                                 )
                             raise mse
 
 
-                        self.following.append(self.FOLLOW_relational_expression_in_equality_expression1927)
+                        self.following.append(self.FOLLOW_relational_expression_in_equality_expression1937)
                         self.relational_expression()
                         self.following.pop()
                         if self.failed:
@@ -8473,7 +8501,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop76
+                        break #loop78
 
 
 
@@ -8506,21 +8534,21 @@ class CParser(Parser):
 
                 # C.g:455:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
                 # C.g:455:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
-                self.following.append(self.FOLLOW_shift_expression_in_relational_expression1941)
+                self.following.append(self.FOLLOW_shift_expression_in_relational_expression1951)
                 self.shift_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:455:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
-                while True: #loop77
-                    alt77 = 2
-                    LA77_0 = self.input.LA(1)
+                while True: #loop79
+                    alt79 = 2
+                    LA79_0 = self.input.LA(1)
 
-                    if ((96 <= LA77_0 <= 99)) :
-                        alt77 = 1
+                    if ((96 <= LA79_0 <= 99)) :
+                        alt79 = 1
 
 
-                    if alt77 == 1:
+                    if alt79 == 1:
                         # C.g:455:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
                         if (96 <= self.input.LA(1) <= 99):
                             self.input.consume();
@@ -8534,12 +8562,12 @@ class CParser(Parser):
 
                             mse = MismatchedSetException(None, self.input)
                             self.recoverFromMismatchedSet(
-                                self.input, mse, self.FOLLOW_set_in_relational_expression1944
+                                self.input, mse, self.FOLLOW_set_in_relational_expression1954
                                 )
                             raise mse
 
 
-                        self.following.append(self.FOLLOW_shift_expression_in_relational_expression1954)
+                        self.following.append(self.FOLLOW_shift_expression_in_relational_expression1964)
                         self.shift_expression()
                         self.following.pop()
                         if self.failed:
@@ -8547,7 +8575,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop77
+                        break #loop79
 
 
 
@@ -8580,21 +8608,21 @@ class CParser(Parser):
 
                 # C.g:459:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
                 # C.g:459:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
-                self.following.append(self.FOLLOW_additive_expression_in_shift_expression1967)
+                self.following.append(self.FOLLOW_additive_expression_in_shift_expression1977)
                 self.additive_expression()
                 self.following.pop()
                 if self.failed:
                     return 
                 # C.g:459:24: ( ( '<<' | '>>' ) additive_expression )*
-                while True: #loop78
-                    alt78 = 2
-                    LA78_0 = self.input.LA(1)
+                while True: #loop80
+                    alt80 = 2
+                    LA80_0 = self.input.LA(1)
 
-                    if ((100 <= LA78_0 <= 101)) :
-                        alt78 = 1
+                    if ((100 <= LA80_0 <= 101)) :
+                        alt80 = 1
 
 
-                    if alt78 == 1:
+                    if alt80 == 1:
                         # C.g:459:25: ( '<<' | '>>' ) additive_expression
                         if (100 <= self.input.LA(1) <= 101):
                             self.input.consume();
@@ -8608,12 +8636,12 @@ class CParser(Parser):
 
                             mse = MismatchedSetException(None, self.input)
                             self.recoverFromMismatchedSet(
-                                self.input, mse, self.FOLLOW_set_in_shift_expression1970
+                                self.input, mse, self.FOLLOW_set_in_shift_expression1980
                                 )
                             raise mse
 
 
-                        self.following.append(self.FOLLOW_additive_expression_in_shift_expression1976)
+                        self.following.append(self.FOLLOW_additive_expression_in_shift_expression1986)
                         self.additive_expression()
                         self.following.pop()
                         if self.failed:
@@ -8621,7 +8649,7 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop78
+                        break #loop80
 
 
 
@@ -8653,186 +8681,186 @@ class CParser(Parser):
                     return 
 
                 # C.g:465:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration )
-                alt79 = 10
-                LA79 = self.input.LA(1)
-                if LA79 == IDENTIFIER:
-                    LA79 = self.input.LA(2)
-                    if LA79 == 47:
-                        alt79 = 1
-                    elif LA79 == 61:
-                        LA79_43 = self.input.LA(3)
-
-                        if (self.synpred163()) :
-                            alt79 = 3
-                        elif (self.synpred167()) :
-                            alt79 = 7
+                alt81 = 10
+                LA81 = self.input.LA(1)
+                if LA81 == IDENTIFIER:
+                    LA81 = self.input.LA(2)
+                    if LA81 == 61:
+                        LA81_42 = self.input.LA(3)
+
+                        if (self.synpred165()) :
+                            alt81 = 3
+                        elif (self.synpred169()) :
+                            alt81 = 7
                         elif (True) :
-                            alt79 = 10
+                            alt81 = 10
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 79, 43, self.input)
+                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 81, 42, self.input)
 
                             raise nvae
 
-                    elif LA79 == 65:
-                        LA79_44 = self.input.LA(3)
+                    elif LA81 == 47:
+                        alt81 = 1
+                    elif LA81 == 65:
+                        LA81_44 = self.input.LA(3)
 
-                        if (self.synpred163()) :
-                            alt79 = 3
+                        if (self.synpred165()) :
+                            alt81 = 3
                         elif (True) :
-                            alt79 = 10
+                            alt81 = 10
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 79, 44, self.input)
+                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 81, 44, self.input)
 
                             raise nvae
 
-                    elif LA79 == IDENTIFIER or LA79 == 29 or LA79 == 30 or LA79 == 31 or LA79 == 32 or LA79 == 33 or LA79 == 34 or LA79 == 35 or LA79 == 36 or LA79 == 37 or LA79 == 38 or LA79 == 39 or LA79 == 40 or LA79 == 41 or LA79 == 42 or LA79 == 45 or LA79 == 46 or LA79 == 48 or LA79 == 49 or LA79 == 50 or LA79 == 51 or LA79 == 52 or LA79 == 53 or LA79 == 54 or LA79 == 55 or LA79 == 56 or LA79 == 57 or LA79 == 58 or LA79 == 59 or LA79 == 60:
-                        alt79 = 10
-                    elif LA79 == 25:
-                        LA79_49 = self.input.LA(3)
+                    elif LA81 == IDENTIFIER or LA81 == 29 or LA81 == 30 or LA81 == 31 or LA81 == 32 or LA81 == 33 or LA81 == 34 or LA81 == 35 or LA81 == 36 or LA81 == 37 or LA81 == 38 or LA81 == 39 or LA81 == 40 or LA81 == 41 or LA81 == 42 or LA81 == 45 or LA81 == 46 or LA81 == 48 or LA81 == 49 or LA81 == 50 or LA81 == 51 or LA81 == 52 or LA81 == 53 or LA81 == 54 or LA81 == 55 or LA81 == 56 or LA81 == 57 or LA81 == 58 or LA81 == 59 or LA81 == 60:
+                        alt81 = 10
+                    elif LA81 == 25:
+                        LA81_49 = self.input.LA(3)
 
-                        if (self.synpred163()) :
-                            alt79 = 3
+                        if (self.synpred165()) :
+                            alt81 = 3
                         elif (True) :
-                            alt79 = 10
+                            alt81 = 10
                         else:
                             if self.backtracking > 0:
                                 self.failed = True
                                 return 
 
-                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 79, 49, self.input)
+                            nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 81, 49, self.input)
 
                             raise nvae
 
-                    elif LA79 == 27 or LA79 == 28 or LA79 == 63 or LA79 == 67 or LA79 == 68 or LA79 == 69 or LA79 == 70 or LA79 == 71 or LA79 == 72 or LA79 == 74 or LA79 == 75 or LA79 == 76 or LA79 == 79 or LA79 == 80 or LA79 == 81 or LA79 == 82 or LA79 == 83 or LA79 == 84 or LA79 == 85 or LA79 == 86 or LA79 == 87 or LA79 == 88 or LA79 == 89 or LA79 == 90 or LA79 == 91 or LA79 == 92 or LA79 == 93 or LA79 == 94 or LA79 == 95 or LA79 == 96 or LA79 == 97 or LA79 == 98 or LA79 == 99 or LA79 == 100 or LA79 == 101:
-                        alt79 = 3
+                    elif LA81 == 27 or LA81 == 28 or LA81 == 63 or LA81 == 67 or LA81 == 68 or LA81 == 69 or LA81 == 70 or LA81 == 71 or LA81 == 72 or LA81 == 74 or LA81 == 75 or LA81 == 76 or LA81 == 79 or LA81 == 80 or LA81 == 81 or LA81 == 82 or LA81 == 83 or LA81 == 84 or LA81 == 85 or LA81 == 86 or LA81 == 87 or LA81 == 88 or LA81 == 89 or LA81 == 90 or LA81 == 91 or LA81 == 92 or LA81 == 93 or LA81 == 94 or LA81 == 95 or LA81 == 96 or LA81 == 97 or LA81 == 98 or LA81 == 99 or LA81 == 100 or LA81 == 101:
+                        alt81 = 3
                     else:
                         if self.backtracking > 0:
                             self.failed = True
                             return 
 
-                        nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 79, 1, self.input)
+                        nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 81, 1, self.input)
 
                         raise nvae
 
-                elif LA79 == 104 or LA79 == 105:
-                    alt79 = 1
-                elif LA79 == 43:
-                    alt79 = 2
-                elif LA79 == HEX_LITERAL or LA79 == OCTAL_LITERAL or LA79 == DECIMAL_LITERAL or LA79 == CHARACTER_LITERAL or LA79 == STRING_LITERAL or LA79 == FLOATING_POINT_LITERAL or LA79 == 25 or LA79 == 61 or LA79 == 65 or LA79 == 67 or LA79 == 68 or LA79 == 71 or LA79 == 72 or LA79 == 73 or LA79 == 76 or LA79 == 77 or LA79 == 78:
-                    alt79 = 3
-                elif LA79 == 106 or LA79 == 108:
-                    alt79 = 4
-                elif LA79 == 109 or LA79 == 110 or LA79 == 111:
-                    alt79 = 5
-                elif LA79 == 112 or LA79 == 113 or LA79 == 114 or LA79 == 115:
-                    alt79 = 6
-                elif LA79 == 103:
-                    alt79 = 8
-                elif LA79 == 102:
-                    alt79 = 9
-                elif LA79 == 26 or LA79 == 29 or LA79 == 30 or LA79 == 31 or LA79 == 32 or LA79 == 33 or LA79 == 34 or LA79 == 35 or LA79 == 36 or LA79 == 37 or LA79 == 38 or LA79 == 39 or LA79 == 40 or LA79 == 41 or LA79 == 42 or LA79 == 45 or LA79 == 46 or LA79 == 48 or LA79 == 49 or LA79 == 50 or LA79 == 51 or LA79 == 52 or LA79 == 53 or LA79 == 54 or LA79 == 55 or LA79 == 56 or LA79 == 57 or LA79 == 58 or LA79 == 59 or LA79 == 60:
-                    alt79 = 10
+                elif LA81 == 104 or LA81 == 105:
+                    alt81 = 1
+                elif LA81 == 43:
+                    alt81 = 2
+                elif LA81 == HEX_LITERAL or LA81 == OCTAL_LITERAL or LA81 == DECIMAL_LITERAL or LA81 == CHARACTER_LITERAL or LA81 == STRING_LITERAL or LA81 == FLOATING_POINT_LITERAL or LA81 == 25 or LA81 == 61 or LA81 == 65 or LA81 == 67 or LA81 == 68 or LA81 == 71 or LA81 == 72 or LA81 == 73 or LA81 == 76 or LA81 == 77 or LA81 == 78:
+                    alt81 = 3
+                elif LA81 == 106 or LA81 == 108:
+                    alt81 = 4
+                elif LA81 == 109 or LA81 == 110 or LA81 == 111:
+                    alt81 = 5
+                elif LA81 == 112 or LA81 == 113 or LA81 == 114 or LA81 == 115:
+                    alt81 = 6
+                elif LA81 == 103:
+                    alt81 = 8
+                elif LA81 == 102:
+                    alt81 = 9
+                elif LA81 == 26 or LA81 == 29 or LA81 == 30 or LA81 == 31 or LA81 == 32 or LA81 == 33 or LA81 == 34 or LA81 == 35 or LA81 == 36 or LA81 == 37 or LA81 == 38 or LA81 == 39 or LA81 == 40 or LA81 == 41 or LA81 == 42 or LA81 == 45 or LA81 == 46 or LA81 == 48 or LA81 == 49 or LA81 == 50 or LA81 == 51 or LA81 == 52 or LA81 == 53 or LA81 == 54 or LA81 == 55 or LA81 == 56 or LA81 == 57 or LA81 == 58 or LA81 == 59 or LA81 == 60:
+                    alt81 = 10
                 else:
                     if self.backtracking > 0:
                         self.failed = True
                         return 
 
-                    nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 79, 0, self.input)
+                    nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm_statement | asm1_statement | declaration );", 81, 0, self.input)
 
                     raise nvae
 
-                if alt79 == 1:
+                if alt81 == 1:
                     # C.g:465:4: labeled_statement
-                    self.following.append(self.FOLLOW_labeled_statement_in_statement1991)
+                    self.following.append(self.FOLLOW_labeled_statement_in_statement2001)
                     self.labeled_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 2:
+                elif alt81 == 2:
                     # C.g:466:4: compound_statement
-                    self.following.append(self.FOLLOW_compound_statement_in_statement1996)
+                    self.following.append(self.FOLLOW_compound_statement_in_statement2006)
                     self.compound_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 3:
+                elif alt81 == 3:
                     # C.g:467:4: expression_statement
-                    self.following.append(self.FOLLOW_expression_statement_in_statement2001)
+                    self.following.append(self.FOLLOW_expression_statement_in_statement2011)
                     self.expression_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 4:
+                elif alt81 == 4:
                     # C.g:468:4: selection_statement
-                    self.following.append(self.FOLLOW_selection_statement_in_statement2006)
+                    self.following.append(self.FOLLOW_selection_statement_in_statement2016)
                     self.selection_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 5:
+                elif alt81 == 5:
                     # C.g:469:4: iteration_statement
-                    self.following.append(self.FOLLOW_iteration_statement_in_statement2011)
+                    self.following.append(self.FOLLOW_iteration_statement_in_statement2021)
                     self.iteration_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 6:
+                elif alt81 == 6:
                     # C.g:470:4: jump_statement
-                    self.following.append(self.FOLLOW_jump_statement_in_statement2016)
+                    self.following.append(self.FOLLOW_jump_statement_in_statement2026)
                     self.jump_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 7:
+                elif alt81 == 7:
                     # C.g:471:4: macro_statement
-                    self.following.append(self.FOLLOW_macro_statement_in_statement2021)
+                    self.following.append(self.FOLLOW_macro_statement_in_statement2031)
                     self.macro_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 8:
+                elif alt81 == 8:
                     # C.g:472:4: asm_statement
-                    self.following.append(self.FOLLOW_asm_statement_in_statement2026)
+                    self.following.append(self.FOLLOW_asm_statement_in_statement2036)
                     self.asm_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 9:
+                elif alt81 == 9:
                     # C.g:473:4: asm1_statement
-                    self.following.append(self.FOLLOW_asm1_statement_in_statement2031)
+                    self.following.append(self.FOLLOW_asm1_statement_in_statement2041)
                     self.asm1_statement()
                     self.following.pop()
                     if self.failed:
                         return 
 
 
-                elif alt79 == 10:
+                elif alt81 == 10:
                     # C.g:474:4: declaration
-                    self.following.append(self.FOLLOW_declaration_in_statement2036)
+                    self.following.append(self.FOLLOW_declaration_in_statement2046)
                     self.declaration()
                     self.following.pop()
                     if self.failed:
@@ -8866,22 +8894,22 @@ class CParser(Parser):
 
                 # C.g:478:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
                 # C.g:478:4: '_asm' '{' (~ ( '}' ) )* '}'
-                self.match(self.input, 102, self.FOLLOW_102_in_asm1_statement2047)
+                self.match(self.input, 102, self.FOLLOW_102_in_asm1_statement2057)
                 if self.failed:
                     return 
-                self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2049)
+                self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2059)
                 if self.failed:
                     return 
                 # C.g:478:15: (~ ( '}' ) )*
-                while True: #loop80
-                    alt80 = 2
-                    LA80_0 = self.input.LA(1)
+                while True: #loop82
+                    alt82 = 2
+                    LA82_0 = self.input.LA(1)
 
-                    if ((IDENTIFIER <= LA80_0 <= 43) or (45 <= LA80_0 <= 115)) :
-                        alt80 = 1
+                    if ((IDENTIFIER <= LA82_0 <= 43) or (45 <= LA82_0 <= 115)) :
+                        alt82 = 1
 
 
-                    if alt80 == 1:
+                    if alt82 == 1:
                         # C.g:478:16: ~ ( '}' )
                         if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 115):
                             self.input.consume();
@@ -8895,7 +8923,7 @@ class CParser(Parser):
 
                             mse = MismatchedSetException(None, self.input)
                             self.recoverFromMismatchedSet(
-                                self.input, mse, self.FOLLOW_set_in_asm1_statement2052
+                                self.input, mse, self.FOLLOW_set_in_asm1_statement2062
                                 )
                             raise mse
 
@@ -8903,10 +8931,10 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop80
+                        break #loop82
 
 
-                self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2059)
+                self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2069)
                 if self.failed:
                     return 
 
@@ -8939,22 +8967,22 @@ class CParser(Parser):
 
                 # C.g:482:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
                 # C.g:482:4: '__asm' '{' (~ ( '}' ) )* '}'
-                self.match(self.input, 103, self.FOLLOW_103_in_asm_statement2070)
+                self.match(self.input, 103, self.FOLLOW_103_in_asm_statement2080)
                 if self.failed:
                     return 
-                self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2072)
+                self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2082)
                 if self.failed:
                     return 
                 # C.g:482:16: (~ ( '}' ) )*
-                while True: #loop81
-                    alt81 = 2
-                    LA81_0 = self.input.LA(1)
+                while True: #loop83
+                    alt83 = 2
+                    LA83_0 = self.input.LA(1)
 
-                    if ((IDENTIFIER <= LA81_0 <= 43) or (45 <= LA81_0 <= 115)) :
-                        alt81 = 1
+                    if ((IDENTIFIER <= LA83_0 <= 43) or (45 <= LA83_0 <= 115)) :
+                        alt83 = 1
 
 
-                    if alt81 == 1:
+                    if alt83 == 1:
                         # C.g:482:17: ~ ( '}' )
                         if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 115):
                             self.input.consume();
@@ -8968,7 +8996,7 @@ class CParser(Parser):
 
                             mse = MismatchedSetException(None, self.input)
                             self.recoverFromMismatchedSet(
-                                self.input, mse, self.FOLLOW_set_in_asm_statement2075
+                                self.input, mse, self.FOLLOW_set_in_asm_statement2085
                                 )
                             raise mse
 
@@ -8976,10 +9004,10 @@ class CParser(Parser):
 
 
                     else:
-                        break #loop81
+                        break #loop83
 
 
-                self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2082)
+                self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2092)
                 if self.failed:
                     return 
 
@@ -9012,1910 +9040,1910 @@ class CParser(Parser):
 
                 # C.g:486:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
                 # C.g:486:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
-                self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2094)
+                self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2104)
                 if self.failed:
                     return 
-                self.match(self.input, 61, self.FOLLOW_61_in_macro_statement2096)
+  &