From 52302d4dee589a5df43a464420c9fe68ba83937d Mon Sep 17 00:00:00 2001 From: lgao4 Date: Sun, 28 Feb 2010 23:39:39 +0000 Subject: Sync EDKII BaseTools to BaseTools project r1903. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10123 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Source/Python/Ecc/C.g | 57 +- BaseTools/Source/Python/Ecc/CLexer.py | 1722 +++--- BaseTools/Source/Python/Ecc/CParser.py | 8051 +++++++++++++------------- BaseTools/Source/Python/Ecc/Check.py | 67 +- BaseTools/Source/Python/Ecc/Ecc.py | 12 +- BaseTools/Source/Python/Ecc/EccToolError.py | 32 +- BaseTools/Source/Python/Ecc/ParserWarning.py | 13 + BaseTools/Source/Python/Ecc/__init__.py | 15 + BaseTools/Source/Python/Ecc/c.py | 594 +- BaseTools/Source/Python/Ecc/exception.xml | 10 + 10 files changed, 5399 insertions(+), 5174 deletions(-) (limited to 'BaseTools/Source/Python/Ecc') diff --git a/BaseTools/Source/Python/Ecc/C.g b/BaseTools/Source/Python/Ecc/C.g index 6aa50460de..a34f5902bb 100644 --- a/BaseTools/Source/Python/Ecc/C.g +++ b/BaseTools/Source/Python/Ecc/C.g @@ -1,3 +1,15 @@ +/* @file + This file is used to be the grammar file of ECC tool + + Copyright (c) 2009 - 2010, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +*/ grammar C; options { @@ -7,9 +19,49 @@ options { k=2; } +@lexer::header{ +## @file +# The file defines the Lexer for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## +} + @header { - import CodeFragment - import FileProfile +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +import CodeFragment +import FileProfile } @members { @@ -238,6 +290,7 @@ type_qualifier | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' + | 'PACKED' ; declarator diff --git a/BaseTools/Source/Python/Ecc/CLexer.py b/BaseTools/Source/Python/Ecc/CLexer.py index cc437e0821..947ac4c8e3 100644 --- a/BaseTools/Source/Python/Ecc/CLexer.py +++ b/BaseTools/Source/Python/Ecc/CLexer.py @@ -1,128 +1,149 @@ -# $ANTLR 3.0.1 C.g 2009-02-16 16:02:51 +# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 from antlr3 import * from antlr3.compat import set, frozenset + +## @file +# The file defines the Lexer for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + # for convenience in actions HIDDEN = BaseRecognizer.HIDDEN # token types -T29=29 -HexDigit=13 -T70=70 -T74=74 -T85=85 -T102=102 T114=114 -T103=103 +T115=115 +T116=116 +T117=117 +FloatTypeSuffix=16 +LETTER=11 +T29=29 +T28=28 +T27=27 +T26=26 +T25=25 +EOF=-1 STRING_LITERAL=9 +FLOATING_POINT_LITERAL=10 +T38=38 +T37=37 +T39=39 +T34=34 +COMMENT=22 +T33=33 +T36=36 +T35=35 +T30=30 T32=32 -T81=81 +T31=31 +LINE_COMMENT=23 +IntegerTypeSuffix=14 +CHARACTER_LITERAL=8 +T49=49 +T48=48 +T100=100 +T43=43 +T42=42 +T102=102 T41=41 -FloatTypeSuffix=16 -T113=113 -T62=62 +T101=101 +T40=40 +T47=47 +T46=46 +T45=45 +T44=44 T109=109 +T107=107 +T108=108 +T105=105 +WS=19 +T106=106 +T103=103 +T104=104 +T50=50 +LINE_COMMAND=24 +T59=59 +T113=113 +T52=52 +T112=112 +T51=51 +T111=111 +T54=54 +T110=110 +EscapeSequence=12 DECIMAL_LITERAL=7 -IntegerTypeSuffix=14 -T68=68 +T53=53 +T56=56 +T55=55 +T58=58 +T57=57 +T75=75 +T76=76 T73=73 -T84=84 -T33=33 -UnicodeVocabulary=21 +T74=74 +T79=79 +T77=77 T78=78 -T115=115 -WS=19 -LINE_COMMAND=24 -T42=42 -T96=96 -T71=71 -LINE_COMMENT=23 +Exponent=15 +HexDigit=13 T72=72 -T94=94 -FLOATING_POINT_LITERAL=10 -T76=76 -UnicodeEscape=18 -T75=75 -T89=89 +T71=71 +T70=70 +T62=62 +T63=63 +T64=64 +T65=65 +T66=66 T67=67 -T31=31 -T60=60 -T82=82 -T100=100 -T49=49 +T68=68 +T69=69 IDENTIFIER=4 -T30=30 -CHARACTER_LITERAL=8 -T79=79 -T36=36 -T58=58 -T93=93 -T35=35 -T107=107 -OCTAL_LITERAL=6 -T83=83 -T61=61 +UnicodeVocabulary=21 HEX_LITERAL=5 -T45=45 -T34=34 -T101=101 -T64=64 -T25=25 -T91=91 -T105=105 -T37=37 -T86=86 -T116=116 -EscapeSequence=12 -T26=26 -T51=51 -T111=111 -T46=46 -T77=77 -T38=38 -T106=106 -T112=112 -T69=69 -T39=39 -T44=44 -T55=55 -LETTER=11 -Exponent=15 -T95=95 -T50=50 -T110=110 -T108=108 +T61=61 +T60=60 +T99=99 +T97=97 BS=20 +T98=98 +T95=95 +T96=96 +OCTAL_LITERAL=6 +T94=94 +Tokens=118 +T93=93 T92=92 -T43=43 -T28=28 -T40=40 -T66=66 -COMMENT=22 +T91=91 +T90=90 T88=88 -T63=63 -T57=57 -T65=65 -T98=98 -T56=56 +T89=89 +T84=84 +T85=85 +T86=86 T87=87 +UnicodeEscape=18 +T81=81 T80=80 -T59=59 -T97=97 -T48=48 -T54=54 -EOF=-1 -T104=104 -T47=47 -Tokens=117 -T53=53 +T83=83 OctalEscape=17 -T99=99 -T27=27 -T52=52 -T90=90 +T82=82 class CLexer(Lexer): @@ -162,8 +183,8 @@ class CLexer(Lexer): try: self.type = T25 - # C.g:7:5: ( ';' ) - # C.g:7:7: ';' + # C.g:27:5: ( ';' ) + # C.g:27:7: ';' self.match(u';') @@ -184,8 +205,8 @@ class CLexer(Lexer): try: self.type = T26 - # C.g:8:5: ( 'typedef' ) - # C.g:8:7: 'typedef' + # C.g:28:5: ( 'typedef' ) + # C.g:28:7: 'typedef' self.match("typedef") @@ -207,8 +228,8 @@ class CLexer(Lexer): try: self.type = T27 - # C.g:9:5: ( ',' ) - # C.g:9:7: ',' + # C.g:29:5: ( ',' ) + # C.g:29:7: ',' self.match(u',') @@ -229,8 +250,8 @@ class CLexer(Lexer): try: self.type = T28 - # C.g:10:5: ( '=' ) - # C.g:10:7: '=' + # C.g:30:5: ( '=' ) + # C.g:30:7: '=' self.match(u'=') @@ -251,8 +272,8 @@ class CLexer(Lexer): try: self.type = T29 - # C.g:11:5: ( 'extern' ) - # C.g:11:7: 'extern' + # C.g:31:5: ( 'extern' ) + # C.g:31:7: 'extern' self.match("extern") @@ -274,8 +295,8 @@ class CLexer(Lexer): try: self.type = T30 - # C.g:12:5: ( 'static' ) - # C.g:12:7: 'static' + # C.g:32:5: ( 'static' ) + # C.g:32:7: 'static' self.match("static") @@ -297,8 +318,8 @@ class CLexer(Lexer): try: self.type = T31 - # C.g:13:5: ( 'auto' ) - # C.g:13:7: 'auto' + # C.g:33:5: ( 'auto' ) + # C.g:33:7: 'auto' self.match("auto") @@ -320,8 +341,8 @@ class CLexer(Lexer): try: self.type = T32 - # C.g:14:5: ( 'register' ) - # C.g:14:7: 'register' + # C.g:34:5: ( 'register' ) + # C.g:34:7: 'register' self.match("register") @@ -343,8 +364,8 @@ class CLexer(Lexer): try: self.type = T33 - # C.g:15:5: ( 'STATIC' ) - # C.g:15:7: 'STATIC' + # C.g:35:5: ( 'STATIC' ) + # C.g:35:7: 'STATIC' self.match("STATIC") @@ -366,8 +387,8 @@ class CLexer(Lexer): try: self.type = T34 - # C.g:16:5: ( 'void' ) - # C.g:16:7: 'void' + # C.g:36:5: ( 'void' ) + # C.g:36:7: 'void' self.match("void") @@ -389,8 +410,8 @@ class CLexer(Lexer): try: self.type = T35 - # C.g:17:5: ( 'char' ) - # C.g:17:7: 'char' + # C.g:37:5: ( 'char' ) + # C.g:37:7: 'char' self.match("char") @@ -412,8 +433,8 @@ class CLexer(Lexer): try: self.type = T36 - # C.g:18:5: ( 'short' ) - # C.g:18:7: 'short' + # C.g:38:5: ( 'short' ) + # C.g:38:7: 'short' self.match("short") @@ -435,8 +456,8 @@ class CLexer(Lexer): try: self.type = T37 - # C.g:19:5: ( 'int' ) - # C.g:19:7: 'int' + # C.g:39:5: ( 'int' ) + # C.g:39:7: 'int' self.match("int") @@ -458,8 +479,8 @@ class CLexer(Lexer): try: self.type = T38 - # C.g:20:5: ( 'long' ) - # C.g:20:7: 'long' + # C.g:40:5: ( 'long' ) + # C.g:40:7: 'long' self.match("long") @@ -481,8 +502,8 @@ class CLexer(Lexer): try: self.type = T39 - # C.g:21:5: ( 'float' ) - # C.g:21:7: 'float' + # C.g:41:5: ( 'float' ) + # C.g:41:7: 'float' self.match("float") @@ -504,8 +525,8 @@ class CLexer(Lexer): try: self.type = T40 - # C.g:22:5: ( 'double' ) - # C.g:22:7: 'double' + # C.g:42:5: ( 'double' ) + # C.g:42:7: 'double' self.match("double") @@ -527,8 +548,8 @@ class CLexer(Lexer): try: self.type = T41 - # C.g:23:5: ( 'signed' ) - # C.g:23:7: 'signed' + # C.g:43:5: ( 'signed' ) + # C.g:43:7: 'signed' self.match("signed") @@ -550,8 +571,8 @@ class CLexer(Lexer): try: self.type = T42 - # C.g:24:5: ( 'unsigned' ) - # C.g:24:7: 'unsigned' + # C.g:44:5: ( 'unsigned' ) + # C.g:44:7: 'unsigned' self.match("unsigned") @@ -573,8 +594,8 @@ class CLexer(Lexer): try: self.type = T43 - # C.g:25:5: ( '{' ) - # C.g:25:7: '{' + # C.g:45:5: ( '{' ) + # C.g:45:7: '{' self.match(u'{') @@ -595,8 +616,8 @@ class CLexer(Lexer): try: self.type = T44 - # C.g:26:5: ( '}' ) - # C.g:26:7: '}' + # C.g:46:5: ( '}' ) + # C.g:46:7: '}' self.match(u'}') @@ -617,8 +638,8 @@ class CLexer(Lexer): try: self.type = T45 - # C.g:27:5: ( 'struct' ) - # C.g:27:7: 'struct' + # C.g:47:5: ( 'struct' ) + # C.g:47:7: 'struct' self.match("struct") @@ -640,8 +661,8 @@ class CLexer(Lexer): try: self.type = T46 - # C.g:28:5: ( 'union' ) - # C.g:28:7: 'union' + # C.g:48:5: ( 'union' ) + # C.g:48:7: 'union' self.match("union") @@ -663,8 +684,8 @@ class CLexer(Lexer): try: self.type = T47 - # C.g:29:5: ( ':' ) - # C.g:29:7: ':' + # C.g:49:5: ( ':' ) + # C.g:49:7: ':' self.match(u':') @@ -685,8 +706,8 @@ class CLexer(Lexer): try: self.type = T48 - # C.g:30:5: ( 'enum' ) - # C.g:30:7: 'enum' + # C.g:50:5: ( 'enum' ) + # C.g:50:7: 'enum' self.match("enum") @@ -708,8 +729,8 @@ class CLexer(Lexer): try: self.type = T49 - # C.g:31:5: ( 'const' ) - # C.g:31:7: 'const' + # C.g:51:5: ( 'const' ) + # C.g:51:7: 'const' self.match("const") @@ -731,8 +752,8 @@ class CLexer(Lexer): try: self.type = T50 - # C.g:32:5: ( 'volatile' ) - # C.g:32:7: 'volatile' + # C.g:52:5: ( 'volatile' ) + # C.g:52:7: 'volatile' self.match("volatile") @@ -754,8 +775,8 @@ class CLexer(Lexer): try: self.type = T51 - # C.g:33:5: ( 'IN' ) - # C.g:33:7: 'IN' + # C.g:53:5: ( 'IN' ) + # C.g:53:7: 'IN' self.match("IN") @@ -777,8 +798,8 @@ class CLexer(Lexer): try: self.type = T52 - # C.g:34:5: ( 'OUT' ) - # C.g:34:7: 'OUT' + # C.g:54:5: ( 'OUT' ) + # C.g:54:7: 'OUT' self.match("OUT") @@ -800,8 +821,8 @@ class CLexer(Lexer): try: self.type = T53 - # C.g:35:5: ( 'OPTIONAL' ) - # C.g:35:7: 'OPTIONAL' + # C.g:55:5: ( 'OPTIONAL' ) + # C.g:55:7: 'OPTIONAL' self.match("OPTIONAL") @@ -823,8 +844,8 @@ class CLexer(Lexer): try: self.type = T54 - # C.g:36:5: ( 'CONST' ) - # C.g:36:7: 'CONST' + # C.g:56:5: ( 'CONST' ) + # C.g:56:7: 'CONST' self.match("CONST") @@ -846,8 +867,8 @@ class CLexer(Lexer): try: self.type = T55 - # C.g:37:5: ( 'UNALIGNED' ) - # C.g:37:7: 'UNALIGNED' + # C.g:57:5: ( 'UNALIGNED' ) + # C.g:57:7: 'UNALIGNED' self.match("UNALIGNED") @@ -869,8 +890,8 @@ class CLexer(Lexer): try: self.type = T56 - # C.g:38:5: ( 'VOLATILE' ) - # C.g:38:7: 'VOLATILE' + # C.g:58:5: ( 'VOLATILE' ) + # C.g:58:7: 'VOLATILE' self.match("VOLATILE") @@ -892,8 +913,8 @@ class CLexer(Lexer): try: self.type = T57 - # C.g:39:5: ( 'GLOBAL_REMOVE_IF_UNREFERENCED' ) - # C.g:39:7: 'GLOBAL_REMOVE_IF_UNREFERENCED' + # C.g:59:5: ( 'GLOBAL_REMOVE_IF_UNREFERENCED' ) + # C.g:59:7: 'GLOBAL_REMOVE_IF_UNREFERENCED' self.match("GLOBAL_REMOVE_IF_UNREFERENCED") @@ -915,8 +936,8 @@ class CLexer(Lexer): try: self.type = T58 - # C.g:40:5: ( 'EFIAPI' ) - # C.g:40:7: 'EFIAPI' + # C.g:60:5: ( 'EFIAPI' ) + # C.g:60:7: 'EFIAPI' self.match("EFIAPI") @@ -938,8 +959,8 @@ class CLexer(Lexer): try: self.type = T59 - # C.g:41:5: ( 'EFI_BOOTSERVICE' ) - # C.g:41:7: 'EFI_BOOTSERVICE' + # C.g:61:5: ( 'EFI_BOOTSERVICE' ) + # C.g:61:7: 'EFI_BOOTSERVICE' self.match("EFI_BOOTSERVICE") @@ -961,8 +982,8 @@ class CLexer(Lexer): try: self.type = T60 - # C.g:42:5: ( 'EFI_RUNTIMESERVICE' ) - # C.g:42:7: 'EFI_RUNTIMESERVICE' + # C.g:62:5: ( 'EFI_RUNTIMESERVICE' ) + # C.g:62:7: 'EFI_RUNTIMESERVICE' self.match("EFI_RUNTIMESERVICE") @@ -984,9 +1005,10 @@ class CLexer(Lexer): try: self.type = T61 - # C.g:43:5: ( '(' ) - # C.g:43:7: '(' - self.match(u'(') + # C.g:63:5: ( 'PACKED' ) + # C.g:63:7: 'PACKED' + self.match("PACKED") + @@ -1006,9 +1028,9 @@ class CLexer(Lexer): try: self.type = T62 - # C.g:44:5: ( ')' ) - # C.g:44:7: ')' - self.match(u')') + # C.g:64:5: ( '(' ) + # C.g:64:7: '(' + self.match(u'(') @@ -1028,9 +1050,9 @@ class CLexer(Lexer): try: self.type = T63 - # C.g:45:5: ( '[' ) - # C.g:45:7: '[' - self.match(u'[') + # C.g:65:5: ( ')' ) + # C.g:65:7: ')' + self.match(u')') @@ -1050,9 +1072,9 @@ class CLexer(Lexer): try: self.type = T64 - # C.g:46:5: ( ']' ) - # C.g:46:7: ']' - self.match(u']') + # C.g:66:5: ( '[' ) + # C.g:66:7: '[' + self.match(u'[') @@ -1072,9 +1094,9 @@ class CLexer(Lexer): try: self.type = T65 - # C.g:47:5: ( '*' ) - # C.g:47:7: '*' - self.match(u'*') + # C.g:67:5: ( ']' ) + # C.g:67:7: ']' + self.match(u']') @@ -1094,10 +1116,9 @@ class CLexer(Lexer): try: self.type = T66 - # C.g:48:5: ( '...' ) - # C.g:48:7: '...' - self.match("...") - + # C.g:68:5: ( '*' ) + # C.g:68:7: '*' + self.match(u'*') @@ -1117,9 +1138,10 @@ class CLexer(Lexer): try: self.type = T67 - # C.g:49:5: ( '+' ) - # C.g:49:7: '+' - self.match(u'+') + # C.g:69:5: ( '...' ) + # C.g:69:7: '...' + self.match("...") + @@ -1139,9 +1161,9 @@ class CLexer(Lexer): try: self.type = T68 - # C.g:50:5: ( '-' ) - # C.g:50:7: '-' - self.match(u'-') + # C.g:70:5: ( '+' ) + # C.g:70:7: '+' + self.match(u'+') @@ -1161,9 +1183,9 @@ class CLexer(Lexer): try: self.type = T69 - # C.g:51:5: ( '/' ) - # C.g:51:7: '/' - self.match(u'/') + # C.g:71:5: ( '-' ) + # C.g:71:7: '-' + self.match(u'-') @@ -1183,9 +1205,9 @@ class CLexer(Lexer): try: self.type = T70 - # C.g:52:5: ( '%' ) - # C.g:52:7: '%' - self.match(u'%') + # C.g:72:5: ( '/' ) + # C.g:72:7: '/' + self.match(u'/') @@ -1205,10 +1227,9 @@ class CLexer(Lexer): try: self.type = T71 - # C.g:53:5: ( '++' ) - # C.g:53:7: '++' - self.match("++") - + # C.g:73:5: ( '%' ) + # C.g:73:7: '%' + self.match(u'%') @@ -1228,9 +1249,9 @@ class CLexer(Lexer): try: self.type = T72 - # C.g:54:5: ( '--' ) - # C.g:54:7: '--' - self.match("--") + # C.g:74:5: ( '++' ) + # C.g:74:7: '++' + self.match("++") @@ -1251,9 +1272,9 @@ class CLexer(Lexer): try: self.type = T73 - # C.g:55:5: ( 'sizeof' ) - # C.g:55:7: 'sizeof' - self.match("sizeof") + # C.g:75:5: ( '--' ) + # C.g:75:7: '--' + self.match("--") @@ -1274,9 +1295,10 @@ class CLexer(Lexer): try: self.type = T74 - # C.g:56:5: ( '.' ) - # C.g:56:7: '.' - self.match(u'.') + # C.g:76:5: ( 'sizeof' ) + # C.g:76:7: 'sizeof' + self.match("sizeof") + @@ -1296,10 +1318,9 @@ class CLexer(Lexer): try: self.type = T75 - # C.g:57:5: ( '->' ) - # C.g:57:7: '->' - self.match("->") - + # C.g:77:5: ( '.' ) + # C.g:77:7: '.' + self.match(u'.') @@ -1319,9 +1340,10 @@ class CLexer(Lexer): try: self.type = T76 - # C.g:58:5: ( '&' ) - # C.g:58:7: '&' - self.match(u'&') + # C.g:78:5: ( '->' ) + # C.g:78:7: '->' + self.match("->") + @@ -1341,9 +1363,9 @@ class CLexer(Lexer): try: self.type = T77 - # C.g:59:5: ( '~' ) - # C.g:59:7: '~' - self.match(u'~') + # C.g:79:5: ( '&' ) + # C.g:79:7: '&' + self.match(u'&') @@ -1363,9 +1385,9 @@ class CLexer(Lexer): try: self.type = T78 - # C.g:60:5: ( '!' ) - # C.g:60:7: '!' - self.match(u'!') + # C.g:80:5: ( '~' ) + # C.g:80:7: '~' + self.match(u'~') @@ -1385,10 +1407,9 @@ class CLexer(Lexer): try: self.type = T79 - # C.g:61:5: ( '*=' ) - # C.g:61:7: '*=' - self.match("*=") - + # C.g:81:5: ( '!' ) + # C.g:81:7: '!' + self.match(u'!') @@ -1408,9 +1429,9 @@ class CLexer(Lexer): try: self.type = T80 - # C.g:62:5: ( '/=' ) - # C.g:62:7: '/=' - self.match("/=") + # C.g:82:5: ( '*=' ) + # C.g:82:7: '*=' + self.match("*=") @@ -1431,9 +1452,9 @@ class CLexer(Lexer): try: self.type = T81 - # C.g:63:5: ( '%=' ) - # C.g:63:7: '%=' - self.match("%=") + # C.g:83:5: ( '/=' ) + # C.g:83:7: '/=' + self.match("/=") @@ -1454,9 +1475,9 @@ class CLexer(Lexer): try: self.type = T82 - # C.g:64:5: ( '+=' ) - # C.g:64:7: '+=' - self.match("+=") + # C.g:84:5: ( '%=' ) + # C.g:84:7: '%=' + self.match("%=") @@ -1477,9 +1498,9 @@ class CLexer(Lexer): try: self.type = T83 - # C.g:65:5: ( '-=' ) - # C.g:65:7: '-=' - self.match("-=") + # C.g:85:5: ( '+=' ) + # C.g:85:7: '+=' + self.match("+=") @@ -1500,9 +1521,9 @@ class CLexer(Lexer): try: self.type = T84 - # C.g:66:5: ( '<<=' ) - # C.g:66:7: '<<=' - self.match("<<=") + # C.g:86:5: ( '-=' ) + # C.g:86:7: '-=' + self.match("-=") @@ -1523,9 +1544,9 @@ class CLexer(Lexer): try: self.type = T85 - # C.g:67:5: ( '>>=' ) - # C.g:67:7: '>>=' - self.match(">>=") + # C.g:87:5: ( '<<=' ) + # C.g:87:7: '<<=' + self.match("<<=") @@ -1546,9 +1567,9 @@ class CLexer(Lexer): try: self.type = T86 - # C.g:68:5: ( '&=' ) - # C.g:68:7: '&=' - self.match("&=") + # C.g:88:5: ( '>>=' ) + # C.g:88:7: '>>=' + self.match(">>=") @@ -1569,9 +1590,9 @@ class CLexer(Lexer): try: self.type = T87 - # C.g:69:5: ( '^=' ) - # C.g:69:7: '^=' - self.match("^=") + # C.g:89:5: ( '&=' ) + # C.g:89:7: '&=' + self.match("&=") @@ -1592,9 +1613,9 @@ class CLexer(Lexer): try: self.type = T88 - # C.g:70:5: ( '|=' ) - # C.g:70:7: '|=' - self.match("|=") + # C.g:90:5: ( '^=' ) + # C.g:90:7: '^=' + self.match("^=") @@ -1615,9 +1636,10 @@ class CLexer(Lexer): try: self.type = T89 - # C.g:71:5: ( '?' ) - # C.g:71:7: '?' - self.match(u'?') + # C.g:91:5: ( '|=' ) + # C.g:91:7: '|=' + self.match("|=") + @@ -1637,10 +1659,9 @@ class CLexer(Lexer): try: self.type = T90 - # C.g:72:5: ( '||' ) - # C.g:72:7: '||' - self.match("||") - + # C.g:92:5: ( '?' ) + # C.g:92:7: '?' + self.match(u'?') @@ -1660,9 +1681,9 @@ class CLexer(Lexer): try: self.type = T91 - # C.g:73:5: ( '&&' ) - # C.g:73:7: '&&' - self.match("&&") + # C.g:93:5: ( '||' ) + # C.g:93:7: '||' + self.match("||") @@ -1683,9 +1704,10 @@ class CLexer(Lexer): try: self.type = T92 - # C.g:74:5: ( '|' ) - # C.g:74:7: '|' - self.match(u'|') + # C.g:94:5: ( '&&' ) + # C.g:94:7: '&&' + self.match("&&") + @@ -1705,9 +1727,9 @@ class CLexer(Lexer): try: self.type = T93 - # C.g:75:5: ( '^' ) - # C.g:75:7: '^' - self.match(u'^') + # C.g:95:5: ( '|' ) + # C.g:95:7: '|' + self.match(u'|') @@ -1727,10 +1749,9 @@ class CLexer(Lexer): try: self.type = T94 - # C.g:76:5: ( '==' ) - # C.g:76:7: '==' - self.match("==") - + # C.g:96:5: ( '^' ) + # C.g:96:7: '^' + self.match(u'^') @@ -1750,9 +1771,9 @@ class CLexer(Lexer): try: self.type = T95 - # C.g:77:5: ( '!=' ) - # C.g:77:7: '!=' - self.match("!=") + # C.g:97:5: ( '==' ) + # C.g:97:7: '==' + self.match("==") @@ -1773,9 +1794,10 @@ class CLexer(Lexer): try: self.type = T96 - # C.g:78:5: ( '<' ) - # C.g:78:7: '<' - self.match(u'<') + # C.g:98:5: ( '!=' ) + # C.g:98:7: '!=' + self.match("!=") + @@ -1795,9 +1817,9 @@ class CLexer(Lexer): try: self.type = T97 - # C.g:79:5: ( '>' ) - # C.g:79:7: '>' - self.match(u'>') + # C.g:99:5: ( '<' ) + # C.g:99:7: '<' + self.match(u'<') @@ -1817,10 +1839,9 @@ class CLexer(Lexer): try: self.type = T98 - # C.g:80:5: ( '<=' ) - # C.g:80:7: '<=' - self.match("<=") - + # C.g:100:5: ( '>' ) + # C.g:100:7: '>' + self.match(u'>') @@ -1840,9 +1861,9 @@ class CLexer(Lexer): try: self.type = T99 - # C.g:81:5: ( '>=' ) - # C.g:81:7: '>=' - self.match(">=") + # C.g:101:5: ( '<=' ) + # C.g:101:7: '<=' + self.match("<=") @@ -1863,9 +1884,9 @@ class CLexer(Lexer): try: self.type = T100 - # C.g:82:6: ( '<<' ) - # C.g:82:8: '<<' - self.match("<<") + # C.g:102:6: ( '>=' ) + # C.g:102:8: '>=' + self.match(">=") @@ -1886,9 +1907,9 @@ class CLexer(Lexer): try: self.type = T101 - # C.g:83:6: ( '>>' ) - # C.g:83:8: '>>' - self.match(">>") + # C.g:103:6: ( '<<' ) + # C.g:103:8: '<<' + self.match("<<") @@ -1909,9 +1930,9 @@ class CLexer(Lexer): try: self.type = T102 - # C.g:84:6: ( '__asm__' ) - # C.g:84:8: '__asm__' - self.match("__asm__") + # C.g:104:6: ( '>>' ) + # C.g:104:8: '>>' + self.match(">>") @@ -1932,9 +1953,9 @@ class CLexer(Lexer): try: self.type = T103 - # C.g:85:6: ( '_asm' ) - # C.g:85:8: '_asm' - self.match("_asm") + # C.g:105:6: ( '__asm__' ) + # C.g:105:8: '__asm__' + self.match("__asm__") @@ -1955,9 +1976,9 @@ class CLexer(Lexer): try: self.type = T104 - # C.g:86:6: ( '__asm' ) - # C.g:86:8: '__asm' - self.match("__asm") + # C.g:106:6: ( '_asm' ) + # C.g:106:8: '_asm' + self.match("_asm") @@ -1978,9 +1999,9 @@ class CLexer(Lexer): try: self.type = T105 - # C.g:87:6: ( 'case' ) - # C.g:87:8: 'case' - self.match("case") + # C.g:107:6: ( '__asm' ) + # C.g:107:8: '__asm' + self.match("__asm") @@ -2001,9 +2022,9 @@ class CLexer(Lexer): try: self.type = T106 - # C.g:88:6: ( 'default' ) - # C.g:88:8: 'default' - self.match("default") + # C.g:108:6: ( 'case' ) + # C.g:108:8: 'case' + self.match("case") @@ -2024,9 +2045,9 @@ class CLexer(Lexer): try: self.type = T107 - # C.g:89:6: ( 'if' ) - # C.g:89:8: 'if' - self.match("if") + # C.g:109:6: ( 'default' ) + # C.g:109:8: 'default' + self.match("default") @@ -2047,9 +2068,9 @@ class CLexer(Lexer): try: self.type = T108 - # C.g:90:6: ( 'else' ) - # C.g:90:8: 'else' - self.match("else") + # C.g:110:6: ( 'if' ) + # C.g:110:8: 'if' + self.match("if") @@ -2070,9 +2091,9 @@ class CLexer(Lexer): try: self.type = T109 - # C.g:91:6: ( 'switch' ) - # C.g:91:8: 'switch' - self.match("switch") + # C.g:111:6: ( 'else' ) + # C.g:111:8: 'else' + self.match("else") @@ -2093,9 +2114,9 @@ class CLexer(Lexer): try: self.type = T110 - # C.g:92:6: ( 'while' ) - # C.g:92:8: 'while' - self.match("while") + # C.g:112:6: ( 'switch' ) + # C.g:112:8: 'switch' + self.match("switch") @@ -2116,9 +2137,9 @@ class CLexer(Lexer): try: self.type = T111 - # C.g:93:6: ( 'do' ) - # C.g:93:8: 'do' - self.match("do") + # C.g:113:6: ( 'while' ) + # C.g:113:8: 'while' + self.match("while") @@ -2139,9 +2160,9 @@ class CLexer(Lexer): try: self.type = T112 - # C.g:94:6: ( 'for' ) - # C.g:94:8: 'for' - self.match("for") + # C.g:114:6: ( 'do' ) + # C.g:114:8: 'do' + self.match("do") @@ -2162,9 +2183,9 @@ class CLexer(Lexer): try: self.type = T113 - # C.g:95:6: ( 'goto' ) - # C.g:95:8: 'goto' - self.match("goto") + # C.g:115:6: ( 'for' ) + # C.g:115:8: 'for' + self.match("for") @@ -2185,9 +2206,9 @@ class CLexer(Lexer): try: self.type = T114 - # C.g:96:6: ( 'continue' ) - # C.g:96:8: 'continue' - self.match("continue") + # C.g:116:6: ( 'goto' ) + # C.g:116:8: 'goto' + self.match("goto") @@ -2208,9 +2229,9 @@ class CLexer(Lexer): try: self.type = T115 - # C.g:97:6: ( 'break' ) - # C.g:97:8: 'break' - self.match("break") + # C.g:117:6: ( 'continue' ) + # C.g:117:8: 'continue' + self.match("continue") @@ -2231,9 +2252,9 @@ class CLexer(Lexer): try: self.type = T116 - # C.g:98:6: ( 'return' ) - # C.g:98:8: 'return' - self.match("return") + # C.g:118:6: ( 'break' ) + # C.g:118:8: 'break' + self.match("break") @@ -2248,17 +2269,40 @@ class CLexer(Lexer): + # $ANTLR start T117 + def mT117(self, ): + + try: + self.type = T117 + + # C.g:119:6: ( 'return' ) + # C.g:119:8: 'return' + self.match("return") + + + + + + + finally: + + pass + + # $ANTLR end T117 + + + # $ANTLR start IDENTIFIER def mIDENTIFIER(self, ): try: self.type = IDENTIFIER - # C.g:533:2: ( LETTER ( LETTER | '0' .. '9' )* ) - # C.g:533:4: LETTER ( LETTER | '0' .. '9' )* + # C.g:586:2: ( LETTER ( LETTER | '0' .. '9' )* ) + # C.g:586:4: LETTER ( LETTER | '0' .. '9' )* self.mLETTER() - # C.g:533:11: ( LETTER | '0' .. '9' )* + # C.g:586:11: ( LETTER | '0' .. '9' )* while True: #loop1 alt1 = 2 LA1_0 = self.input.LA(1) @@ -2300,7 +2344,7 @@ class CLexer(Lexer): def mLETTER(self, ): try: - # C.g:538:2: ( '$' | 'A' .. 'Z' | 'a' .. 'z' | '_' ) + # C.g:591:2: ( '$' | 'A' .. 'Z' | 'a' .. 'z' | '_' ) # C.g: if self.input.LA(1) == u'$' or (u'A' <= self.input.LA(1) <= u'Z') or self.input.LA(1) == u'_' or (u'a' <= self.input.LA(1) <= u'z'): self.input.consume(); @@ -2329,16 +2373,16 @@ class CLexer(Lexer): try: self.type = CHARACTER_LITERAL - # C.g:545:5: ( ( 'L' )? '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' ) - # C.g:545:9: ( 'L' )? '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' - # C.g:545:9: ( 'L' )? + # C.g:598:5: ( ( 'L' )? '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' ) + # C.g:598:9: ( 'L' )? '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' + # C.g:598:9: ( 'L' )? alt2 = 2 LA2_0 = self.input.LA(1) if (LA2_0 == u'L') : alt2 = 1 if alt2 == 1: - # C.g:545:10: 'L' + # C.g:598:10: 'L' self.match(u'L') @@ -2346,7 +2390,7 @@ class CLexer(Lexer): self.match(u'\'') - # C.g:545:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) + # C.g:598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) alt3 = 2 LA3_0 = self.input.LA(1) @@ -2355,18 +2399,18 @@ class CLexer(Lexer): elif ((u'\u0000' <= LA3_0 <= u'&') or (u'(' <= LA3_0 <= u'[') or (u']' <= LA3_0 <= u'\uFFFE')) : alt3 = 2 else: - nvae = NoViableAltException("545:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 3, 0, self.input) + nvae = NoViableAltException("598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 3, 0, self.input) raise nvae if alt3 == 1: - # C.g:545:23: EscapeSequence + # C.g:598:23: EscapeSequence self.mEscapeSequence() elif alt3 == 2: - # C.g:545:40: ~ ( '\\'' | '\\\\' ) + # C.g:598:40: ~ ( '\\'' | '\\\\' ) if (u'\u0000' <= self.input.LA(1) <= u'&') or (u'(' <= self.input.LA(1) <= u'[') or (u']' <= self.input.LA(1) <= u'\uFFFE'): self.input.consume(); @@ -2399,16 +2443,16 @@ class CLexer(Lexer): try: self.type = STRING_LITERAL - # C.g:549:5: ( ( 'L' )? '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) - # C.g:549:8: ( 'L' )? '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' - # C.g:549:8: ( 'L' )? + # C.g:602:5: ( ( 'L' )? '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) + # C.g:602:8: ( 'L' )? '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' + # C.g:602:8: ( 'L' )? alt4 = 2 LA4_0 = self.input.LA(1) if (LA4_0 == u'L') : alt4 = 1 if alt4 == 1: - # C.g:549:9: 'L' + # C.g:602:9: 'L' self.match(u'L') @@ -2416,7 +2460,7 @@ class CLexer(Lexer): self.match(u'"') - # C.g:549:19: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* + # C.g:602:19: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* while True: #loop5 alt5 = 3 LA5_0 = self.input.LA(1) @@ -2428,13 +2472,13 @@ class CLexer(Lexer): if alt5 == 1: - # C.g:549:21: EscapeSequence + # C.g:602:21: EscapeSequence self.mEscapeSequence() elif alt5 == 2: - # C.g:549:38: ~ ( '\\\\' | '\"' ) + # C.g:602:38: ~ ( '\\\\' | '\"' ) if (u'\u0000' <= self.input.LA(1) <= u'!') or (u'#' <= self.input.LA(1) <= u'[') or (u']' <= self.input.LA(1) <= u'\uFFFE'): self.input.consume(); @@ -2470,8 +2514,8 @@ class CLexer(Lexer): try: self.type = HEX_LITERAL - # C.g:552:13: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? ) - # C.g:552:15: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? + # C.g:605:13: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? ) + # C.g:605:15: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? self.match(u'0') if self.input.LA(1) == u'X' or self.input.LA(1) == u'x': @@ -2483,7 +2527,7 @@ class CLexer(Lexer): raise mse - # C.g:552:29: ( HexDigit )+ + # C.g:605:29: ( HexDigit )+ cnt6 = 0 while True: #loop6 alt6 = 2 @@ -2494,7 +2538,7 @@ class CLexer(Lexer): if alt6 == 1: - # C.g:552:29: HexDigit + # C.g:605:29: HexDigit self.mHexDigit() @@ -2509,14 +2553,14 @@ class CLexer(Lexer): cnt6 += 1 - # C.g:552:39: ( IntegerTypeSuffix )? + # C.g:605:39: ( IntegerTypeSuffix )? alt7 = 2 LA7_0 = self.input.LA(1) if (LA7_0 == u'L' or LA7_0 == u'U' or LA7_0 == u'l' or LA7_0 == u'u') : alt7 = 1 if alt7 == 1: - # C.g:552:39: IntegerTypeSuffix + # C.g:605:39: IntegerTypeSuffix self.mIntegerTypeSuffix() @@ -2540,9 +2584,9 @@ class CLexer(Lexer): try: self.type = DECIMAL_LITERAL - # C.g:554:17: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? ) - # C.g:554:19: ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? - # C.g:554:19: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + # C.g:607:17: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? ) + # C.g:607:19: ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? + # C.g:607:19: ( '0' | '1' .. '9' ( '0' .. '9' )* ) alt9 = 2 LA9_0 = self.input.LA(1) @@ -2551,21 +2595,21 @@ class CLexer(Lexer): elif ((u'1' <= LA9_0 <= u'9')) : alt9 = 2 else: - nvae = NoViableAltException("554:19: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 9, 0, self.input) + nvae = NoViableAltException("607:19: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 9, 0, self.input) raise nvae if alt9 == 1: - # C.g:554:20: '0' + # C.g:607:20: '0' self.match(u'0') elif alt9 == 2: - # C.g:554:26: '1' .. '9' ( '0' .. '9' )* + # C.g:607:26: '1' .. '9' ( '0' .. '9' )* self.matchRange(u'1', u'9') - # C.g:554:35: ( '0' .. '9' )* + # C.g:607:35: ( '0' .. '9' )* while True: #loop8 alt8 = 2 LA8_0 = self.input.LA(1) @@ -2575,7 +2619,7 @@ class CLexer(Lexer): if alt8 == 1: - # C.g:554:35: '0' .. '9' + # C.g:607:35: '0' .. '9' self.matchRange(u'0', u'9') @@ -2587,14 +2631,14 @@ class CLexer(Lexer): - # C.g:554:46: ( IntegerTypeSuffix )? + # C.g:607:46: ( IntegerTypeSuffix )? alt10 = 2 LA10_0 = self.input.LA(1) if (LA10_0 == u'L' or LA10_0 == u'U' or LA10_0 == u'l' or LA10_0 == u'u') : alt10 = 1 if alt10 == 1: - # C.g:554:46: IntegerTypeSuffix + # C.g:607:46: IntegerTypeSuffix self.mIntegerTypeSuffix() @@ -2618,11 +2662,11 @@ class CLexer(Lexer): try: self.type = OCTAL_LITERAL - # C.g:556:15: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? ) - # C.g:556:17: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? + # C.g:609:15: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? ) + # C.g:609:17: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? self.match(u'0') - # C.g:556:21: ( '0' .. '7' )+ + # C.g:609:21: ( '0' .. '7' )+ cnt11 = 0 while True: #loop11 alt11 = 2 @@ -2633,7 +2677,7 @@ class CLexer(Lexer): if alt11 == 1: - # C.g:556:22: '0' .. '7' + # C.g:609:22: '0' .. '7' self.matchRange(u'0', u'7') @@ -2648,14 +2692,14 @@ class CLexer(Lexer): cnt11 += 1 - # C.g:556:33: ( IntegerTypeSuffix )? + # C.g:609:33: ( IntegerTypeSuffix )? alt12 = 2 LA12_0 = self.input.LA(1) if (LA12_0 == u'L' or LA12_0 == u'U' or LA12_0 == u'l' or LA12_0 == u'u') : alt12 = 1 if alt12 == 1: - # C.g:556:33: IntegerTypeSuffix + # C.g:609:33: IntegerTypeSuffix self.mIntegerTypeSuffix() @@ -2677,8 +2721,8 @@ class CLexer(Lexer): def mHexDigit(self, ): try: - # C.g:559:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) - # C.g:559:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) + # C.g:612:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) + # C.g:612:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) if (u'0' <= self.input.LA(1) <= u'9') or (u'A' <= self.input.LA(1) <= u'F') or (u'a' <= self.input.LA(1) <= u'f'): self.input.consume(); @@ -2704,7 +2748,7 @@ class CLexer(Lexer): def mIntegerTypeSuffix(self, ): try: - # C.g:563:2: ( ( 'u' | 'U' ) | ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) + # C.g:616:2: ( ( 'u' | 'U' ) | ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) alt13 = 4 LA13_0 = self.input.LA(1) @@ -2723,12 +2767,12 @@ class CLexer(Lexer): elif (LA13_0 == u'L' or LA13_0 == u'l') : alt13 = 2 else: - nvae = NoViableAltException("561:1: fragment IntegerTypeSuffix : ( ( 'u' | 'U' ) | ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) );", 13, 0, self.input) + nvae = NoViableAltException("614:1: fragment IntegerTypeSuffix : ( ( 'u' | 'U' ) | ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) | ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) );", 13, 0, self.input) raise nvae if alt13 == 1: - # C.g:563:4: ( 'u' | 'U' ) + # C.g:616:4: ( 'u' | 'U' ) if self.input.LA(1) == u'U' or self.input.LA(1) == u'u': self.input.consume(); @@ -2741,7 +2785,7 @@ class CLexer(Lexer): elif alt13 == 2: - # C.g:564:4: ( 'l' | 'L' ) + # C.g:617:4: ( 'l' | 'L' ) if self.input.LA(1) == u'L' or self.input.LA(1) == u'l': self.input.consume(); @@ -2754,7 +2798,7 @@ class CLexer(Lexer): elif alt13 == 3: - # C.g:565:4: ( 'u' | 'U' ) ( 'l' | 'L' ) + # C.g:618:4: ( 'u' | 'U' ) ( 'l' | 'L' ) if self.input.LA(1) == u'U' or self.input.LA(1) == u'u': self.input.consume(); @@ -2776,7 +2820,7 @@ class CLexer(Lexer): elif alt13 == 4: - # C.g:566:4: ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) + # C.g:619:4: ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) if self.input.LA(1) == u'U' or self.input.LA(1) == u'u': self.input.consume(); @@ -2821,12 +2865,12 @@ class CLexer(Lexer): try: self.type = FLOATING_POINT_LITERAL - # C.g:570:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix ) + # C.g:623:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix ) alt25 = 4 alt25 = self.dfa25.predict(self.input) if alt25 == 1: - # C.g:570:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? - # C.g:570:9: ( '0' .. '9' )+ + # C.g:623:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? + # C.g:623:9: ( '0' .. '9' )+ cnt14 = 0 while True: #loop14 alt14 = 2 @@ -2837,7 +2881,7 @@ class CLexer(Lexer): if alt14 == 1: - # C.g:570:10: '0' .. '9' + # C.g:623:10: '0' .. '9' self.matchRange(u'0', u'9') @@ -2854,7 +2898,7 @@ class CLexer(Lexer): self.match(u'.') - # C.g:570:25: ( '0' .. '9' )* + # C.g:623:25: ( '0' .. '9' )* while True: #loop15 alt15 = 2 LA15_0 = self.input.LA(1) @@ -2864,7 +2908,7 @@ class CLexer(Lexer): if alt15 == 1: - # C.g:570:26: '0' .. '9' + # C.g:623:26: '0' .. '9' self.matchRange(u'0', u'9') @@ -2873,27 +2917,27 @@ class CLexer(Lexer): break #loop15 - # C.g:570:37: ( Exponent )? + # C.g:623:37: ( Exponent )? alt16 = 2 LA16_0 = self.input.LA(1) if (LA16_0 == u'E' or LA16_0 == u'e') : alt16 = 1 if alt16 == 1: - # C.g:570:37: Exponent + # C.g:623:37: Exponent self.mExponent() - # C.g:570:47: ( FloatTypeSuffix )? + # C.g:623:47: ( FloatTypeSuffix )? alt17 = 2 LA17_0 = self.input.LA(1) if (LA17_0 == u'D' or LA17_0 == u'F' or LA17_0 == u'd' or LA17_0 == u'f') : alt17 = 1 if alt17 == 1: - # C.g:570:47: FloatTypeSuffix + # C.g:623:47: FloatTypeSuffix self.mFloatTypeSuffix() @@ -2902,10 +2946,10 @@ class CLexer(Lexer): elif alt25 == 2: - # C.g:571:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? + # C.g:624:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? self.match(u'.') - # C.g:571:13: ( '0' .. '9' )+ + # C.g:624:13: ( '0' .. '9' )+ cnt18 = 0 while True: #loop18 alt18 = 2 @@ -2916,7 +2960,7 @@ class CLexer(Lexer): if alt18 == 1: - # C.g:571:14: '0' .. '9' + # C.g:624:14: '0' .. '9' self.matchRange(u'0', u'9') @@ -2931,27 +2975,27 @@ class CLexer(Lexer): cnt18 += 1 - # C.g:571:25: ( Exponent )? + # C.g:624:25: ( Exponent )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == u'E' or LA19_0 == u'e') : alt19 = 1 if alt19 == 1: - # C.g:571:25: Exponent + # C.g:624:25: Exponent self.mExponent() - # C.g:571:35: ( FloatTypeSuffix )? + # C.g:624:35: ( FloatTypeSuffix )? alt20 = 2 LA20_0 = self.input.LA(1) if (LA20_0 == u'D' or LA20_0 == u'F' or LA20_0 == u'd' or LA20_0 == u'f') : alt20 = 1 if alt20 == 1: - # C.g:571:35: FloatTypeSuffix + # C.g:624:35: FloatTypeSuffix self.mFloatTypeSuffix() @@ -2960,8 +3004,8 @@ class CLexer(Lexer): elif alt25 == 3: - # C.g:572:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? - # C.g:572:9: ( '0' .. '9' )+ + # C.g:625:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? + # C.g:625:9: ( '0' .. '9' )+ cnt21 = 0 while True: #loop21 alt21 = 2 @@ -2972,7 +3016,7 @@ class CLexer(Lexer): if alt21 == 1: - # C.g:572:10: '0' .. '9' + # C.g:625:10: '0' .. '9' self.matchRange(u'0', u'9') @@ -2989,14 +3033,14 @@ class CLexer(Lexer): self.mExponent() - # C.g:572:30: ( FloatTypeSuffix )? + # C.g:625:30: ( FloatTypeSuffix )? alt22 = 2 LA22_0 = self.input.LA(1) if (LA22_0 == u'D' or LA22_0 == u'F' or LA22_0 == u'd' or LA22_0 == u'f') : alt22 = 1 if alt22 == 1: - # C.g:572:30: FloatTypeSuffix + # C.g:625:30: FloatTypeSuffix self.mFloatTypeSuffix() @@ -3005,8 +3049,8 @@ class CLexer(Lexer): elif alt25 == 4: - # C.g:573:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix - # C.g:573:9: ( '0' .. '9' )+ + # C.g:626:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix + # C.g:626:9: ( '0' .. '9' )+ cnt23 = 0 while True: #loop23 alt23 = 2 @@ -3017,7 +3061,7 @@ class CLexer(Lexer): if alt23 == 1: - # C.g:573:10: '0' .. '9' + # C.g:626:10: '0' .. '9' self.matchRange(u'0', u'9') @@ -3032,14 +3076,14 @@ class CLexer(Lexer): cnt23 += 1 - # C.g:573:21: ( Exponent )? + # C.g:626:21: ( Exponent )? alt24 = 2 LA24_0 = self.input.LA(1) if (LA24_0 == u'E' or LA24_0 == u'e') : alt24 = 1 if alt24 == 1: - # C.g:573:21: Exponent + # C.g:626:21: Exponent self.mExponent() @@ -3062,8 +3106,8 @@ class CLexer(Lexer): def mExponent(self, ): try: - # C.g:577:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) - # C.g:577:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ + # C.g:630:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + # C.g:630:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ if self.input.LA(1) == u'E' or self.input.LA(1) == u'e': self.input.consume(); @@ -3073,7 +3117,7 @@ class CLexer(Lexer): raise mse - # C.g:577:22: ( '+' | '-' )? + # C.g:630:22: ( '+' | '-' )? alt26 = 2 LA26_0 = self.input.LA(1) @@ -3093,7 +3137,7 @@ class CLexer(Lexer): - # C.g:577:33: ( '0' .. '9' )+ + # C.g:630:33: ( '0' .. '9' )+ cnt27 = 0 while True: #loop27 alt27 = 2 @@ -3104,7 +3148,7 @@ class CLexer(Lexer): if alt27 == 1: - # C.g:577:34: '0' .. '9' + # C.g:630:34: '0' .. '9' self.matchRange(u'0', u'9') @@ -3135,8 +3179,8 @@ class CLexer(Lexer): def mFloatTypeSuffix(self, ): try: - # C.g:580:17: ( ( 'f' | 'F' | 'd' | 'D' ) ) - # C.g:580:19: ( 'f' | 'F' | 'd' | 'D' ) + # C.g:633:17: ( ( 'f' | 'F' | 'd' | 'D' ) ) + # C.g:633:19: ( 'f' | 'F' | 'd' | 'D' ) if self.input.LA(1) == u'D' or self.input.LA(1) == u'F' or self.input.LA(1) == u'd' or self.input.LA(1) == u'f': self.input.consume(); @@ -3162,7 +3206,7 @@ class CLexer(Lexer): def mEscapeSequence(self, ): try: - # C.g:584:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape ) + # C.g:637:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape ) alt28 = 2 LA28_0 = self.input.LA(1) @@ -3174,17 +3218,17 @@ class CLexer(Lexer): elif ((u'0' <= LA28_1 <= u'7')) : alt28 = 2 else: - nvae = NoViableAltException("582:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 1, self.input) + nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 1, self.input) raise nvae else: - nvae = NoViableAltException("582:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 0, self.input) + nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 0, self.input) raise nvae if alt28 == 1: - # C.g:584:8: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + # C.g:637:8: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) self.match(u'\\') if self.input.LA(1) == u'"' or self.input.LA(1) == u'\'' or self.input.LA(1) == u'\\' or self.input.LA(1) == u'b' or self.input.LA(1) == u'f' or self.input.LA(1) == u'n' or self.input.LA(1) == u'r' or self.input.LA(1) == u't': @@ -3199,7 +3243,7 @@ class CLexer(Lexer): elif alt28 == 2: - # C.g:585:9: OctalEscape + # C.g:638:9: OctalEscape self.mOctalEscape() @@ -3217,7 +3261,7 @@ class CLexer(Lexer): def mOctalEscape(self, ): try: - # C.g:590:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) + # C.g:643:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) alt29 = 3 LA29_0 = self.input.LA(1) @@ -3244,35 +3288,35 @@ class CLexer(Lexer): else: alt29 = 3 else: - nvae = NoViableAltException("588:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 29, 1, self.input) + nvae = NoViableAltException("641:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 29, 1, self.input) raise nvae else: - nvae = NoViableAltException("588:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 29, 0, self.input) + nvae = NoViableAltException("641:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 29, 0, self.input) raise nvae if alt29 == 1: - # C.g:590:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) + # C.g:643:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) self.match(u'\\') - # C.g:590:14: ( '0' .. '3' ) - # C.g:590:15: '0' .. '3' + # C.g:643:14: ( '0' .. '3' ) + # C.g:643:15: '0' .. '3' self.matchRange(u'0', u'3') - # C.g:590:25: ( '0' .. '7' ) - # C.g:590:26: '0' .. '7' + # C.g:643:25: ( '0' .. '7' ) + # C.g:643:26: '0' .. '7' self.matchRange(u'0', u'7') - # C.g:590:36: ( '0' .. '7' ) - # C.g:590:37: '0' .. '7' + # C.g:643:36: ( '0' .. '7' ) + # C.g:643:37: '0' .. '7' self.matchRange(u'0', u'7') @@ -3281,18 +3325,18 @@ class CLexer(Lexer): elif alt29 == 2: - # C.g:591:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) + # C.g:644:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) self.match(u'\\') - # C.g:591:14: ( '0' .. '7' ) - # C.g:591:15: '0' .. '7' + # C.g:644:14: ( '0' .. '7' ) + # C.g:644:15: '0' .. '7' self.matchRange(u'0', u'7') - # C.g:591:25: ( '0' .. '7' ) - # C.g:591:26: '0' .. '7' + # C.g:644:25: ( '0' .. '7' ) + # C.g:644:26: '0' .. '7' self.matchRange(u'0', u'7') @@ -3301,11 +3345,11 @@ class CLexer(Lexer): elif alt29 == 3: - # C.g:592:9: '\\\\' ( '0' .. '7' ) + # C.g:645:9: '\\\\' ( '0' .. '7' ) self.match(u'\\') - # C.g:592:14: ( '0' .. '7' ) - # C.g:592:15: '0' .. '7' + # C.g:645:14: ( '0' .. '7' ) + # C.g:645:15: '0' .. '7' self.matchRange(u'0', u'7') @@ -3326,8 +3370,8 @@ class CLexer(Lexer): def mUnicodeEscape(self, ): try: - # C.g:597:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) - # C.g:597:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit + # C.g:650:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) + # C.g:650:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit self.match(u'\\') self.match(u'u') @@ -3358,8 +3402,8 @@ class CLexer(Lexer): try: self.type = WS - # C.g:600:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) - # C.g:600:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) + # C.g:653:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) + # C.g:653:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) if (u'\t' <= self.input.LA(1) <= u'\n') or (u'\f' <= self.input.LA(1) <= u'\r') or self.input.LA(1) == u' ': self.input.consume(); @@ -3390,10 +3434,10 @@ class CLexer(Lexer): try: self.type = BS - # C.g:604:5: ( ( '\\\\' ) ) - # C.g:604:7: ( '\\\\' ) - # C.g:604:7: ( '\\\\' ) - # C.g:604:8: '\\\\' + # C.g:657:5: ( ( '\\\\' ) ) + # C.g:657:7: ( '\\\\' ) + # C.g:657:7: ( '\\\\' ) + # C.g:657:8: '\\\\' self.match(u'\\') @@ -3420,8 +3464,8 @@ class CLexer(Lexer): try: self.type = UnicodeVocabulary - # C.g:612:5: ( '\\u0003' .. '\\uFFFE' ) - # C.g:612:7: '\\u0003' .. '\\uFFFE' + # C.g:665:5: ( '\\u0003' .. '\\uFFFE' ) + # C.g:665:7: '\\u0003' .. '\\uFFFE' self.matchRange(u'\u0003', u'\uFFFE') @@ -3442,12 +3486,12 @@ class CLexer(Lexer): try: self.type = COMMENT - # C.g:615:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) - # C.g:615:9: '/*' ( options {greedy=false; } : . )* '*/' + # C.g:668:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) + # C.g:668:9: '/*' ( options {greedy=false; } : . )* '*/' self.match("/*") - # C.g:615:14: ( options {greedy=false; } : . )* + # C.g:668:14: ( options {greedy=false; } : . )* while True: #loop30 alt30 = 2 LA30_0 = self.input.LA(1) @@ -3466,7 +3510,7 @@ class CLexer(Lexer): if alt30 == 1: - # C.g:615:42: . + # C.g:668:42: . self.matchAny() @@ -3499,12 +3543,12 @@ class CLexer(Lexer): try: self.type = LINE_COMMENT - # C.g:620:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) - # C.g:620:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' + # C.g:673:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) + # C.g:673:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' self.match("//") - # C.g:620:12: (~ ( '\\n' | '\\r' ) )* + # C.g:673:12: (~ ( '\\n' | '\\r' ) )* while True: #loop31 alt31 = 2 LA31_0 = self.input.LA(1) @@ -3514,7 +3558,7 @@ class CLexer(Lexer): if alt31 == 1: - # C.g:620:12: ~ ( '\\n' | '\\r' ) + # C.g:673:12: ~ ( '\\n' | '\\r' ) if (u'\u0000' <= self.input.LA(1) <= u'\t') or (u'\u000B' <= self.input.LA(1) <= u'\f') or (u'\u000E' <= self.input.LA(1) <= u'\uFFFE'): self.input.consume(); @@ -3530,14 +3574,14 @@ class CLexer(Lexer): break #loop31 - # C.g:620:26: ( '\\r' )? + # C.g:673:26: ( '\\r' )? alt32 = 2 LA32_0 = self.input.LA(1) if (LA32_0 == u'\r') : alt32 = 1 if alt32 == 1: - # C.g:620:26: '\\r' + # C.g:673:26: '\\r' self.match(u'\r') @@ -3566,11 +3610,11 @@ class CLexer(Lexer): try: self.type = LINE_COMMAND - # C.g:625:5: ( '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) - # C.g:625:7: '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' + # C.g:678:5: ( '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) + # C.g:678:7: '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' self.match(u'#') - # C.g:625:11: (~ ( '\\n' | '\\r' ) )* + # C.g:678:11: (~ ( '\\n' | '\\r' ) )* while True: #loop33 alt33 = 2 LA33_0 = self.input.LA(1) @@ -3580,7 +3624,7 @@ class CLexer(Lexer): if alt33 == 1: - # C.g:625:11: ~ ( '\\n' | '\\r' ) + # C.g:678:11: ~ ( '\\n' | '\\r' ) if (u'\u0000' <= self.input.LA(1) <= u'\t') or (u'\u000B' <= self.input.LA(1) <= u'\f') or (u'\u000E' <= self.input.LA(1) <= u'\uFFFE'): self.input.consume(); @@ -3596,14 +3640,14 @@ class CLexer(Lexer): break #loop33 - # C.g:625:25: ( '\\r' )? + # C.g:678:25: ( '\\r' )? alt34 = 2 LA34_0 = self.input.LA(1) if (LA34_0 == u'\r') : alt34 = 1 if alt34 == 1: - # C.g:625:25: '\\r' + # C.g:678:25: '\\r' self.match(u'\r') @@ -3627,8 +3671,8 @@ class CLexer(Lexer): def mTokens(self): - # C.g:1:8: ( T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | T116 | IDENTIFIER | CHARACTER_LITERAL | STRING_LITERAL | HEX_LITERAL | DECIMAL_LITERAL | OCTAL_LITERAL | FLOATING_POINT_LITERAL | WS | BS | UnicodeVocabulary | COMMENT | LINE_COMMENT | LINE_COMMAND ) - alt35 = 105 + # C.g:1:8: ( T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | T116 | T117 | IDENTIFIER | CHARACTER_LITERAL | STRING_LITERAL | HEX_LITERAL | DECIMAL_LITERAL | OCTAL_LITERAL | FLOATING_POINT_LITERAL | WS | BS | UnicodeVocabulary | COMMENT | LINE_COMMENT | LINE_COMMAND ) + alt35 = 106 alt35 = self.dfa35.predict(self.input) if alt35 == 1: # C.g:1:10: T25 @@ -4183,79 +4227,85 @@ class CLexer(Lexer): elif alt35 == 93: - # C.g:1:395: IDENTIFIER - self.mIDENTIFIER() + # C.g:1:395: T117 + self.mT117() elif alt35 == 94: - # C.g:1:406: CHARACTER_LITERAL - self.mCHARACTER_LITERAL() + # C.g:1:400: IDENTIFIER + self.mIDENTIFIER() elif alt35 == 95: - # C.g:1:424: STRING_LITERAL - self.mSTRING_LITERAL() + # C.g:1:411: CHARACTER_LITERAL + self.mCHARACTER_LITERAL() elif alt35 == 96: - # C.g:1:439: HEX_LITERAL - self.mHEX_LITERAL() + # C.g:1:429: STRING_LITERAL + self.mSTRING_LITERAL() elif alt35 == 97: - # C.g:1:451: DECIMAL_LITERAL - self.mDECIMAL_LITERAL() + # C.g:1:444: HEX_LITERAL + self.mHEX_LITERAL() elif alt35 == 98: - # C.g:1:467: OCTAL_LITERAL - self.mOCTAL_LITERAL() + # C.g:1:456: DECIMAL_LITERAL + self.mDECIMAL_LITERAL() elif alt35 == 99: - # C.g:1:481: FLOATING_POINT_LITERAL - self.mFLOATING_POINT_LITERAL() + # C.g:1:472: OCTAL_LITERAL + self.mOCTAL_LITERAL() elif alt35 == 100: - # C.g:1:504: WS - self.mWS() + # C.g:1:486: FLOATING_POINT_LITERAL + self.mFLOATING_POINT_LITERAL() elif alt35 == 101: - # C.g:1:507: BS - self.mBS() + # C.g:1:509: WS + self.mWS() elif alt35 == 102: - # C.g:1:510: UnicodeVocabulary - self.mUnicodeVocabulary() + # C.g:1:512: BS + self.mBS() elif alt35 == 103: - # C.g:1:528: COMMENT - self.mCOMMENT() + # C.g:1:515: UnicodeVocabulary + self.mUnicodeVocabulary() elif alt35 == 104: - # C.g:1:536: LINE_COMMENT - self.mLINE_COMMENT() + # C.g:1:533: COMMENT + self.mCOMMENT() elif alt35 == 105: - # C.g:1:549: LINE_COMMAND + # C.g:1:541: LINE_COMMENT + self.mLINE_COMMENT() + + + + elif alt35 == 106: + # C.g:1:554: LINE_COMMAND self.mLINE_COMMAND() @@ -4276,15 +4326,15 @@ class CLexer(Lexer): ) DFA25_min = DFA.unpack( - u"\2\56\1\uffff\1\53\2\uffff\2\60\2\uffff" + u"\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff" ) DFA25_max = DFA.unpack( - u"\1\71\1\146\1\uffff\1\71\2\uffff\1\71\1\146\2\uffff" + u"\1\71\1\146\2\uffff\1\71\1\uffff\1\71\1\146\2\uffff" ) DFA25_accept = DFA.unpack( - u"\2\uffff\1\2\1\uffff\1\4\1\1\2\uffff\2\3" + u"\2\uffff\1\2\1\1\1\uffff\1\4\2\uffff\2\3" ) DFA25_special = DFA.unpack( @@ -4294,11 +4344,11 @@ class CLexer(Lexer): DFA25_transition = [ DFA.unpack(u"\1\2\1\uffff\12\1"), - DFA.unpack(u"\1\5\1\uffff\12\1\12\uffff\1\4\1\3\1\4\35\uffff\1\4" - u"\1\3\1\4"), + DFA.unpack(u"\1\3\1\uffff\12\1\12\uffff\1\5\1\4\1\5\35\uffff\1\5" + u"\1\4\1\5"), DFA.unpack(u""), - DFA.unpack(u"\1\6\1\uffff\1\6\2\uffff\12\7"), DFA.unpack(u""), + DFA.unpack(u"\1\6\1\uffff\1\6\2\uffff\12\7"), DFA.unpack(u""), DFA.unpack(u"\12\7"), DFA.unpack(u"\12\7\12\uffff\1\11\1\uffff\1\11\35\uffff\1\11\1\uffff" @@ -4313,230 +4363,234 @@ class CLexer(Lexer): # lookup tables for DFA #35 DFA35_eot = DFA.unpack( - u"\2\uffff\1\75\1\uffff\1\100\14\75\3\uffff\7\75\4\uffff\1\147\1" - u"\151\1\155\1\161\1\165\1\167\1\172\1\uffff\1\175\1\u0080\1\u0083" - u"\1\u0085\1\u0088\1\uffff\5\75\1\uffff\2\72\2\u0092\2\uffff\1\72" - u"\2\uffff\1\75\4\uffff\16\75\1\u00ab\4\75\1\u00b1\2\75\3\uffff\1" - u"\u00b5\7\75\35\uffff\1\u00be\1\uffff\1\u00c0\10\uffff\5\75\4\uffff" - u"\1\u00c6\1\u0092\3\uffff\23\75\1\uffff\1\u00db\1\75\1\u00dd\2\75" - u"\1\uffff\3\75\1\uffff\1\u00e3\6\75\4\uffff\5\75\1\uffff\1\75\1" - u"\u00f1\1\u00f2\7\75\1\u00fa\3\75\1\u00fe\3\75\1\u0102\1\u0103\1" - u"\uffff\1\u0104\1\uffff\5\75\1\uffff\10\75\1\u0113\1\75\1\u0115" - u"\2\75\2\uffff\6\75\1\u011e\1\uffff\3\75\1\uffff\2\75\1\u0124\3" - u"\uffff\1\u0125\3\75\1\u0129\1\75\1\u012b\6\75\1\u0133\1\uffff\1" - u"\u0134\1\uffff\1\u0135\1\75\1\u0137\1\u0138\1\u0139\1\u013a\1\u013b" - u"\1\u013c\1\uffff\1\75\1\u013e\1\u013f\2\75\2\uffff\1\u0142\2\75" - u"\1\uffff\1\75\1\uffff\5\75\1\u014b\1\75\3\uffff\1\u014d\6\uffff" - u"\1\75\2\uffff\2\75\1\uffff\1\u0151\7\75\1\uffff\1\u0159\1\uffff" - u"\1\u015a\1\u015b\1\u015c\1\uffff\1\u015d\1\u015e\1\75\1\u0160\3" - u"\75\6\uffff\1\u0164\1\uffff\3\75\1\uffff\20\75\1\u0178\2\75\1\uffff" - u"\4\75\1\u017f\1\75\1\uffff\11\75\1\u018a\1\uffff" + u"\2\uffff\1\76\1\uffff\1\101\14\76\3\uffff\10\76\4\uffff\1\151\1" + u"\153\1\157\1\163\1\167\1\171\1\174\1\uffff\1\177\1\u0082\1\u0085" + u"\1\u0087\1\u008a\1\uffff\5\76\1\uffff\2\73\2\u0095\2\uffff\1\73" + u"\2\uffff\1\76\4\uffff\16\76\1\u00ad\5\76\1\u00b4\1\76\3\uffff\1" + u"\u00b7\10\76\34\uffff\1\u00c1\2\uffff\1\u00c3\10\uffff\5\76\3\uffff" + u"\1\u00c9\1\uffff\1\u0095\3\uffff\23\76\1\uffff\1\u00de\1\76\1\u00e0" + u"\3\76\1\uffff\2\76\1\uffff\1\76\1\u00e7\6\76\4\uffff\5\76\1\uffff" + u"\1\76\1\u00f5\1\76\1\u00f7\6\76\1\u00fe\4\76\1\u0103\1\u0104\2" + u"\76\1\u0107\1\uffff\1\u0108\1\uffff\6\76\1\uffff\10\76\1\u0118" + u"\1\76\1\u011a\2\76\1\uffff\1\76\1\uffff\5\76\1\u0123\1\uffff\4" + u"\76\2\uffff\1\76\1\u0129\2\uffff\1\u012a\3\76\1\u012e\1\76\1\u0130" + u"\7\76\1\u0139\1\uffff\1\u013a\1\uffff\1\u013b\1\76\1\u013d\1\u013e" + u"\1\u013f\1\u0140\1\u0141\1\u0142\1\uffff\1\76\1\u0144\1\u0145\2" + u"\76\2\uffff\1\76\1\u0149\1\76\1\uffff\1\76\1\uffff\5\76\1\u0151" + u"\1\u0152\1\76\3\uffff\1\u0154\6\uffff\1\76\2\uffff\2\76\1\u0158" + u"\1\uffff\7\76\2\uffff\1\u0160\1\uffff\1\u0161\1\u0162\1\u0163\1" + u"\uffff\1\u0164\1\u0165\1\76\1\u0167\3\76\6\uffff\1\u016b\1\uffff" + u"\3\76\1\uffff\21\76\1\u0180\2\76\1\uffff\3\76\1\u0186\1\76\1\uffff" + u"\11\76\1\u0191\1\uffff" ) DFA35_eof = DFA.unpack( - u"\u018b\uffff" + u"\u0192\uffff" ) DFA35_min = DFA.unpack( u"\1\3\1\uffff\1\171\1\uffff\1\75\1\154\1\150\1\165\1\145\1\124\1" u"\157\1\141\1\146\1\157\1\154\1\145\1\156\3\uffff\1\116\1\120\1" - u"\117\1\116\1\117\1\114\1\106\4\uffff\1\75\1\56\1\53\1\55\1\52\1" - u"\75\1\46\1\uffff\1\75\1\74\3\75\1\uffff\1\137\1\150\1\157\1\162" - u"\1\42\1\uffff\2\0\2\56\2\uffff\1\0\2\uffff\1\160\4\uffff\1\165" - u"\1\163\1\164\1\141\1\151\1\147\1\157\1\164\1\147\1\101\1\151\1" - u"\156\1\163\1\141\1\44\1\164\1\156\1\162\1\157\1\44\1\146\1\151" - u"\3\uffff\1\44\2\124\1\116\1\101\1\114\1\117\1\111\35\uffff\1\75" - u"\1\uffff\1\75\10\uffff\1\141\1\163\1\151\1\164\1\145\4\uffff\2" - u"\56\3\uffff\1\145\1\155\2\145\1\165\2\164\1\156\1\145\1\162\1\157" - u"\1\151\1\165\1\124\1\144\1\141\1\163\1\145\1\162\1\uffff\1\44\1" - u"\147\1\44\1\141\1\142\1\uffff\1\141\1\151\1\157\1\uffff\1\44\1" - u"\111\1\123\1\114\1\101\1\102\1\101\4\uffff\1\163\1\155\1\154\1" - u"\157\1\141\1\uffff\1\144\2\44\1\162\1\143\1\151\1\143\1\145\1\157" - u"\1\164\1\44\1\163\1\162\1\111\1\44\1\164\1\151\1\164\2\44\1\uffff" - u"\1\44\1\uffff\1\164\1\154\1\165\1\147\1\156\1\uffff\1\117\1\124" - u"\1\111\1\124\1\101\1\102\1\120\1\155\1\44\1\145\1\44\1\153\1\145" - u"\2\uffff\1\156\1\164\1\143\1\150\1\144\1\146\1\44\1\uffff\1\164" - u"\1\156\1\103\1\uffff\1\151\1\156\1\44\3\uffff\1\44\1\145\1\154" - u"\1\156\1\44\1\116\1\44\1\107\1\111\1\114\1\117\1\125\1\111\1\44" - u"\1\uffff\1\44\1\uffff\1\44\1\146\6\44\1\uffff\1\145\2\44\1\154" - u"\1\165\2\uffff\1\44\1\164\1\145\1\uffff\1\101\1\uffff\1\116\1\114" - u"\1\137\1\117\1\116\1\44\1\137\3\uffff\1\44\6\uffff\1\162\2\uffff" - u"\2\145\1\uffff\1\44\1\144\1\114\2\105\1\122\2\124\1\uffff\1\44" - u"\1\uffff\3\44\1\uffff\2\44\1\104\1\44\1\105\1\123\1\111\6\uffff" - u"\1\44\1\uffff\1\115\1\105\1\115\1\uffff\1\117\1\122\1\105\2\126" - u"\1\123\1\105\1\111\1\105\1\137\1\103\1\122\1\111\1\105\1\126\1" - u"\106\1\44\1\111\1\137\1\uffff\1\103\1\125\1\105\1\116\1\44\1\122" - u"\1\uffff\1\105\1\106\1\105\1\122\1\105\1\116\1\103\1\105\1\104" - u"\1\44\1\uffff" + u"\117\1\116\1\117\1\114\1\106\1\101\4\uffff\1\75\1\56\1\53\1\55" + u"\1\52\1\75\1\46\1\uffff\1\75\1\74\3\75\1\uffff\1\137\1\150\1\157" + u"\1\162\1\42\1\uffff\2\0\2\56\2\uffff\1\0\2\uffff\1\160\4\uffff" + u"\1\163\1\164\1\165\1\151\1\141\1\147\1\157\1\164\1\147\1\101\1" + u"\151\1\163\1\156\1\141\1\44\1\164\1\156\1\162\1\157\1\146\1\44" + u"\1\151\3\uffff\1\44\2\124\1\116\1\101\1\114\1\117\1\111\1\103\34" + u"\uffff\1\75\2\uffff\1\75\10\uffff\1\141\1\163\1\151\1\164\1\145" + u"\3\uffff\1\56\1\uffff\1\56\3\uffff\3\145\1\155\2\164\1\165\1\145" + u"\1\156\1\162\1\157\1\151\1\165\1\124\1\141\1\144\1\145\1\163\1" + u"\162\1\uffff\1\44\1\147\1\44\2\141\1\142\1\uffff\1\151\1\157\1" + u"\uffff\1\111\1\44\1\123\1\114\1\101\1\102\1\101\1\113\4\uffff\1" + u"\163\1\155\1\154\1\157\1\141\1\uffff\1\144\1\44\1\162\1\44\1\143" + u"\1\151\1\143\1\157\1\145\1\164\1\44\1\163\1\162\1\111\1\164\2\44" + u"\1\151\1\164\1\44\1\uffff\1\44\1\uffff\1\164\1\165\1\154\1\147" + u"\1\156\1\117\1\uffff\1\124\1\111\1\124\1\101\1\102\1\120\1\105" + u"\1\155\1\44\1\145\1\44\1\153\1\145\1\uffff\1\156\1\uffff\1\150" + u"\1\143\1\164\1\146\1\144\1\44\1\uffff\1\164\1\156\1\103\1\151\2" + u"\uffff\1\156\1\44\2\uffff\1\44\1\154\1\145\1\156\1\44\1\116\1\44" + u"\1\107\1\111\1\114\1\125\1\117\1\111\1\104\1\44\1\uffff\1\44\1" + u"\uffff\1\44\1\146\6\44\1\uffff\1\145\2\44\1\154\1\165\2\uffff\1" + u"\164\1\44\1\145\1\uffff\1\101\1\uffff\1\116\1\114\1\137\1\116\1" + u"\117\2\44\1\137\3\uffff\1\44\6\uffff\1\162\2\uffff\2\145\1\44\1" + u"\uffff\1\144\1\114\2\105\1\122\2\124\2\uffff\1\44\1\uffff\3\44" + u"\1\uffff\2\44\1\104\1\44\1\105\1\111\1\123\6\uffff\1\44\1\uffff" + u"\2\115\1\105\1\uffff\1\117\1\105\1\122\1\126\1\123\1\126\2\105" + u"\1\111\1\137\1\122\1\103\1\111\1\126\1\105\1\106\1\111\1\44\1\137" + u"\1\103\1\uffff\1\125\1\105\1\116\1\44\1\122\1\uffff\1\105\1\106" + u"\1\105\1\122\1\105\1\116\1\103\1\105\1\104\1\44\1\uffff" ) DFA35_max = DFA.unpack( u"\1\ufffe\1\uffff\1\171\1\uffff\1\75\1\170\1\167\1\165\1\145\1\124" u"\2\157\1\156\3\157\1\156\3\uffff\1\116\1\125\1\117\1\116\1\117" - u"\1\114\1\106\4\uffff\1\75\1\71\1\75\1\76\3\75\1\uffff\2\75\1\76" - u"\1\75\1\174\1\uffff\1\141\1\150\1\157\1\162\1\47\1\uffff\2\ufffe" - u"\1\170\1\146\2\uffff\1\ufffe\2\uffff\1\160\4\uffff\1\165\1\163" - u"\1\164\1\162\1\151\1\172\1\157\2\164\1\101\1\154\1\156\1\163\1" - u"\141\1\172\1\164\1\156\1\162\1\157\1\172\1\146\1\163\3\uffff\1" - u"\172\2\124\1\116\1\101\1\114\1\117\1\111\35\uffff\1\75\1\uffff" - u"\1\75\10\uffff\1\141\1\163\1\151\1\164\1\145\4\uffff\2\146\3\uffff" - u"\1\145\1\155\2\145\1\165\2\164\1\156\1\145\1\162\1\157\1\151\1" - u"\165\1\124\1\144\1\141\1\164\1\145\1\162\1\uffff\1\172\1\147\1" - u"\172\1\141\1\142\1\uffff\1\141\1\151\1\157\1\uffff\1\172\1\111" - u"\1\123\1\114\1\101\1\102\1\137\4\uffff\1\163\1\155\1\154\1\157" - u"\1\141\1\uffff\1\144\2\172\1\162\1\143\1\151\1\143\1\145\1\157" - u"\1\164\1\172\1\163\1\162\1\111\1\172\1\164\1\151\1\164\2\172\1" - u"\uffff\1\172\1\uffff\1\164\1\154\1\165\1\147\1\156\1\uffff\1\117" - u"\1\124\1\111\1\124\1\101\1\122\1\120\1\155\1\172\1\145\1\172\1" - u"\153\1\145\2\uffff\1\156\1\164\1\143\1\150\1\144\1\146\1\172\1" - u"\uffff\1\164\1\156\1\103\1\uffff\1\151\1\156\1\172\3\uffff\1\172" - u"\1\145\1\154\1\156\1\172\1\116\1\172\1\107\1\111\1\114\1\117\1" - u"\125\1\111\1\172\1\uffff\1\172\1\uffff\1\172\1\146\6\172\1\uffff" - u"\1\145\2\172\1\154\1\165\2\uffff\1\172\1\164\1\145\1\uffff\1\101" - u"\1\uffff\1\116\1\114\1\137\1\117\1\116\1\172\1\137\3\uffff\1\172" - u"\6\uffff\1\162\2\uffff\2\145\1\uffff\1\172\1\144\1\114\2\105\1" - u"\122\2\124\1\uffff\1\172\1\uffff\3\172\1\uffff\2\172\1\104\1\172" - u"\1\105\1\123\1\111\6\uffff\1\172\1\uffff\1\115\1\105\1\115\1\uffff" - u"\1\117\1\122\1\105\2\126\1\123\1\105\1\111\1\105\1\137\1\103\1" - u"\122\1\111\1\105\1\126\1\106\1\172\1\111\1\137\1\uffff\1\103\1" - u"\125\1\105\1\116\1\172\1\122\1\uffff\1\105\1\106\1\105\1\122\1" - u"\105\1\116\1\103\1\105\1\104\1\172\1\uffff" + u"\1\114\1\106\1\101\4\uffff\1\75\1\71\1\75\1\76\3\75\1\uffff\2\75" + u"\1\76\1\75\1\174\1\uffff\1\141\1\150\1\157\1\162\1\47\1\uffff\2" + u"\ufffe\1\170\1\146\2\uffff\1\ufffe\2\uffff\1\160\4\uffff\1\163" + u"\1\164\1\165\1\151\1\162\1\172\1\157\2\164\1\101\1\154\1\163\1" + u"\156\1\141\1\172\1\164\1\156\1\162\1\157\1\146\1\172\1\163\3\uffff" + u"\1\172\2\124\1\116\1\101\1\114\1\117\1\111\1\103\34\uffff\1\75" + u"\2\uffff\1\75\10\uffff\1\141\1\163\1\151\1\164\1\145\3\uffff\1" + u"\146\1\uffff\1\146\3\uffff\3\145\1\155\2\164\1\165\1\145\1\156" + u"\1\162\1\157\1\151\1\165\1\124\1\141\1\144\1\145\1\164\1\162\1" + u"\uffff\1\172\1\147\1\172\2\141\1\142\1\uffff\1\151\1\157\1\uffff" + u"\1\111\1\172\1\123\1\114\1\101\1\102\1\137\1\113\4\uffff\1\163" + u"\1\155\1\154\1\157\1\141\1\uffff\1\144\1\172\1\162\1\172\1\143" + u"\1\151\1\143\1\157\1\145\1\164\1\172\1\163\1\162\1\111\1\164\2" + u"\172\1\151\1\164\1\172\1\uffff\1\172\1\uffff\1\164\1\165\1\154" + u"\1\147\1\156\1\117\1\uffff\1\124\1\111\1\124\1\101\1\122\1\120" + u"\1\105\1\155\1\172\1\145\1\172\1\153\1\145\1\uffff\1\156\1\uffff" + u"\1\150\1\143\1\164\1\146\1\144\1\172\1\uffff\1\164\1\156\1\103" + u"\1\151\2\uffff\1\156\1\172\2\uffff\1\172\1\154\1\145\1\156\1\172" + u"\1\116\1\172\1\107\1\111\1\114\1\125\1\117\1\111\1\104\1\172\1" + u"\uffff\1\172\1\uffff\1\172\1\146\6\172\1\uffff\1\145\2\172\1\154" + u"\1\165\2\uffff\1\164\1\172\1\145\1\uffff\1\101\1\uffff\1\116\1" + u"\114\1\137\1\116\1\117\2\172\1\137\3\uffff\1\172\6\uffff\1\162" + u"\2\uffff\2\145\1\172\1\uffff\1\144\1\114\2\105\1\122\2\124\2\uffff" + u"\1\172\1\uffff\3\172\1\uffff\2\172\1\104\1\172\1\105\1\111\1\123" + u"\6\uffff\1\172\1\uffff\2\115\1\105\1\uffff\1\117\1\105\1\122\1" + u"\126\1\123\1\126\2\105\1\111\1\137\1\122\1\103\1\111\1\126\1\105" + u"\1\106\1\111\1\172\1\137\1\103\1\uffff\1\125\1\105\1\116\1\172" + u"\1\122\1\uffff\1\105\1\106\1\105\1\122\1\105\1\116\1\103\1\105" + u"\1\104\1\172\1\uffff" ) DFA35_accept = DFA.unpack( - u"\1\uffff\1\1\1\uffff\1\3\15\uffff\1\23\1\24\1\27\7\uffff\1\45\1" - u"\46\1\47\1\50\7\uffff\1\65\5\uffff\1\101\5\uffff\1\135\4\uffff" - u"\1\144\1\145\1\uffff\1\146\1\1\1\uffff\1\135\1\3\1\106\1\4\26\uffff" - u"\1\23\1\24\1\27\10\uffff\1\45\1\46\1\47\1\50\1\67\1\51\1\52\1\62" - u"\1\143\1\57\1\72\1\53\1\63\1\73\1\60\1\54\1\70\1\150\1\147\1\55" - u"\1\71\1\56\1\76\1\103\1\64\1\65\1\107\1\66\1\112\1\uffff\1\110" - u"\1\uffff\1\113\1\111\1\77\1\105\1\100\1\102\1\104\1\101\5\uffff" - u"\1\136\1\137\1\140\1\141\2\uffff\1\144\1\145\1\151\23\uffff\1\123" - u"\5\uffff\1\127\3\uffff\1\33\7\uffff\1\74\1\114\1\75\1\115\5\uffff" - u"\1\142\24\uffff\1\15\1\uffff\1\130\5\uffff\1\34\15\uffff\1\30\1" - u"\124\7\uffff\1\7\3\uffff\1\12\3\uffff\1\121\1\13\1\16\16\uffff" - u"\1\117\1\uffff\1\131\10\uffff\1\14\5\uffff\1\31\1\17\3\uffff\1" - u"\26\1\uffff\1\36\7\uffff\1\120\1\126\1\133\1\uffff\1\5\1\25\1\6" - u"\1\125\1\21\1\61\1\uffff\1\134\1\11\2\uffff\1\20\10\uffff\1\42" - u"\1\uffff\1\2\3\uffff\1\122\7\uffff\1\116\1\10\1\32\1\132\1\22\1" - u"\35\1\uffff\1\40\3\uffff\1\37\23\uffff\1\43\6\uffff\1\44\12\uffff" - u"\1\41" + u"\1\uffff\1\1\1\uffff\1\3\15\uffff\1\23\1\24\1\27\10\uffff\1\46" + u"\1\47\1\50\1\51\7\uffff\1\66\5\uffff\1\102\5\uffff\1\136\4\uffff" + u"\1\145\1\146\1\uffff\1\147\1\1\1\uffff\1\136\1\3\1\107\1\4\26\uffff" + u"\1\23\1\24\1\27\11\uffff\1\46\1\47\1\50\1\51\1\70\1\52\1\53\1\63" + u"\1\144\1\73\1\60\1\54\1\74\1\64\1\61\1\55\1\150\1\151\1\71\1\56" + u"\1\72\1\57\1\77\1\104\1\65\1\66\1\110\1\67\1\uffff\1\113\1\111" + u"\1\uffff\1\114\1\112\1\100\1\106\1\103\1\101\1\105\1\102\5\uffff" + u"\1\140\1\137\1\141\1\uffff\1\142\1\uffff\1\145\1\146\1\152\23\uffff" + u"\1\124\6\uffff\1\130\2\uffff\1\33\10\uffff\1\75\1\115\1\76\1\116" + u"\5\uffff\1\143\24\uffff\1\15\1\uffff\1\131\6\uffff\1\34\15\uffff" + u"\1\125\1\uffff\1\30\6\uffff\1\7\4\uffff\1\12\1\122\2\uffff\1\13" + u"\1\16\17\uffff\1\120\1\uffff\1\132\10\uffff\1\14\5\uffff\1\31\1" + u"\17\3\uffff\1\26\1\uffff\1\36\10\uffff\1\121\1\127\1\134\1\uffff" + u"\1\5\1\126\1\6\1\25\1\62\1\21\1\uffff\1\135\1\11\3\uffff\1\20\7" + u"\uffff\1\42\1\45\1\uffff\1\2\3\uffff\1\123\7\uffff\1\117\1\10\1" + u"\32\1\133\1\22\1\35\1\uffff\1\40\3\uffff\1\37\24\uffff\1\43\5\uffff" + u"\1\44\12\uffff\1\41" ) DFA35_special = DFA.unpack( - u"\u018b\uffff" + u"\u0192\uffff" ) DFA35_transition = [ - DFA.unpack(u"\6\72\2\67\1\72\2\67\22\72\1\67\1\47\1\64\1\71\1\62" - u"\1\44\1\45\1\63\1\33\1\34\1\37\1\41\1\3\1\42\1\40\1\43\1\65\11" - u"\66\1\23\1\1\1\50\1\4\1\51\1\54\1\72\2\62\1\26\1\62\1\32\1\62\1" - u"\31\1\62\1\24\2\62\1\61\2\62\1\25\3\62\1\11\1\62\1\27\1\30\4\62" - u"\1\35\1\70\1\36\1\52\1\55\1\72\1\7\1\60\1\13\1\17\1\5\1\16\1\57" - u"\1\62\1\14\2\62\1\15\5\62\1\10\1\6\1\2\1\20\1\12\1\56\3\62\1\21" - u"\1\53\1\22\1\46\uff80\72"), + DFA.unpack(u"\6\73\2\70\1\73\2\70\22\73\1\70\1\50\1\65\1\72\1\63" + u"\1\45\1\46\1\64\1\34\1\35\1\40\1\42\1\3\1\43\1\41\1\44\1\66\11" + u"\67\1\23\1\1\1\51\1\4\1\52\1\55\1\73\2\63\1\26\1\63\1\32\1\63\1" + u"\31\1\63\1\24\2\63\1\62\2\63\1\25\1\33\2\63\1\11\1\63\1\27\1\30" + u"\4\63\1\36\1\71\1\37\1\53\1\56\1\73\1\7\1\61\1\13\1\17\1\5\1\16" + u"\1\60\1\63\1\14\2\63\1\15\5\63\1\10\1\6\1\2\1\20\1\12\1\57\3\63" + u"\1\21\1\54\1\22\1\47\uff80\73"), DFA.unpack(u""), - DFA.unpack(u"\1\74"), + DFA.unpack(u"\1\75"), DFA.unpack(u""), - DFA.unpack(u"\1\77"), - DFA.unpack(u"\1\102\1\uffff\1\101\11\uffff\1\103"), - DFA.unpack(u"\1\107\1\106\12\uffff\1\104\2\uffff\1\105"), - DFA.unpack(u"\1\110"), + DFA.unpack(u"\1\100"), + DFA.unpack(u"\1\102\1\uffff\1\104\11\uffff\1\103"), + DFA.unpack(u"\1\110\1\107\12\uffff\1\106\2\uffff\1\105"), DFA.unpack(u"\1\111"), DFA.unpack(u"\1\112"), DFA.unpack(u"\1\113"), - DFA.unpack(u"\1\115\6\uffff\1\116\6\uffff\1\114"), - DFA.unpack(u"\1\117\7\uffff\1\120"), - DFA.unpack(u"\1\121"), - DFA.unpack(u"\1\123\2\uffff\1\122"), - DFA.unpack(u"\1\125\11\uffff\1\124"), - DFA.unpack(u"\1\126"), + DFA.unpack(u"\1\114"), + DFA.unpack(u"\1\115\6\uffff\1\117\6\uffff\1\116"), + DFA.unpack(u"\1\120\7\uffff\1\121"), + DFA.unpack(u"\1\122"), + DFA.unpack(u"\1\124\2\uffff\1\123"), + DFA.unpack(u"\1\125\11\uffff\1\126"), + DFA.unpack(u"\1\127"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\132"), - DFA.unpack(u"\1\134\4\uffff\1\133"), - DFA.unpack(u"\1\135"), + DFA.unpack(u"\1\133"), + DFA.unpack(u"\1\134\4\uffff\1\135"), DFA.unpack(u"\1\136"), DFA.unpack(u"\1\137"), DFA.unpack(u"\1\140"), DFA.unpack(u"\1\141"), + DFA.unpack(u"\1\142"), + DFA.unpack(u"\1\143"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\146"), - DFA.unpack(u"\1\150\1\uffff\12\152"), - DFA.unpack(u"\1\153\21\uffff\1\154"), - DFA.unpack(u"\1\160\17\uffff\1\157\1\156"), - DFA.unpack(u"\1\164\4\uffff\1\163\15\uffff\1\162"), - DFA.unpack(u"\1\166"), - DFA.unpack(u"\1\171\26\uffff\1\170"), + DFA.unpack(u"\1\150"), + DFA.unpack(u"\1\152\1\uffff\12\154"), + DFA.unpack(u"\1\156\21\uffff\1\155"), + DFA.unpack(u"\1\162\17\uffff\1\160\1\161"), + DFA.unpack(u"\1\164\4\uffff\1\165\15\uffff\1\166"), + DFA.unpack(u"\1\170"), + DFA.unpack(u"\1\173\26\uffff\1\172"), DFA.unpack(u""), - DFA.unpack(u"\1\174"), - DFA.unpack(u"\1\177\1\176"), - DFA.unpack(u"\1\u0082\1\u0081"), - DFA.unpack(u"\1\u0084"), - DFA.unpack(u"\1\u0086\76\uffff\1\u0087"), + DFA.unpack(u"\1\176"), + DFA.unpack(u"\1\u0080\1\u0081"), + DFA.unpack(u"\1\u0084\1\u0083"), + DFA.unpack(u"\1\u0086"), + DFA.unpack(u"\1\u0089\76\uffff\1\u0088"), DFA.unpack(u""), - DFA.unpack(u"\1\u008a\1\uffff\1\u008b"), - DFA.unpack(u"\1\u008c"), - DFA.unpack(u"\1\u008d"), + DFA.unpack(u"\1\u008c\1\uffff\1\u008d"), DFA.unpack(u"\1\u008e"), - DFA.unpack(u"\1\u0090\4\uffff\1\u008f"), + DFA.unpack(u"\1\u008f"), + DFA.unpack(u"\1\u0090"), + DFA.unpack(u"\1\u0091\4\uffff\1\u0092"), DFA.unpack(u""), - DFA.unpack(u"\47\u008f\1\uffff\uffd7\u008f"), - DFA.unpack(u"\uffff\u0090"), - DFA.unpack(u"\1\152\1\uffff\10\u0093\2\152\12\uffff\3\152\21\uffff" - u"\1\u0091\13\uffff\3\152\21\uffff\1\u0091"), - DFA.unpack(u"\1\152\1\uffff\12\u0094\12\uffff\3\152\35\uffff\3\152"), + DFA.unpack(u"\47\u0092\1\uffff\uffd7\u0092"), + DFA.unpack(u"\uffff\u0091"), + DFA.unpack(u"\1\154\1\uffff\10\u0094\2\154\12\uffff\3\154\21\uffff" + u"\1\u0093\13\uffff\3\154\21\uffff\1\u0093"), + DFA.unpack(u"\1\154\1\uffff\12\u0096\12\uffff\3\154\35\uffff\3\154"), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\uffff\u0097"), + DFA.unpack(u"\uffff\u0099"), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u0098"), + DFA.unpack(u"\1\u009a"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u0099"), - DFA.unpack(u"\1\u009a"), DFA.unpack(u"\1\u009b"), - DFA.unpack(u"\1\u009d\20\uffff\1\u009c"), + DFA.unpack(u"\1\u009c"), + DFA.unpack(u"\1\u009d"), DFA.unpack(u"\1\u009e"), - DFA.unpack(u"\1\u009f\22\uffff\1\u00a0"), - DFA.unpack(u"\1\u00a1"), - DFA.unpack(u"\1\u00a2"), - DFA.unpack(u"\1\u00a3\14\uffff\1\u00a4"), - DFA.unpack(u"\1\u00a5"), - DFA.unpack(u"\1\u00a6\2\uffff\1\u00a7"), - DFA.unpack(u"\1\u00a8"), - DFA.unpack(u"\1\u00a9"), + DFA.unpack(u"\1\u009f\20\uffff\1\u00a0"), + DFA.unpack(u"\1\u00a2\22\uffff\1\u00a1"), + DFA.unpack(u"\1\u00a3"), + DFA.unpack(u"\1\u00a4"), + DFA.unpack(u"\1\u00a5\14\uffff\1\u00a6"), + DFA.unpack(u"\1\u00a7"), + DFA.unpack(u"\1\u00a9\2\uffff\1\u00a8"), DFA.unpack(u"\1\u00aa"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u00ab"), DFA.unpack(u"\1\u00ac"), - DFA.unpack(u"\1\u00ad"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00ae"), DFA.unpack(u"\1\u00af"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\24\75\1\u00b0\5\75"), + DFA.unpack(u"\1\u00b0"), + DFA.unpack(u"\1\u00b1"), DFA.unpack(u"\1\u00b2"), - DFA.unpack(u"\1\u00b4\11\uffff\1\u00b3"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\24\76\1\u00b3\5\76"), + DFA.unpack(u"\1\u00b6\11\uffff\1\u00b5"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u00b6"), - DFA.unpack(u"\1\u00b7"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00b8"), DFA.unpack(u"\1\u00b9"), DFA.unpack(u"\1\u00ba"), DFA.unpack(u"\1\u00bb"), DFA.unpack(u"\1\u00bc"), + DFA.unpack(u"\1\u00bd"), + DFA.unpack(u"\1\u00be"), + DFA.unpack(u"\1\u00bf"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), @@ -4565,10 +4619,10 @@ class CLexer(Lexer): DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), + DFA.unpack(u"\1\u00c0"), DFA.unpack(u""), - DFA.unpack(u"\1\u00bd"), DFA.unpack(u""), - DFA.unpack(u"\1\u00bf"), + DFA.unpack(u"\1\u00c2"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), @@ -4577,24 +4631,21 @@ class CLexer(Lexer): DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u00c1"), - DFA.unpack(u"\1\u00c2"), - DFA.unpack(u"\1\u00c3"), DFA.unpack(u"\1\u00c4"), DFA.unpack(u"\1\u00c5"), + DFA.unpack(u"\1\u00c6"), + DFA.unpack(u"\1\u00c7"), + DFA.unpack(u"\1\u00c8"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), + DFA.unpack(u"\1\154\1\uffff\10\u0094\2\154\12\uffff\3\154\35\uffff" + u"\3\154"), DFA.unpack(u""), - DFA.unpack(u"\1\152\1\uffff\10\u0093\2\152\12\uffff\3\152\35\uffff" - u"\3\152"), - DFA.unpack(u"\1\152\1\uffff\12\u0094\12\uffff\3\152\35\uffff\3\152"), + DFA.unpack(u"\1\154\1\uffff\12\u0096\12\uffff\3\154\35\uffff\3\154"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u00c7"), - DFA.unpack(u"\1\u00c8"), - DFA.unpack(u"\1\u00c9"), DFA.unpack(u"\1\u00ca"), DFA.unpack(u"\1\u00cb"), DFA.unpack(u"\1\u00cc"), @@ -4608,242 +4659,244 @@ class CLexer(Lexer): DFA.unpack(u"\1\u00d4"), DFA.unpack(u"\1\u00d5"), DFA.unpack(u"\1\u00d6"), - DFA.unpack(u"\1\u00d8\1\u00d7"), + DFA.unpack(u"\1\u00d7"), + DFA.unpack(u"\1\u00d8"), DFA.unpack(u"\1\u00d9"), DFA.unpack(u"\1\u00da"), + DFA.unpack(u"\1\u00dc\1\u00db"), + DFA.unpack(u"\1\u00dd"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u00dc"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u00de"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00df"), - DFA.unpack(u""), - DFA.unpack(u"\1\u00e0"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00e1"), DFA.unpack(u"\1\u00e2"), + DFA.unpack(u"\1\u00e3"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), DFA.unpack(u"\1\u00e4"), DFA.unpack(u"\1\u00e5"), + DFA.unpack(u""), DFA.unpack(u"\1\u00e6"), - DFA.unpack(u"\1\u00e7"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00e8"), - DFA.unpack(u"\1\u00ea\35\uffff\1\u00e9"), + DFA.unpack(u"\1\u00e9"), + DFA.unpack(u"\1\u00ea"), + DFA.unpack(u"\1\u00eb"), + DFA.unpack(u"\1\u00ed\35\uffff\1\u00ec"), + DFA.unpack(u"\1\u00ee"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u00eb"), - DFA.unpack(u"\1\u00ec"), - DFA.unpack(u"\1\u00ed"), - DFA.unpack(u"\1\u00ee"), DFA.unpack(u"\1\u00ef"), - DFA.unpack(u""), DFA.unpack(u"\1\u00f0"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u00f1"), + DFA.unpack(u"\1\u00f2"), DFA.unpack(u"\1\u00f3"), + DFA.unpack(u""), DFA.unpack(u"\1\u00f4"), - DFA.unpack(u"\1\u00f5"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00f6"), - DFA.unpack(u"\1\u00f7"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00f8"), DFA.unpack(u"\1\u00f9"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u00fa"), DFA.unpack(u"\1\u00fb"), DFA.unpack(u"\1\u00fc"), DFA.unpack(u"\1\u00fd"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u00ff"), DFA.unpack(u"\1\u0100"), DFA.unpack(u"\1\u0101"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u""), + DFA.unpack(u"\1\u0102"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0105"), DFA.unpack(u"\1\u0106"), - DFA.unpack(u"\1\u0107"), - DFA.unpack(u"\1\u0108"), - DFA.unpack(u"\1\u0109"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), + DFA.unpack(u"\1\u0109"), DFA.unpack(u"\1\u010a"), DFA.unpack(u"\1\u010b"), DFA.unpack(u"\1\u010c"), DFA.unpack(u"\1\u010d"), DFA.unpack(u"\1\u010e"), - DFA.unpack(u"\1\u010f\17\uffff\1\u0110"), + DFA.unpack(u""), + DFA.unpack(u"\1\u010f"), + DFA.unpack(u"\1\u0110"), DFA.unpack(u"\1\u0111"), DFA.unpack(u"\1\u0112"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u0114"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0114\17\uffff\1\u0113"), + DFA.unpack(u"\1\u0115"), DFA.unpack(u"\1\u0116"), DFA.unpack(u"\1\u0117"), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\u0118"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0119"), - DFA.unpack(u"\1\u011a"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u011b"), DFA.unpack(u"\1\u011c"), + DFA.unpack(u""), DFA.unpack(u"\1\u011d"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), DFA.unpack(u""), + DFA.unpack(u"\1\u011e"), DFA.unpack(u"\1\u011f"), DFA.unpack(u"\1\u0120"), DFA.unpack(u"\1\u0121"), - DFA.unpack(u""), DFA.unpack(u"\1\u0122"), - DFA.unpack(u"\1\u0123"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0124"), + DFA.unpack(u"\1\u0125"), DFA.unpack(u"\1\u0126"), DFA.unpack(u"\1\u0127"), + DFA.unpack(u""), + DFA.unpack(u""), DFA.unpack(u"\1\u0128"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u012a"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u""), + DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\u012b"), DFA.unpack(u"\1\u012c"), DFA.unpack(u"\1\u012d"), - DFA.unpack(u"\1\u012e"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u012f"), - DFA.unpack(u"\1\u0130"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0131"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\u0132\1" - u"\uffff\32\75"), - DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0132"), + DFA.unpack(u"\1\u0133"), + DFA.unpack(u"\1\u0134"), + DFA.unpack(u"\1\u0135"), DFA.unpack(u"\1\u0136"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0137"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\u0138\1" + u"\uffff\32\76"), DFA.unpack(u""), - DFA.unpack(u"\1\u013d"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u0140"), - DFA.unpack(u"\1\u0141"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\u013c"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), DFA.unpack(u"\1\u0143"), - DFA.unpack(u"\1\u0144"), - DFA.unpack(u""), - DFA.unpack(u"\1\u0145"), - DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0146"), DFA.unpack(u"\1\u0147"), + DFA.unpack(u""), + DFA.unpack(u""), DFA.unpack(u"\1\u0148"), - DFA.unpack(u"\1\u0149"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u014a"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u014c"), - DFA.unpack(u""), DFA.unpack(u""), + DFA.unpack(u"\1\u014b"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u014c"), + DFA.unpack(u"\1\u014d"), + DFA.unpack(u"\1\u014e"), + DFA.unpack(u"\1\u014f"), + DFA.unpack(u"\1\u0150"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\u0153"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u014e"), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\u014f"), - DFA.unpack(u"\1\u0150"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u0152"), - DFA.unpack(u"\1\u0153"), - DFA.unpack(u"\1\u0154"), DFA.unpack(u"\1\u0155"), + DFA.unpack(u""), + DFA.unpack(u""), DFA.unpack(u"\1\u0156"), DFA.unpack(u"\1\u0157"), - DFA.unpack(u"\1\u0158"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0159"), + DFA.unpack(u"\1\u015a"), + DFA.unpack(u"\1\u015b"), + DFA.unpack(u"\1\u015c"), + DFA.unpack(u"\1\u015d"), + DFA.unpack(u"\1\u015e"), + DFA.unpack(u"\1\u015f"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u015f"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u0161"), - DFA.unpack(u"\1\u0162"), - DFA.unpack(u"\1\u0163"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u""), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\u0166"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u"\1\u0168"), + DFA.unpack(u"\1\u0169"), + DFA.unpack(u"\1\u016a"), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), DFA.unpack(u""), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), DFA.unpack(u""), - DFA.unpack(u"\1\u0165"), - DFA.unpack(u"\1\u0166"), - DFA.unpack(u"\1\u0167"), DFA.unpack(u""), - DFA.unpack(u"\1\u0168"), - DFA.unpack(u"\1\u0169"), - DFA.unpack(u"\1\u016a"), - DFA.unpack(u"\1\u016b"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), + DFA.unpack(u""), DFA.unpack(u"\1\u016c"), DFA.unpack(u"\1\u016d"), DFA.unpack(u"\1\u016e"), + DFA.unpack(u""), DFA.unpack(u"\1\u016f"), DFA.unpack(u"\1\u0170"), DFA.unpack(u"\1\u0171"), @@ -4853,30 +4906,37 @@ class CLexer(Lexer): DFA.unpack(u"\1\u0175"), DFA.unpack(u"\1\u0176"), DFA.unpack(u"\1\u0177"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u0178"), DFA.unpack(u"\1\u0179"), DFA.unpack(u"\1\u017a"), - DFA.unpack(u""), DFA.unpack(u"\1\u017b"), DFA.unpack(u"\1\u017c"), DFA.unpack(u"\1\u017d"), DFA.unpack(u"\1\u017e"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), - DFA.unpack(u"\1\u0180"), - DFA.unpack(u""), + DFA.unpack(u"\1\u017f"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0181"), DFA.unpack(u"\1\u0182"), + DFA.unpack(u""), DFA.unpack(u"\1\u0183"), DFA.unpack(u"\1\u0184"), DFA.unpack(u"\1\u0185"), - DFA.unpack(u"\1\u0186"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"\1\u0187"), + DFA.unpack(u""), DFA.unpack(u"\1\u0188"), DFA.unpack(u"\1\u0189"), - DFA.unpack(u"\1\75\13\uffff\12\75\7\uffff\32\75\4\uffff\1\75\1\uffff" - u"\32\75"), + DFA.unpack(u"\1\u018a"), + DFA.unpack(u"\1\u018b"), + DFA.unpack(u"\1\u018c"), + DFA.unpack(u"\1\u018d"), + DFA.unpack(u"\1\u018e"), + DFA.unpack(u"\1\u018f"), + DFA.unpack(u"\1\u0190"), + DFA.unpack(u"\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff" + u"\32\76"), DFA.unpack(u"") ] diff --git a/BaseTools/Source/Python/Ecc/CParser.py b/BaseTools/Source/Python/Ecc/CParser.py index 194a6aa451..e56a79a43d 100644 --- a/BaseTools/Source/Python/Ecc/CParser.py +++ b/BaseTools/Source/Python/Ecc/CParser.py @@ -1,8 +1,27 @@ -# $ANTLR 3.0.1 C.g 2009-02-16 16:02:50 +# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 from antlr3 import * from antlr3.compat import set, frozenset +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + import CodeFragment import FileProfile @@ -12,28 +31,28 @@ import FileProfile HIDDEN = BaseRecognizer.HIDDEN # token types -CHARACTER_LITERAL=8 +BS=20 +LINE_COMMENT=23 +FloatTypeSuffix=16 +IntegerTypeSuffix=14 LETTER=11 +OCTAL_LITERAL=6 +CHARACTER_LITERAL=8 Exponent=15 -DECIMAL_LITERAL=7 -IntegerTypeSuffix=14 -UnicodeVocabulary=21 +EOF=-1 HexDigit=13 -BS=20 +STRING_LITERAL=9 WS=19 -LINE_COMMAND=24 -COMMENT=22 -LINE_COMMENT=23 -OCTAL_LITERAL=6 -HEX_LITERAL=5 FLOATING_POINT_LITERAL=10 +IDENTIFIER=4 UnicodeEscape=18 +LINE_COMMAND=24 +UnicodeVocabulary=21 +HEX_LITERAL=5 +COMMENT=22 +DECIMAL_LITERAL=7 EscapeSequence=12 -EOF=-1 -STRING_LITERAL=9 OctalEscape=17 -IDENTIFIER=4 -FloatTypeSuffix=16 # token names tokenNames = [ @@ -47,14 +66,14 @@ tokenNames = [ "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'", "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'", "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'", - "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'('", "')'", - "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'", - "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", "'/='", "'%='", - "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", "'?'", "'||'", - "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='", - "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", "'default'", - "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", "'goto'", - "'continue'", "'break'", "'return'" + "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'", + "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", + "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", + "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", + "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", + "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", + "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", + "'goto'", "'continue'", "'break'", "'return'" ] @@ -124,7 +143,7 @@ class CParser(Parser): # $ANTLR start translation_unit - # C.g:50:1: translation_unit : ( external_declaration )* ; + # C.g:102:1: translation_unit : ( external_declaration )* ; def translation_unit(self, ): translation_unit_StartIndex = self.input.index() @@ -133,20 +152,20 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1): return - # C.g:51:2: ( ( external_declaration )* ) - # C.g:51:4: ( external_declaration )* - # C.g:51:4: ( external_declaration )* + # C.g:103:2: ( ( external_declaration )* ) + # C.g:103:4: ( external_declaration )* + # C.g:103:4: ( external_declaration )* while True: #loop1 alt1 = 2 LA1_0 = self.input.LA(1) - if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 61) or LA1_0 == 65) : + if (LA1_0 == IDENTIFIER or LA1_0 == 26 or (29 <= LA1_0 <= 42) or (45 <= LA1_0 <= 46) or (48 <= LA1_0 <= 62) or LA1_0 == 66) : alt1 = 1 if alt1 == 1: # C.g:0:0: external_declaration - self.following.append(self.FOLLOW_external_declaration_in_translation_unit64) + self.following.append(self.FOLLOW_external_declaration_in_translation_unit74) self.external_declaration() self.following.pop() if self.failed: @@ -176,7 +195,7 @@ class CParser(Parser): # $ANTLR start external_declaration - # C.g:62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? ); + # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? ); def external_declaration(self, ): external_declaration_StartIndex = self.input.index() @@ -185,7 +204,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2): return - # C.g:67:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? ) + # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? ) alt3 = 3 LA3_0 = self.input.LA(1) @@ -201,7 +220,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input) raise nvae @@ -217,7 +236,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input) raise nvae @@ -233,7 +252,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input) raise nvae @@ -249,7 +268,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input) raise nvae @@ -265,7 +284,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input) raise nvae @@ -281,7 +300,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input) raise nvae @@ -297,7 +316,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input) raise nvae @@ -313,7 +332,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input) raise nvae @@ -329,7 +348,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input) raise nvae @@ -345,7 +364,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input) raise nvae @@ -361,7 +380,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input) raise nvae @@ -377,7 +396,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input) raise nvae @@ -395,7 +414,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input) raise nvae @@ -411,11 +430,11 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input) raise nvae - elif (LA3_0 == 65) and (self.synpred4()): + elif (LA3_0 == 66) and (self.synpred4()): alt3 = 1 elif (LA3_0 == 59) : LA3_16 = self.input.LA(2) @@ -429,7 +448,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input) raise nvae @@ -445,11 +464,11 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input) raise nvae - elif ((49 <= LA3_0 <= 57)) : + elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) : LA3_18 = self.input.LA(2) if (self.synpred4()) : @@ -461,11 +480,11 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input) raise nvae - elif (LA3_0 == 61) and (self.synpred4()): + elif (LA3_0 == 62) and (self.synpred4()): alt3 = 1 elif (LA3_0 == 26) : alt3 = 2 @@ -474,13 +493,13 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("62:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input) + nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input) raise nvae if alt3 == 1: - # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition - self.following.append(self.FOLLOW_function_definition_in_external_declaration103) + # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition + self.following.append(self.FOLLOW_function_definition_in_external_declaration113) self.function_definition() self.following.pop() if self.failed: @@ -488,8 +507,8 @@ class CParser(Parser): elif alt3 == 2: - # C.g:68:4: declaration - self.following.append(self.FOLLOW_declaration_in_external_declaration108) + # C.g:120:4: declaration + self.following.append(self.FOLLOW_declaration_in_external_declaration118) self.declaration() self.following.pop() if self.failed: @@ -497,21 +516,21 @@ class CParser(Parser): elif alt3 == 3: - # C.g:69:4: macro_statement ( ';' )? - self.following.append(self.FOLLOW_macro_statement_in_external_declaration113) + # C.g:121:4: macro_statement ( ';' )? + self.following.append(self.FOLLOW_macro_statement_in_external_declaration123) self.macro_statement() self.following.pop() if self.failed: return - # C.g:69:20: ( ';' )? + # C.g:121:20: ( ';' )? alt2 = 2 LA2_0 = self.input.LA(1) if (LA2_0 == 25) : alt2 = 1 if alt2 == 1: - # C.g:69:21: ';' - self.match(self.input, 25, self.FOLLOW_25_in_external_declaration116) + # C.g:121:21: ';' + self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126) if self.failed: return @@ -541,7 +560,7 @@ class CParser(Parser): # $ANTLR start function_definition - # C.g:74:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ; + # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ; def function_definition(self, ): self.function_definition_stack.append(function_definition_scope()) retval = self.function_definition_return() @@ -569,16 +588,16 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3): return retval - # C.g:94:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ) - # C.g:94:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) - # C.g:94:5: (d= declaration_specifiers )? + # C.g:146:2: ( (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ) + # C.g:146:4: (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) + # C.g:146:5: (d= declaration_specifiers )? alt4 = 2 LA4 = self.input.LA(1) - if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57: + if LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33 or LA4 == 34 or LA4 == 35 or LA4 == 36 or LA4 == 37 or LA4 == 38 or LA4 == 39 or LA4 == 40 or LA4 == 41 or LA4 == 42 or LA4 == 45 or LA4 == 46 or LA4 == 48 or LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61: alt4 = 1 elif LA4 == IDENTIFIER: LA4 = self.input.LA(2) - if LA4 == 65: + if LA4 == 66: alt4 = 1 elif LA4 == 58: LA4_21 = self.input.LA(3) @@ -600,7 +619,7 @@ class CParser(Parser): if (self.synpred7()) : alt4 = 1 - elif LA4 == 61: + elif LA4 == 62: LA4_25 = self.input.LA(3) if (self.synpred7()) : @@ -665,7 +684,7 @@ class CParser(Parser): if (self.synpred7()) : alt4 = 1 - elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57: + elif LA4 == 49 or LA4 == 50 or LA4 == 51 or LA4 == 52 or LA4 == 53 or LA4 == 54 or LA4 == 55 or LA4 == 56 or LA4 == 57 or LA4 == 61: LA4_38 = self.input.LA(3) if (self.synpred7()) : @@ -687,7 +706,7 @@ class CParser(Parser): alt4 = 1 if alt4 == 1: # C.g:0:0: d= declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition147) + self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157) d = self.declaration_specifiers() self.following.pop() if self.failed: @@ -695,16 +714,16 @@ class CParser(Parser): - self.following.append(self.FOLLOW_declarator_in_function_definition150) + self.following.append(self.FOLLOW_declarator_in_function_definition160) declarator1 = self.declarator() self.following.pop() if self.failed: return retval - # C.g:95:3: ( ( declaration )+ a= compound_statement | b= compound_statement ) + # C.g:147:3: ( ( declaration )+ a= compound_statement | b= compound_statement ) alt6 = 2 LA6_0 = self.input.LA(1) - if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 60)) : + if (LA6_0 == IDENTIFIER or LA6_0 == 26 or (29 <= LA6_0 <= 42) or (45 <= LA6_0 <= 46) or (48 <= LA6_0 <= 61)) : alt6 = 1 elif (LA6_0 == 43) : alt6 = 2 @@ -713,25 +732,25 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("95:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input) + nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input) raise nvae if alt6 == 1: - # C.g:95:5: ( declaration )+ a= compound_statement - # C.g:95:5: ( declaration )+ + # C.g:147:5: ( declaration )+ a= compound_statement + # C.g:147:5: ( declaration )+ cnt5 = 0 while True: #loop5 alt5 = 2 LA5_0 = self.input.LA(1) - if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 60)) : + if (LA5_0 == IDENTIFIER or LA5_0 == 26 or (29 <= LA5_0 <= 42) or (45 <= LA5_0 <= 46) or (48 <= LA5_0 <= 61)) : alt5 = 1 if alt5 == 1: # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_function_definition156) + self.following.append(self.FOLLOW_declaration_in_function_definition166) self.declaration() self.following.pop() if self.failed: @@ -752,7 +771,7 @@ class CParser(Parser): cnt5 += 1 - self.following.append(self.FOLLOW_compound_statement_in_function_definition161) + self.following.append(self.FOLLOW_compound_statement_in_function_definition171) a = self.compound_statement() self.following.pop() if self.failed: @@ -760,8 +779,8 @@ class CParser(Parser): elif alt6 == 2: - # C.g:96:5: b= compound_statement - self.following.append(self.FOLLOW_compound_statement_in_function_definition170) + # C.g:148:5: b= compound_statement + self.following.append(self.FOLLOW_compound_statement_in_function_definition180) b = self.compound_statement() self.following.pop() if self.failed: @@ -813,7 +832,7 @@ class CParser(Parser): # $ANTLR start declaration - # C.g:114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' ); + # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' ); def declaration(self, ): declaration_StartIndex = self.input.index() @@ -834,44 +853,44 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4): return - # C.g:115:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' ) + # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' ) alt9 = 2 LA9_0 = self.input.LA(1) if (LA9_0 == 26) : alt9 = 1 - elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 60)) : + elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) : alt9 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("114:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input) + nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input) raise nvae if alt9 == 1: - # C.g:115:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' + # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' a = self.input.LT(1) - self.match(self.input, 26, self.FOLLOW_26_in_declaration193) + self.match(self.input, 26, self.FOLLOW_26_in_declaration203) if self.failed: return - # C.g:115:17: (b= declaration_specifiers )? + # C.g:167:17: (b= declaration_specifiers )? alt7 = 2 LA7 = self.input.LA(1) - if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57: + if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61: alt7 = 1 elif LA7 == IDENTIFIER: LA7_13 = self.input.LA(2) - if (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 60) or LA7_13 == 65) : - alt7 = 1 - elif (LA7_13 == 61) : - LA7_25 = self.input.LA(3) + if (LA7_13 == 62) : + LA7_21 = self.input.LA(3) if (self.synpred10()) : alt7 = 1 + elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) : + alt7 = 1 elif LA7 == 58: LA7_14 = self.input.LA(2) @@ -889,7 +908,7 @@ class CParser(Parser): alt7 = 1 if alt7 == 1: # C.g:0:0: b= declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_declaration197) + self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207) b = self.declaration_specifiers() self.following.pop() if self.failed: @@ -897,13 +916,13 @@ class CParser(Parser): - self.following.append(self.FOLLOW_init_declarator_list_in_declaration206) + self.following.append(self.FOLLOW_init_declarator_list_in_declaration216) c = self.init_declarator_list() self.following.pop() if self.failed: return d = self.input.LT(1) - self.match(self.input, 25, self.FOLLOW_25_in_declaration210) + self.match(self.input, 25, self.FOLLOW_25_in_declaration220) if self.failed: return if self.backtracking == 0: @@ -917,21 +936,21 @@ class CParser(Parser): elif alt9 == 2: - # C.g:123:4: s= declaration_specifiers (t= init_declarator_list )? e= ';' - self.following.append(self.FOLLOW_declaration_specifiers_in_declaration224) + # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';' + self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234) s = self.declaration_specifiers() self.following.pop() if self.failed: return - # C.g:123:30: (t= init_declarator_list )? + # C.g:175:30: (t= init_declarator_list )? alt8 = 2 LA8_0 = self.input.LA(1) - if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 61) or LA8_0 == 65) : + if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) : alt8 = 1 if alt8 == 1: # C.g:0:0: t= init_declarator_list - self.following.append(self.FOLLOW_init_declarator_list_in_declaration228) + self.following.append(self.FOLLOW_init_declarator_list_in_declaration238) t = self.init_declarator_list() self.following.pop() if self.failed: @@ -940,7 +959,7 @@ class CParser(Parser): e = self.input.LT(1) - self.match(self.input, 25, self.FOLLOW_25_in_declaration233) + self.match(self.input, 25, self.FOLLOW_25_in_declaration243) if self.failed: return if self.backtracking == 0: @@ -973,7 +992,7 @@ class CParser(Parser): # $ANTLR start declaration_specifiers - # C.g:130:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ; + # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ; def declaration_specifiers(self, ): retval = self.declaration_specifiers_return() @@ -984,9 +1003,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5): return retval - # C.g:131:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ ) - # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+ - # C.g:131:6: ( storage_class_specifier | type_specifier | type_qualifier )+ + # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ ) + # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+ + # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+ cnt10 = 0 while True: #loop10 alt10 = 4 @@ -1030,12 +1049,12 @@ class CParser(Parser): alt10 = 1 elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48: alt10 = 2 - elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57: + elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61: alt10 = 3 if alt10 == 1: - # C.g:131:10: storage_class_specifier - self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers254) + # C.g:183:10: storage_class_specifier + self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264) self.storage_class_specifier() self.following.pop() if self.failed: @@ -1043,8 +1062,8 @@ class CParser(Parser): elif alt10 == 2: - # C.g:132:7: type_specifier - self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers262) + # C.g:184:7: type_specifier + self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272) self.type_specifier() self.following.pop() if self.failed: @@ -1052,8 +1071,8 @@ class CParser(Parser): elif alt10 == 3: - # C.g:133:13: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers276) + # C.g:185:13: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286) self.type_qualifier() self.following.pop() if self.failed: @@ -1101,7 +1120,7 @@ class CParser(Parser): # $ANTLR start init_declarator_list - # C.g:137:1: init_declarator_list : init_declarator ( ',' init_declarator )* ; + # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ; def init_declarator_list(self, ): retval = self.init_declarator_list_return() @@ -1112,14 +1131,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6): return retval - # C.g:138:2: ( init_declarator ( ',' init_declarator )* ) - # C.g:138:4: init_declarator ( ',' init_declarator )* - self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list298) + # C.g:190:2: ( init_declarator ( ',' init_declarator )* ) + # C.g:190:4: init_declarator ( ',' init_declarator )* + self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308) self.init_declarator() self.following.pop() if self.failed: return retval - # C.g:138:20: ( ',' init_declarator )* + # C.g:190:20: ( ',' init_declarator )* while True: #loop11 alt11 = 2 LA11_0 = self.input.LA(1) @@ -1129,11 +1148,11 @@ class CParser(Parser): if alt11 == 1: - # C.g:138:21: ',' init_declarator - self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list301) + # C.g:190:21: ',' init_declarator + self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311) if self.failed: return retval - self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list303) + self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313) self.init_declarator() self.following.pop() if self.failed: @@ -1165,7 +1184,7 @@ class CParser(Parser): # $ANTLR start init_declarator - # C.g:141:1: init_declarator : declarator ( '=' initializer )? ; + # C.g:193:1: init_declarator : declarator ( '=' initializer )? ; def init_declarator(self, ): init_declarator_StartIndex = self.input.index() @@ -1174,25 +1193,25 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7): return - # C.g:142:2: ( declarator ( '=' initializer )? ) - # C.g:142:4: declarator ( '=' initializer )? - self.following.append(self.FOLLOW_declarator_in_init_declarator316) + # C.g:194:2: ( declarator ( '=' initializer )? ) + # C.g:194:4: declarator ( '=' initializer )? + self.following.append(self.FOLLOW_declarator_in_init_declarator326) self.declarator() self.following.pop() if self.failed: return - # C.g:142:15: ( '=' initializer )? + # C.g:194:15: ( '=' initializer )? alt12 = 2 LA12_0 = self.input.LA(1) if (LA12_0 == 28) : alt12 = 1 if alt12 == 1: - # C.g:142:16: '=' initializer - self.match(self.input, 28, self.FOLLOW_28_in_init_declarator319) + # C.g:194:16: '=' initializer + self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329) if self.failed: return - self.following.append(self.FOLLOW_initializer_in_init_declarator321) + self.following.append(self.FOLLOW_initializer_in_init_declarator331) self.initializer() self.following.pop() if self.failed: @@ -1219,7 +1238,7 @@ class CParser(Parser): # $ANTLR start storage_class_specifier - # C.g:145:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ); + # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ); def storage_class_specifier(self, ): storage_class_specifier_StartIndex = self.input.index() @@ -1228,7 +1247,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8): return - # C.g:146:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ) + # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ) # C.g: if (29 <= self.input.LA(1) <= 33): self.input.consume(); @@ -1266,7 +1285,7 @@ class CParser(Parser): # $ANTLR start type_specifier - # C.g:153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id ); + # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id ); def type_specifier(self, ): type_specifier_StartIndex = self.input.index() @@ -1280,7 +1299,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9): return - # C.g:154:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id ) + # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id ) alt13 = 12 LA13_0 = self.input.LA(1) @@ -1313,76 +1332,76 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("153:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input) + nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input) raise nvae if alt13 == 1: - # C.g:154:4: 'void' - self.match(self.input, 34, self.FOLLOW_34_in_type_specifier366) + # C.g:206:4: 'void' + self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376) if self.failed: return elif alt13 == 2: - # C.g:155:4: 'char' - self.match(self.input, 35, self.FOLLOW_35_in_type_specifier371) + # C.g:207:4: 'char' + self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381) if self.failed: return elif alt13 == 3: - # C.g:156:4: 'short' - self.match(self.input, 36, self.FOLLOW_36_in_type_specifier376) + # C.g:208:4: 'short' + self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386) if self.failed: return elif alt13 == 4: - # C.g:157:4: 'int' - self.match(self.input, 37, self.FOLLOW_37_in_type_specifier381) + # C.g:209:4: 'int' + self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391) if self.failed: return elif alt13 == 5: - # C.g:158:4: 'long' - self.match(self.input, 38, self.FOLLOW_38_in_type_specifier386) + # C.g:210:4: 'long' + self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396) if self.failed: return elif alt13 == 6: - # C.g:159:4: 'float' - self.match(self.input, 39, self.FOLLOW_39_in_type_specifier391) + # C.g:211:4: 'float' + self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401) if self.failed: return elif alt13 == 7: - # C.g:160:4: 'double' - self.match(self.input, 40, self.FOLLOW_40_in_type_specifier396) + # C.g:212:4: 'double' + self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406) if self.failed: return elif alt13 == 8: - # C.g:161:4: 'signed' - self.match(self.input, 41, self.FOLLOW_41_in_type_specifier401) + # C.g:213:4: 'signed' + self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411) if self.failed: return elif alt13 == 9: - # C.g:162:4: 'unsigned' - self.match(self.input, 42, self.FOLLOW_42_in_type_specifier406) + # C.g:214:4: 'unsigned' + self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416) if self.failed: return elif alt13 == 10: - # C.g:163:4: s= struct_or_union_specifier - self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier413) + # C.g:215:4: s= struct_or_union_specifier + self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423) s = self.struct_or_union_specifier() self.following.pop() if self.failed: @@ -1396,8 +1415,8 @@ class CParser(Parser): elif alt13 == 11: - # C.g:168:4: e= enum_specifier - self.following.append(self.FOLLOW_enum_specifier_in_type_specifier423) + # C.g:220:4: e= enum_specifier + self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433) e = self.enum_specifier() self.following.pop() if self.failed: @@ -1411,8 +1430,8 @@ class CParser(Parser): elif alt13 == 12: - # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id - self.following.append(self.FOLLOW_type_id_in_type_specifier441) + # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id + self.following.append(self.FOLLOW_type_id_in_type_specifier451) self.type_id() self.following.pop() if self.failed: @@ -1435,7 +1454,7 @@ class CParser(Parser): # $ANTLR start type_id - # C.g:176:1: type_id : IDENTIFIER ; + # C.g:228:1: type_id : IDENTIFIER ; def type_id(self, ): type_id_StartIndex = self.input.index() @@ -1444,9 +1463,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10): return - # C.g:177:5: ( IDENTIFIER ) - # C.g:177:9: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id457) + # C.g:229:5: ( IDENTIFIER ) + # C.g:229:9: IDENTIFIER + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467) if self.failed: return @@ -1474,7 +1493,7 @@ class CParser(Parser): # $ANTLR start struct_or_union_specifier - # C.g:181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER ); + # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER ); def struct_or_union_specifier(self, ): retval = self.struct_or_union_specifier_return() @@ -1485,7 +1504,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11): return retval - # C.g:183:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER ) + # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER ) alt15 = 2 LA15_0 = self.input.LA(1) @@ -1497,14 +1516,14 @@ class CParser(Parser): if (LA15_2 == 43) : alt15 = 1 - elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 63) or LA15_2 == 65) : + elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) : alt15 = 2 else: if self.backtracking > 0: self.failed = True return retval - nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input) + nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input) raise nvae @@ -1515,7 +1534,7 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input) + nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input) raise nvae @@ -1524,18 +1543,18 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("181:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input) + nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input) raise nvae if alt15 == 1: - # C.g:183:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' - self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier484) + # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' + self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494) self.struct_or_union() self.following.pop() if self.failed: return retval - # C.g:183:20: ( IDENTIFIER )? + # C.g:235:20: ( IDENTIFIER )? alt14 = 2 LA14_0 = self.input.LA(1) @@ -1543,33 +1562,33 @@ class CParser(Parser): alt14 = 1 if alt14 == 1: # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier486) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496) if self.failed: return retval - self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier489) + self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499) if self.failed: return retval - self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier491) + self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501) self.struct_declaration_list() self.following.pop() if self.failed: return retval - self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier493) + self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503) if self.failed: return retval elif alt15 == 2: - # C.g:184:4: struct_or_union IDENTIFIER - self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier498) + # C.g:236:4: struct_or_union IDENTIFIER + self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508) self.struct_or_union() self.following.pop() if self.failed: return retval - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier500) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510) if self.failed: return retval @@ -1592,7 +1611,7 @@ class CParser(Parser): # $ANTLR start struct_or_union - # C.g:187:1: struct_or_union : ( 'struct' | 'union' ); + # C.g:239:1: struct_or_union : ( 'struct' | 'union' ); def struct_or_union(self, ): struct_or_union_StartIndex = self.input.index() @@ -1601,7 +1620,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12): return - # C.g:188:2: ( 'struct' | 'union' ) + # C.g:240:2: ( 'struct' | 'union' ) # C.g: if (45 <= self.input.LA(1) <= 46): self.input.consume(); @@ -1639,7 +1658,7 @@ class CParser(Parser): # $ANTLR start struct_declaration_list - # C.g:192:1: struct_declaration_list : ( struct_declaration )+ ; + # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ; def struct_declaration_list(self, ): struct_declaration_list_StartIndex = self.input.index() @@ -1648,21 +1667,21 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13): return - # C.g:193:2: ( ( struct_declaration )+ ) - # C.g:193:4: ( struct_declaration )+ - # C.g:193:4: ( struct_declaration )+ + # C.g:245:2: ( ( struct_declaration )+ ) + # C.g:245:4: ( struct_declaration )+ + # C.g:245:4: ( struct_declaration )+ cnt16 = 0 while True: #loop16 alt16 = 2 LA16_0 = self.input.LA(1) - if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 60)) : + if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) : alt16 = 1 if alt16 == 1: # C.g:0:0: struct_declaration - self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list527) + self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537) self.struct_declaration() self.following.pop() if self.failed: @@ -1702,7 +1721,7 @@ class CParser(Parser): # $ANTLR start struct_declaration - # C.g:196:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ; + # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ; def struct_declaration(self, ): struct_declaration_StartIndex = self.input.index() @@ -1711,19 +1730,19 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14): return - # C.g:197:2: ( specifier_qualifier_list struct_declarator_list ';' ) - # C.g:197:4: specifier_qualifier_list struct_declarator_list ';' - self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration539) + # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' ) + # C.g:249:4: specifier_qualifier_list struct_declarator_list ';' + self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549) self.specifier_qualifier_list() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration541) + self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551) self.struct_declarator_list() self.following.pop() if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration543) + self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553) if self.failed: return @@ -1745,7 +1764,7 @@ class CParser(Parser): # $ANTLR start specifier_qualifier_list - # C.g:200:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ; + # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ; def specifier_qualifier_list(self, ): specifier_qualifier_list_StartIndex = self.input.index() @@ -1754,9 +1773,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15): return - # C.g:201:2: ( ( type_qualifier | type_specifier )+ ) - # C.g:201:4: ( type_qualifier | type_specifier )+ - # C.g:201:4: ( type_qualifier | type_specifier )+ + # C.g:253:2: ( ( type_qualifier | type_specifier )+ ) + # C.g:253:4: ( type_qualifier | type_specifier )+ + # C.g:253:4: ( type_qualifier | type_specifier )+ cnt17 = 0 while True: #loop17 alt17 = 3 @@ -1784,9 +1803,9 @@ 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: + 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 == 61 or LA17 == 63 or LA17 == 66: alt17 = 2 - elif LA17 == 61: + elif LA17 == 62: LA17_94 = self.input.LA(3) if (self.synpred40()) : @@ -1800,7 +1819,7 @@ class CParser(Parser): alt17 = 2 - elif LA17 == 63: + elif LA17 == 64: LA17_96 = self.input.LA(3) if (self.synpred40()) : @@ -1808,14 +1827,14 @@ class CParser(Parser): - 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: + 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 or LA17 == 61: alt17 = 1 elif 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: alt17 = 2 if alt17 == 1: - # C.g:201:6: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list556) + # C.g:253:6: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566) self.type_qualifier() self.following.pop() if self.failed: @@ -1823,8 +1842,8 @@ class CParser(Parser): elif alt17 == 2: - # C.g:201:23: type_specifier - self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list560) + # C.g:253:23: type_specifier + self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570) self.type_specifier() self.following.pop() if self.failed: @@ -1864,7 +1883,7 @@ class CParser(Parser): # $ANTLR start struct_declarator_list - # C.g:204:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ; + # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ; def struct_declarator_list(self, ): struct_declarator_list_StartIndex = self.input.index() @@ -1873,14 +1892,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16): return - # C.g:205:2: ( struct_declarator ( ',' struct_declarator )* ) - # C.g:205:4: struct_declarator ( ',' struct_declarator )* - self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list574) + # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* ) + # C.g:257:4: struct_declarator ( ',' struct_declarator )* + self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584) self.struct_declarator() self.following.pop() if self.failed: return - # C.g:205:22: ( ',' struct_declarator )* + # C.g:257:22: ( ',' struct_declarator )* while True: #loop18 alt18 = 2 LA18_0 = self.input.LA(1) @@ -1890,11 +1909,11 @@ class CParser(Parser): if alt18 == 1: - # C.g:205:23: ',' struct_declarator - self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list577) + # C.g:257:23: ',' struct_declarator + self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587) if self.failed: return - self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list579) + self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589) self.struct_declarator() self.following.pop() if self.failed: @@ -1924,7 +1943,7 @@ class CParser(Parser): # $ANTLR start struct_declarator - # C.g:208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression ); + # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression ); def struct_declarator(self, ): struct_declarator_StartIndex = self.input.index() @@ -1933,11 +1952,11 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17): return - # C.g:209:2: ( declarator ( ':' constant_expression )? | ':' constant_expression ) + # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression ) alt20 = 2 LA20_0 = self.input.LA(1) - if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 61) or LA20_0 == 65) : + if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) : alt20 = 1 elif (LA20_0 == 47) : alt20 = 2 @@ -1946,29 +1965,29 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("208:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input) + nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input) raise nvae if alt20 == 1: - # C.g:209:4: declarator ( ':' constant_expression )? - self.following.append(self.FOLLOW_declarator_in_struct_declarator592) + # C.g:261:4: declarator ( ':' constant_expression )? + self.following.append(self.FOLLOW_declarator_in_struct_declarator602) self.declarator() self.following.pop() if self.failed: return - # C.g:209:15: ( ':' constant_expression )? + # C.g:261:15: ( ':' constant_expression )? alt19 = 2 LA19_0 = self.input.LA(1) if (LA19_0 == 47) : alt19 = 1 if alt19 == 1: - # C.g:209:16: ':' constant_expression - self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator595) + # C.g:261:16: ':' constant_expression + self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_struct_declarator597) + self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607) self.constant_expression() self.following.pop() if self.failed: @@ -1979,11 +1998,11 @@ class CParser(Parser): elif alt20 == 2: - # C.g:210:4: ':' constant_expression - self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator604) + # C.g:262:4: ':' constant_expression + self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_struct_declarator606) + self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616) self.constant_expression() self.following.pop() if self.failed: @@ -2012,7 +2031,7 @@ class CParser(Parser): # $ANTLR start enum_specifier - # C.g:213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER ); + # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER ); def enum_specifier(self, ): retval = self.enum_specifier_return() @@ -2023,7 +2042,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18): return retval - # C.g:215:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER ) + # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER ) alt23 = 3 LA23_0 = self.input.LA(1) @@ -2035,14 +2054,14 @@ class CParser(Parser): if (LA23_2 == 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_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) : 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("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input) raise nvae @@ -2053,7 +2072,7 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input) + nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input) raise nvae @@ -2062,24 +2081,24 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("213:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input) + nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input) raise nvae if alt23 == 1: - # C.g:215:4: 'enum' '{' enumerator_list ( ',' )? '}' - self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier624) + # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}' + self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634) if self.failed: return retval - self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier626) + self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636) if self.failed: return retval - self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier628) + self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638) self.enumerator_list() self.following.pop() if self.failed: return retval - # C.g:215:31: ( ',' )? + # C.g:267:31: ( ',' )? alt21 = 2 LA21_0 = self.input.LA(1) @@ -2087,34 +2106,34 @@ class CParser(Parser): alt21 = 1 if alt21 == 1: # C.g:0:0: ',' - self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier630) + self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640) if self.failed: return retval - self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier633) + self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643) if self.failed: return retval elif alt23 == 2: - # C.g:216:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' - self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier638) + # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' + self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648) if self.failed: return retval - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier640) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650) if self.failed: return retval - self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier642) + self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652) if self.failed: return retval - self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier644) + self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654) self.enumerator_list() self.following.pop() if self.failed: return retval - # C.g:216:42: ( ',' )? + # C.g:268:42: ( ',' )? alt22 = 2 LA22_0 = self.input.LA(1) @@ -2122,23 +2141,23 @@ class CParser(Parser): alt22 = 1 if alt22 == 1: # C.g:0:0: ',' - self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier646) + self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656) if self.failed: return retval - self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier649) + self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659) if self.failed: return retval elif alt23 == 3: - # C.g:217:4: 'enum' IDENTIFIER - self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier654) + # C.g:269:4: 'enum' IDENTIFIER + self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664) if self.failed: return retval - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier656) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666) if self.failed: return retval @@ -2161,7 +2180,7 @@ class CParser(Parser): # $ANTLR start enumerator_list - # C.g:220:1: enumerator_list : enumerator ( ',' enumerator )* ; + # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ; def enumerator_list(self, ): enumerator_list_StartIndex = self.input.index() @@ -2170,14 +2189,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19): return - # C.g:221:2: ( enumerator ( ',' enumerator )* ) - # C.g:221:4: enumerator ( ',' enumerator )* - self.following.append(self.FOLLOW_enumerator_in_enumerator_list667) + # C.g:273:2: ( enumerator ( ',' enumerator )* ) + # C.g:273:4: enumerator ( ',' enumerator )* + self.following.append(self.FOLLOW_enumerator_in_enumerator_list677) self.enumerator() self.following.pop() if self.failed: return - # C.g:221:15: ( ',' enumerator )* + # C.g:273:15: ( ',' enumerator )* while True: #loop24 alt24 = 2 LA24_0 = self.input.LA(1) @@ -2192,11 +2211,11 @@ class CParser(Parser): if alt24 == 1: - # C.g:221:16: ',' enumerator - self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list670) + # C.g:273:16: ',' enumerator + self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680) if self.failed: return - self.following.append(self.FOLLOW_enumerator_in_enumerator_list672) + self.following.append(self.FOLLOW_enumerator_in_enumerator_list682) self.enumerator() self.following.pop() if self.failed: @@ -2226,7 +2245,7 @@ class CParser(Parser): # $ANTLR start enumerator - # C.g:224:1: enumerator : IDENTIFIER ( '=' constant_expression )? ; + # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ; def enumerator(self, ): enumerator_StartIndex = self.input.index() @@ -2235,23 +2254,23 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20): return - # C.g:225:2: ( IDENTIFIER ( '=' constant_expression )? ) - # C.g:225:4: IDENTIFIER ( '=' constant_expression )? - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator685) + # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? ) + # C.g:277:4: IDENTIFIER ( '=' constant_expression )? + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695) if self.failed: return - # C.g:225:15: ( '=' constant_expression )? + # C.g:277:15: ( '=' constant_expression )? alt25 = 2 LA25_0 = self.input.LA(1) if (LA25_0 == 28) : alt25 = 1 if alt25 == 1: - # C.g:225:16: '=' constant_expression - self.match(self.input, 28, self.FOLLOW_28_in_enumerator688) + # C.g:277:16: '=' constant_expression + self.match(self.input, 28, self.FOLLOW_28_in_enumerator698) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_enumerator690) + self.following.append(self.FOLLOW_constant_expression_in_enumerator700) self.constant_expression() self.following.pop() if self.failed: @@ -2278,7 +2297,7 @@ class CParser(Parser): # $ANTLR start type_qualifier - # C.g:228:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' ); + # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' ); def type_qualifier(self, ): type_qualifier_StartIndex = self.input.index() @@ -2287,9 +2306,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21): return - # C.g:229:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' ) + # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' ) # C.g: - if (49 <= self.input.LA(1) <= 60): + if (49 <= self.input.LA(1) <= 61): self.input.consume(); self.errorRecovery = False self.failed = False @@ -2331,7 +2350,7 @@ class CParser(Parser): # $ANTLR start declarator - # C.g:243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ); + # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ); def declarator(self, ): retval = self.declarator_return() @@ -2342,14 +2361,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22): return retval - # C.g:244:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ) + # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ) alt30 = 2 LA30_0 = self.input.LA(1) - if (LA30_0 == 65) : + if (LA30_0 == 66) : LA30_1 = self.input.LA(2) - if (self.synpred65()) : + if (self.synpred66()) : alt30 = 1 elif (True) : alt30 = 2 @@ -2358,32 +2377,32 @@ class CParser(Parser): self.failed = True return retval - nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input) + nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input) raise nvae - elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 61)) : + elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) : alt30 = 1 else: if self.backtracking > 0: self.failed = True return retval - nvae = NoViableAltException("243:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input) + nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input) raise nvae if alt30 == 1: - # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator - # C.g:244:4: ( pointer )? + # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator + # C.g:297:4: ( pointer )? alt26 = 2 LA26_0 = self.input.LA(1) - if (LA26_0 == 65) : + if (LA26_0 == 66) : alt26 = 1 if alt26 == 1: # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_declarator769) + self.following.append(self.FOLLOW_pointer_in_declarator784) self.pointer() self.following.pop() if self.failed: @@ -2391,49 +2410,49 @@ class CParser(Parser): - # C.g:244:13: ( 'EFIAPI' )? + # C.g:297:13: ( 'EFIAPI' )? alt27 = 2 LA27_0 = self.input.LA(1) if (LA27_0 == 58) : alt27 = 1 if alt27 == 1: - # C.g:244:14: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_declarator773) + # C.g:297:14: 'EFIAPI' + self.match(self.input, 58, self.FOLLOW_58_in_declarator788) if self.failed: return retval - # C.g:244:25: ( 'EFI_BOOTSERVICE' )? + # C.g:297:25: ( 'EFI_BOOTSERVICE' )? alt28 = 2 LA28_0 = self.input.LA(1) if (LA28_0 == 59) : alt28 = 1 if alt28 == 1: - # C.g:244:26: 'EFI_BOOTSERVICE' - self.match(self.input, 59, self.FOLLOW_59_in_declarator778) + # C.g:297:26: 'EFI_BOOTSERVICE' + self.match(self.input, 59, self.FOLLOW_59_in_declarator793) if self.failed: return retval - # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )? + # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )? alt29 = 2 LA29_0 = self.input.LA(1) if (LA29_0 == 60) : alt29 = 1 if alt29 == 1: - # C.g:244:47: 'EFI_RUNTIMESERVICE' - self.match(self.input, 60, self.FOLLOW_60_in_declarator783) + # C.g:297:47: 'EFI_RUNTIMESERVICE' + self.match(self.input, 60, self.FOLLOW_60_in_declarator798) if self.failed: return retval - self.following.append(self.FOLLOW_direct_declarator_in_declarator787) + self.following.append(self.FOLLOW_direct_declarator_in_declarator802) self.direct_declarator() self.following.pop() if self.failed: @@ -2441,8 +2460,8 @@ class CParser(Parser): elif alt30 == 2: - # C.g:246:4: pointer - self.following.append(self.FOLLOW_pointer_in_declarator793) + # C.g:299:4: pointer + self.following.append(self.FOLLOW_pointer_in_declarator808) self.pointer() self.following.pop() if self.failed: @@ -2467,7 +2486,7 @@ class CParser(Parser): # $ANTLR start direct_declarator - # C.g:249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ ); + # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ ); def direct_declarator(self, ): direct_declarator_StartIndex = self.input.index() @@ -2476,259 +2495,259 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23): return - # C.g:250:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ ) + # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ ) alt34 = 2 LA34_0 = self.input.LA(1) if (LA34_0 == IDENTIFIER) : alt34 = 1 - elif (LA34_0 == 61) : + elif (LA34_0 == 62) : alt34 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("249:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input) + nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input) raise nvae if alt34 == 1: - # C.g:250:4: IDENTIFIER ( declarator_suffix )* - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator804) + # C.g:303:4: IDENTIFIER ( declarator_suffix )* + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819) if self.failed: return - # C.g:250:15: ( declarator_suffix )* + # C.g:303:15: ( declarator_suffix )* while True: #loop31 alt31 = 2 LA31_0 = self.input.LA(1) - if (LA31_0 == 61) : + if (LA31_0 == 62) : LA31 = self.input.LA(2) - if LA31 == 62: + if LA31 == 63: LA31_30 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 58: LA31_31 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 65: + elif LA31 == 66: LA31_32 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 59: LA31_33 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 60: LA31_34 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == IDENTIFIER: LA31_35 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33: LA31_37 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 34: LA31_38 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 35: LA31_39 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 36: LA31_40 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 37: LA31_41 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 38: LA31_42 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 39: LA31_43 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 40: LA31_44 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 41: LA31_45 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 42: LA31_46 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 45 or LA31 == 46: LA31_47 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == 48: LA31_48 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57: + elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61: LA31_49 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif (LA31_0 == 63) : + elif (LA31_0 == 64) : LA31 = self.input.LA(2) - if LA31 == 64: + if LA31 == 65: LA31_51 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 61: + elif LA31 == 62: LA31_52 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == IDENTIFIER: LA31_53 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == HEX_LITERAL: LA31_54 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == OCTAL_LITERAL: LA31_55 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == DECIMAL_LITERAL: LA31_56 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == CHARACTER_LITERAL: LA31_57 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == STRING_LITERAL: LA31_58 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 elif LA31 == FLOATING_POINT_LITERAL: LA31_59 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 71: + elif LA31 == 72: LA31_60 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 72: + elif LA31 == 73: LA31_61 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 65 or LA31 == 67 or LA31 == 68 or LA31 == 76 or LA31 == 77 or LA31 == 78: + elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79: LA31_62 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 - elif LA31 == 73: + elif LA31 == 74: LA31_63 = self.input.LA(3) - if (self.synpred66()) : + if (self.synpred67()) : alt31 = 1 @@ -2737,7 +2756,7 @@ class CParser(Parser): if alt31 == 1: # C.g:0:0: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator806) + self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821) self.declarator_suffix() self.following.pop() if self.failed: @@ -2751,267 +2770,267 @@ class CParser(Parser): elif alt34 == 2: - # C.g:251:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ - self.match(self.input, 61, self.FOLLOW_61_in_direct_declarator812) + # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ + self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827) if self.failed: return - # C.g:251:8: ( 'EFIAPI' )? + # C.g:304:8: ( 'EFIAPI' )? alt32 = 2 LA32_0 = self.input.LA(1) if (LA32_0 == 58) : LA32_1 = self.input.LA(2) - if (self.synpred68()) : + if (self.synpred69()) : alt32 = 1 if alt32 == 1: - # C.g:251:9: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator815) + # C.g:304:9: 'EFIAPI' + self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830) if self.failed: return - self.following.append(self.FOLLOW_declarator_in_direct_declarator819) + self.following.append(self.FOLLOW_declarator_in_direct_declarator834) self.declarator() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator821) + self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836) if self.failed: return - # C.g:251:35: ( declarator_suffix )+ + # C.g:304:35: ( declarator_suffix )+ cnt33 = 0 while True: #loop33 alt33 = 2 LA33_0 = self.input.LA(1) - if (LA33_0 == 61) : + if (LA33_0 == 62) : LA33 = self.input.LA(2) - if LA33 == 62: + if LA33 == 63: LA33_30 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 58: LA33_31 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 65: + elif LA33 == 66: LA33_32 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 59: LA33_33 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 60: LA33_34 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == IDENTIFIER: LA33_35 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33: LA33_37 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 34: LA33_38 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 35: LA33_39 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 36: LA33_40 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 37: LA33_41 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 38: LA33_42 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 39: LA33_43 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 40: LA33_44 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 41: LA33_45 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 42: LA33_46 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 45 or LA33 == 46: LA33_47 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == 48: LA33_48 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57: + elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61: LA33_49 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif (LA33_0 == 63) : + elif (LA33_0 == 64) : LA33 = self.input.LA(2) - if LA33 == 64: + if LA33 == 65: LA33_51 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 61: + elif LA33 == 62: LA33_52 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == IDENTIFIER: LA33_53 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == HEX_LITERAL: LA33_54 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == OCTAL_LITERAL: LA33_55 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == DECIMAL_LITERAL: LA33_56 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == CHARACTER_LITERAL: LA33_57 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == STRING_LITERAL: LA33_58 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 elif LA33 == FLOATING_POINT_LITERAL: LA33_59 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 71: + elif LA33 == 72: LA33_60 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 72: + elif LA33 == 73: LA33_61 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 65 or LA33 == 67 or LA33 == 68 or LA33 == 76 or LA33 == 77 or LA33 == 78: + elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79: LA33_62 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 - elif LA33 == 73: + elif LA33 == 74: LA33_63 = self.input.LA(3) - if (self.synpred69()) : + if (self.synpred70()) : alt33 = 1 @@ -3020,7 +3039,7 @@ class CParser(Parser): if alt33 == 1: # C.g:0:0: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator823) + self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838) self.declarator_suffix() self.following.pop() if self.failed: @@ -3059,7 +3078,7 @@ class CParser(Parser): # $ANTLR start declarator_suffix - # C.g:254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ); + # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ); def declarator_suffix(self, ): declarator_suffix_StartIndex = self.input.index() @@ -3068,54 +3087,54 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24): return - # C.g:255:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ) + # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ) alt35 = 5 LA35_0 = self.input.LA(1) - if (LA35_0 == 63) : + if (LA35_0 == 64) : LA35_1 = self.input.LA(2) - if (LA35_1 == 64) : + if (LA35_1 == 65) : alt35 = 2 - elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 61 or LA35_1 == 65 or (67 <= LA35_1 <= 68) or (71 <= LA35_1 <= 73) or (76 <= LA35_1 <= 78)) : + elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) : alt35 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input) + nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input) raise nvae - elif (LA35_0 == 61) : + elif (LA35_0 == 62) : LA35 = self.input.LA(2) - if LA35 == 62: + if LA35 == 63: alt35 = 5 + elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66: + alt35 = 3 elif LA35 == IDENTIFIER: - LA35_17 = self.input.LA(3) + LA35_29 = self.input.LA(3) - if (self.synpred72()) : + if (self.synpred73()) : alt35 = 3 - elif (self.synpred73()) : + elif (self.synpred74()) : alt35 = 4 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 17, self.input) + nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input) raise nvae - elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 65: - alt35 = 3 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input) + nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input) raise nvae @@ -3124,71 +3143,71 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("254:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input) + nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input) raise nvae if alt35 == 1: - # C.g:255:6: '[' constant_expression ']' - self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix837) + # C.g:308:6: '[' constant_expression ']' + self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix839) + self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854) self.constant_expression() self.following.pop() if self.failed: return - self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix841) + self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856) if self.failed: return elif alt35 == 2: - # C.g:256:9: '[' ']' - self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix851) + # C.g:309:9: '[' ']' + self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866) if self.failed: return - self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix853) + self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868) if self.failed: return elif alt35 == 3: - # C.g:257:9: '(' parameter_type_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix863) + # C.g:310:9: '(' parameter_type_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878) if self.failed: return - self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix865) + self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880) self.parameter_type_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix867) + self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882) if self.failed: return elif alt35 == 4: - # C.g:258:9: '(' identifier_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix877) + # C.g:311:9: '(' identifier_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892) if self.failed: return - self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix879) + self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894) self.identifier_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix881) + self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896) if self.failed: return elif alt35 == 5: - # C.g:259:9: '(' ')' - self.match(self.input, 61, self.FOLLOW_61_in_declarator_suffix891) + # C.g:312:9: '(' ')' + self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906) if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix893) + self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908) if self.failed: return @@ -3209,7 +3228,7 @@ class CParser(Parser): # $ANTLR start pointer - # C.g:262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ); + # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ); def pointer(self, ): pointer_StartIndex = self.input.index() @@ -3218,17 +3237,17 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25): return - # C.g:263:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ) + # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ) alt38 = 3 LA38_0 = self.input.LA(1) - if (LA38_0 == 65) : + if (LA38_0 == 66) : LA38 = self.input.LA(2) - if LA38 == 58: + if LA38 == 66: LA38_2 = self.input.LA(3) - if (self.synpred76()) : - alt38 = 1 + if (self.synpred78()) : + alt38 = 2 elif (True) : alt38 = 3 else: @@ -3236,14 +3255,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input) raise nvae - elif LA38 == 59: + elif LA38 == 58: LA38_3 = self.input.LA(3) - if (self.synpred76()) : + if (self.synpred77()) : alt38 = 1 elif (True) : alt38 = 3 @@ -3252,14 +3271,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input) raise nvae - elif LA38 == 60: + elif LA38 == 59: LA38_4 = self.input.LA(3) - if (self.synpred76()) : + if (self.synpred77()) : alt38 = 1 elif (True) : alt38 = 3 @@ -3268,16 +3287,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input) 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()) : + if (self.synpred77()) : alt38 = 1 elif (True) : alt38 = 3 @@ -3286,14 +3303,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 20, self.input) + nvae = NoViableAltException("315: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 == 62 or LA38 == 63 or LA38 == 64: + alt38 = 3 + elif LA38 == 53: + LA38_21 = self.input.LA(3) - if (self.synpred76()) : + if (self.synpred77()) : alt38 = 1 elif (True) : alt38 = 3 @@ -3302,15 +3321,15 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 28, self.input) + nvae = NoViableAltException("315: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 or LA38 == 61: LA38_29 = self.input.LA(3) if (self.synpred77()) : - alt38 = 2 + alt38 = 1 elif (True) : alt38 = 3 else: @@ -3318,7 +3337,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input) raise nvae @@ -3327,7 +3346,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input) raise nvae @@ -3336,16 +3355,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("262:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input) + nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input) raise nvae if alt38 == 1: - # C.g:263:4: '*' ( type_qualifier )+ ( pointer )? - self.match(self.input, 65, self.FOLLOW_65_in_pointer904) + # C.g:316:4: '*' ( type_qualifier )+ ( pointer )? + self.match(self.input, 66, self.FOLLOW_66_in_pointer919) if self.failed: return - # C.g:263:8: ( type_qualifier )+ + # C.g:316:8: ( type_qualifier )+ cnt36 = 0 while True: #loop36 alt36 = 2 @@ -3353,42 +3372,42 @@ class CParser(Parser): if LA36 == 58: LA36_2 = self.input.LA(2) - if (self.synpred74()) : + if (self.synpred75()) : alt36 = 1 elif LA36 == 59: LA36_3 = self.input.LA(2) - if (self.synpred74()) : + if (self.synpred75()) : alt36 = 1 elif LA36 == 60: LA36_4 = self.input.LA(2) - if (self.synpred74()) : + if (self.synpred75()) : alt36 = 1 elif LA36 == 53: LA36_20 = self.input.LA(2) - if (self.synpred74()) : + if (self.synpred75()) : alt36 = 1 - elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57: + elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61: LA36_28 = self.input.LA(2) - if (self.synpred74()) : + if (self.synpred75()) : alt36 = 1 if alt36 == 1: # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_pointer906) + self.following.append(self.FOLLOW_type_qualifier_in_pointer921) self.type_qualifier() self.following.pop() if self.failed: @@ -3409,18 +3428,18 @@ class CParser(Parser): cnt36 += 1 - # C.g:263:24: ( pointer )? + # C.g:316:24: ( pointer )? alt37 = 2 LA37_0 = self.input.LA(1) - if (LA37_0 == 65) : + if (LA37_0 == 66) : LA37_1 = self.input.LA(2) - if (self.synpred75()) : + if (self.synpred76()) : alt37 = 1 if alt37 == 1: # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_pointer909) + self.following.append(self.FOLLOW_pointer_in_pointer924) self.pointer() self.following.pop() if self.failed: @@ -3431,11 +3450,11 @@ class CParser(Parser): elif alt38 == 2: - # C.g:264:4: '*' pointer - self.match(self.input, 65, self.FOLLOW_65_in_pointer915) + # C.g:317:4: '*' pointer + self.match(self.input, 66, self.FOLLOW_66_in_pointer930) if self.failed: return - self.following.append(self.FOLLOW_pointer_in_pointer917) + self.following.append(self.FOLLOW_pointer_in_pointer932) self.pointer() self.following.pop() if self.failed: @@ -3443,8 +3462,8 @@ class CParser(Parser): elif alt38 == 3: - # C.g:265:4: '*' - self.match(self.input, 65, self.FOLLOW_65_in_pointer922) + # C.g:318:4: '*' + self.match(self.input, 66, self.FOLLOW_66_in_pointer937) if self.failed: return @@ -3465,7 +3484,7 @@ class CParser(Parser): # $ANTLR start parameter_type_list - # C.g:268:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ; + # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ; def parameter_type_list(self, ): parameter_type_list_StartIndex = self.input.index() @@ -3474,39 +3493,39 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26): return - # C.g:269:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ) - # C.g:269:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )? - self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list933) + # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ) + # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )? + self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948) self.parameter_list() self.following.pop() if self.failed: return - # C.g:269:19: ( ',' ( 'OPTIONAL' )? '...' )? + # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )? alt40 = 2 LA40_0 = self.input.LA(1) if (LA40_0 == 27) : alt40 = 1 if alt40 == 1: - # C.g:269:20: ',' ( 'OPTIONAL' )? '...' - self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list936) + # C.g:322:20: ',' ( 'OPTIONAL' )? '...' + self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951) if self.failed: return - # C.g:269:24: ( 'OPTIONAL' )? + # C.g:322:24: ( 'OPTIONAL' )? alt39 = 2 LA39_0 = self.input.LA(1) if (LA39_0 == 53) : alt39 = 1 if alt39 == 1: - # C.g:269:25: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list939) + # C.g:322:25: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954) if self.failed: return - self.match(self.input, 66, self.FOLLOW_66_in_parameter_type_list943) + self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958) if self.failed: return @@ -3531,7 +3550,7 @@ class CParser(Parser): # $ANTLR start parameter_list - # C.g:272:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ; + # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ; def parameter_list(self, ): parameter_list_StartIndex = self.input.index() @@ -3540,14 +3559,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27): return - # C.g:273:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ) - # C.g:273:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* - self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list956) + # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ) + # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* + self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971) self.parameter_declaration() self.following.pop() if self.failed: return - # C.g:273:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )* + # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )* while True: #loop42 alt42 = 2 LA42_0 = self.input.LA(1) @@ -3558,39 +3577,39 @@ class CParser(Parser): if (LA42_1 == 53) : LA42_3 = self.input.LA(3) - if (self.synpred81()) : + if (self.synpred82()) : alt42 = 1 - elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 60) or LA42_1 == 65) : + elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) : alt42 = 1 if alt42 == 1: - # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration - self.match(self.input, 27, self.FOLLOW_27_in_parameter_list959) + # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration + self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974) if self.failed: return - # C.g:273:31: ( 'OPTIONAL' )? + # C.g:326:31: ( 'OPTIONAL' )? alt41 = 2 LA41_0 = self.input.LA(1) if (LA41_0 == 53) : LA41_1 = self.input.LA(2) - if (self.synpred80()) : + if (self.synpred81()) : alt41 = 1 if alt41 == 1: - # C.g:273:32: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_parameter_list962) + # C.g:326:32: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977) if self.failed: return - self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list966) + self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981) self.parameter_declaration() self.following.pop() if self.failed: @@ -3620,7 +3639,7 @@ class CParser(Parser): # $ANTLR start parameter_declaration - # C.g:276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER ); + # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER ); def parameter_declaration(self, ): parameter_declaration_StartIndex = self.input.index() @@ -3629,15 +3648,15 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28): return - # C.g:277:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER ) + # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER ) alt46 = 2 LA46 = self.input.LA(1) - if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60: + if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61: alt46 = 1 elif LA46 == IDENTIFIER: LA46_13 = self.input.LA(2) - if (self.synpred85()) : + if (self.synpred86()) : alt46 = 1 elif (True) : alt46 = 2 @@ -3646,108 +3665,108 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input) + nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input) raise nvae - elif LA46 == 65: + elif LA46 == 66: alt46 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("276:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input) + nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input) raise nvae if alt46 == 1: - # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? - self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration979) + # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? + self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994) self.declaration_specifiers() self.following.pop() if self.failed: return - # C.g:277:27: ( declarator | abstract_declarator )* + # C.g:330:27: ( declarator | abstract_declarator )* while True: #loop43 alt43 = 3 LA43 = self.input.LA(1) - if LA43 == 65: + if LA43 == 66: LA43_5 = self.input.LA(2) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60: alt43 = 1 - elif LA43 == 61: + elif LA43 == 62: LA43 = self.input.LA(2) - if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 62 or LA43 == 63: + if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64: alt43 = 2 elif LA43 == IDENTIFIER: LA43_37 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 elif LA43 == 58: LA43_38 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 - elif LA43 == 65: + elif LA43 == 66: LA43_39 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 elif LA43 == 59: LA43_40 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 elif LA43 == 60: LA43_41 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 - elif LA43 == 61: + elif LA43 == 62: LA43_43 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt43 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt43 = 2 - elif LA43 == 63: + elif LA43 == 64: alt43 = 2 if alt43 == 1: - # C.g:277:28: declarator - self.following.append(self.FOLLOW_declarator_in_parameter_declaration982) + # C.g:330:28: declarator + self.following.append(self.FOLLOW_declarator_in_parameter_declaration997) self.declarator() self.following.pop() if self.failed: @@ -3755,8 +3774,8 @@ class CParser(Parser): elif alt43 == 2: - # C.g:277:39: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration984) + # C.g:330:39: abstract_declarator + self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999) self.abstract_declarator() self.following.pop() if self.failed: @@ -3767,15 +3786,15 @@ class CParser(Parser): break #loop43 - # C.g:277:61: ( 'OPTIONAL' )? + # C.g:330:61: ( 'OPTIONAL' )? alt44 = 2 LA44_0 = self.input.LA(1) if (LA44_0 == 53) : alt44 = 1 if alt44 == 1: - # C.g:277:62: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration989) + # C.g:330:62: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004) if self.failed: return @@ -3784,19 +3803,19 @@ class CParser(Parser): elif alt46 == 2: - # C.g:279:4: ( pointer )* IDENTIFIER - # C.g:279:4: ( pointer )* + # C.g:332:4: ( pointer )* IDENTIFIER + # C.g:332:4: ( pointer )* while True: #loop45 alt45 = 2 LA45_0 = self.input.LA(1) - if (LA45_0 == 65) : + if (LA45_0 == 66) : alt45 = 1 if alt45 == 1: # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_parameter_declaration998) + self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013) self.pointer() self.following.pop() if self.failed: @@ -3807,7 +3826,7 @@ class CParser(Parser): break #loop45 - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1001) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016) if self.failed: return @@ -3828,7 +3847,7 @@ class CParser(Parser): # $ANTLR start identifier_list - # C.g:282:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ; + # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ; def identifier_list(self, ): identifier_list_StartIndex = self.input.index() @@ -3837,12 +3856,12 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29): return - # C.g:283:2: ( IDENTIFIER ( ',' IDENTIFIER )* ) - # C.g:283:4: IDENTIFIER ( ',' IDENTIFIER )* - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1012) + # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* ) + # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )* + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027) if self.failed: return - # C.g:284:2: ( ',' IDENTIFIER )* + # C.g:337:2: ( ',' IDENTIFIER )* while True: #loop47 alt47 = 2 LA47_0 = self.input.LA(1) @@ -3852,11 +3871,11 @@ class CParser(Parser): if alt47 == 1: - # C.g:284:3: ',' IDENTIFIER - self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1016) + # C.g:337:3: ',' IDENTIFIER + self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031) if self.failed: return - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1018) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033) if self.failed: return @@ -3884,7 +3903,7 @@ class CParser(Parser): # $ANTLR start type_name - # C.g:287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id ); + # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id ); def type_name(self, ): type_name_StartIndex = self.input.index() @@ -3893,16 +3912,16 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30): return - # C.g:288:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id ) + # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id ) alt49 = 2 LA49_0 = self.input.LA(1) - if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 60)) : + if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) : alt49 = 1 elif (LA49_0 == IDENTIFIER) : LA49_13 = self.input.LA(2) - if (self.synpred89()) : + if (self.synpred90()) : alt49 = 1 elif (True) : alt49 = 2 @@ -3911,7 +3930,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input) + nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input) raise nvae @@ -3920,26 +3939,26 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("287:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input) + nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input) raise nvae if alt49 == 1: - # C.g:288:4: specifier_qualifier_list ( abstract_declarator )? - self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1031) + # C.g:341:4: specifier_qualifier_list ( abstract_declarator )? + self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046) self.specifier_qualifier_list() self.following.pop() if self.failed: return - # C.g:288:29: ( abstract_declarator )? + # C.g:341:29: ( abstract_declarator )? alt48 = 2 LA48_0 = self.input.LA(1) - if (LA48_0 == 61 or LA48_0 == 63 or LA48_0 == 65) : + if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) : alt48 = 1 if alt48 == 1: # C.g:0:0: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_type_name1033) + self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048) self.abstract_declarator() self.following.pop() if self.failed: @@ -3950,8 +3969,8 @@ class CParser(Parser): elif alt49 == 2: - # C.g:289:4: type_id - self.following.append(self.FOLLOW_type_id_in_type_name1039) + # C.g:342:4: type_id + self.following.append(self.FOLLOW_type_id_in_type_name1054) self.type_id() self.following.pop() if self.failed: @@ -3974,7 +3993,7 @@ class CParser(Parser): # $ANTLR start abstract_declarator - # C.g:292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator ); + # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator ); def abstract_declarator(self, ): abstract_declarator_StartIndex = self.input.index() @@ -3983,211 +4002,211 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31): return - # C.g:293:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator ) + # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator ) alt51 = 2 LA51_0 = self.input.LA(1) - if (LA51_0 == 65) : + if (LA51_0 == 66) : alt51 = 1 - elif (LA51_0 == 61 or LA51_0 == 63) : + elif (LA51_0 == 62 or LA51_0 == 64) : alt51 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("292:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input) + nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input) raise nvae if alt51 == 1: - # C.g:293:4: pointer ( direct_abstract_declarator )? - self.following.append(self.FOLLOW_pointer_in_abstract_declarator1050) + # C.g:346:4: pointer ( direct_abstract_declarator )? + self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065) self.pointer() self.following.pop() if self.failed: return - # C.g:293:12: ( direct_abstract_declarator )? + # C.g:346:12: ( direct_abstract_declarator )? alt50 = 2 LA50_0 = self.input.LA(1) - if (LA50_0 == 61) : + if (LA50_0 == 62) : LA50 = self.input.LA(2) - if LA50 == 62: + if LA50 == 63: LA50_12 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == 58: LA50_13 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 65: + elif LA50 == 66: LA50_14 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == 59: LA50_15 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == 60: LA50_16 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == IDENTIFIER: LA50_17 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 61: + elif LA50 == 62: LA50_18 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33: + elif LA50 == 64: LA50_19 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 34: + elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33: LA50_20 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 35: + elif LA50 == 34: LA50_21 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 36: + elif LA50 == 35: LA50_22 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 37: + elif LA50 == 36: LA50_23 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 38: + elif LA50 == 37: LA50_24 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 39: + elif LA50 == 38: LA50_25 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 40: + elif LA50 == 39: LA50_26 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 41: + elif LA50 == 40: LA50_27 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 42: + elif LA50 == 41: LA50_28 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 45 or LA50 == 46: + elif LA50 == 42: LA50_29 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 48: + elif LA50 == 45 or LA50 == 46: LA50_30 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57: + elif LA50 == 48: LA50_31 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 63: + elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61: LA50_32 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif (LA50_0 == 63) : + elif (LA50_0 == 64) : LA50 = self.input.LA(2) - if LA50 == 64: + if LA50 == 65: LA50_33 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 61: + elif LA50 == 62: LA50_34 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == IDENTIFIER: LA50_35 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == HEX_LITERAL: LA50_36 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == OCTAL_LITERAL: LA50_37 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == DECIMAL_LITERAL: LA50_38 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == CHARACTER_LITERAL: LA50_39 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == STRING_LITERAL: LA50_40 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 elif LA50 == FLOATING_POINT_LITERAL: LA50_41 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 71: + elif LA50 == 72: LA50_42 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 72: + elif LA50 == 73: LA50_43 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 65 or LA50 == 67 or LA50 == 68 or LA50 == 76 or LA50 == 77 or LA50 == 78: + elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79: LA50_44 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 - elif LA50 == 73: + elif LA50 == 74: LA50_45 = self.input.LA(3) - if (self.synpred90()) : + if (self.synpred91()) : alt50 = 1 if alt50 == 1: # C.g:0:0: direct_abstract_declarator - self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1052) + self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067) self.direct_abstract_declarator() self.following.pop() if self.failed: @@ -4198,8 +4217,8 @@ class CParser(Parser): elif alt51 == 2: - # C.g:294:4: direct_abstract_declarator - self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1058) + # C.g:347:4: direct_abstract_declarator + self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073) self.direct_abstract_declarator() self.following.pop() if self.failed: @@ -4222,7 +4241,7 @@ class CParser(Parser): # $ANTLR start direct_abstract_declarator - # C.g:297:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ; + # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ; def direct_abstract_declarator(self, ): direct_abstract_declarator_StartIndex = self.input.index() @@ -4231,20 +4250,20 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32): return - # C.g:298:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ) - # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* - # C.g:298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) + # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ) + # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* + # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) alt52 = 2 LA52_0 = self.input.LA(1) - if (LA52_0 == 61) : + if (LA52_0 == 62) : LA52 = self.input.LA(2) - 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: + 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 == 61 or LA52 == 63: alt52 = 2 - elif LA52 == 65: + elif LA52 == 66: LA52_18 = self.input.LA(3) - if (self.synpred92()) : + if (self.synpred93()) : alt52 = 1 elif (True) : alt52 = 2 @@ -4253,50 +4272,50 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input) + nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input) raise nvae - elif LA52 == 61 or LA52 == 63: + elif LA52 == 62 or LA52 == 64: alt52 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input) + nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input) raise nvae - elif (LA52_0 == 63) : + elif (LA52_0 == 64) : alt52 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("298:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input) + nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input) raise nvae if alt52 == 1: - # C.g:298:6: '(' abstract_declarator ')' - self.match(self.input, 61, self.FOLLOW_61_in_direct_abstract_declarator1071) + # C.g:351:6: '(' abstract_declarator ')' + self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086) if self.failed: return - self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1073) + self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088) self.abstract_declarator() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1075) + self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090) if self.failed: return elif alt52 == 2: - # C.g:298:36: abstract_declarator_suffix - self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079) + # C.g:351:36: abstract_declarator_suffix + self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094) self.abstract_declarator_suffix() self.following.pop() if self.failed: @@ -4304,237 +4323,237 @@ class CParser(Parser): - # C.g:298:65: ( abstract_declarator_suffix )* + # C.g:351:65: ( abstract_declarator_suffix )* while True: #loop53 alt53 = 2 LA53_0 = self.input.LA(1) - if (LA53_0 == 61) : + if (LA53_0 == 62) : LA53 = self.input.LA(2) - if LA53 == 62: + if LA53 == 63: LA53_12 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 58: LA53_13 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 65: + elif LA53 == 66: LA53_14 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 59: LA53_15 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 60: LA53_16 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == IDENTIFIER: LA53_17 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33: LA53_19 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 34: LA53_20 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 35: LA53_21 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 36: LA53_22 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 37: LA53_23 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 38: LA53_24 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 39: LA53_25 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 40: LA53_26 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 41: LA53_27 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 42: LA53_28 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 45 or LA53 == 46: LA53_29 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == 48: LA53_30 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57: + elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61: LA53_31 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif (LA53_0 == 63) : + elif (LA53_0 == 64) : LA53 = self.input.LA(2) - if LA53 == 64: + if LA53 == 65: LA53_33 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 61: + elif LA53 == 62: LA53_34 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == IDENTIFIER: LA53_35 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == HEX_LITERAL: LA53_36 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == OCTAL_LITERAL: LA53_37 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == DECIMAL_LITERAL: LA53_38 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == CHARACTER_LITERAL: LA53_39 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == STRING_LITERAL: LA53_40 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 elif LA53 == FLOATING_POINT_LITERAL: LA53_41 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 71: + elif LA53 == 72: LA53_42 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 72: + elif LA53 == 73: LA53_43 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 65 or LA53 == 67 or LA53 == 68 or LA53 == 76 or LA53 == 77 or LA53 == 78: + elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79: LA53_44 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 - elif LA53 == 73: + elif LA53 == 74: LA53_45 = self.input.LA(3) - if (self.synpred93()) : + if (self.synpred94()) : alt53 = 1 @@ -4543,7 +4562,7 @@ class CParser(Parser): if alt53 == 1: # C.g:0:0: abstract_declarator_suffix - self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083) + self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098) self.abstract_declarator_suffix() self.following.pop() if self.failed: @@ -4573,7 +4592,7 @@ class CParser(Parser): # $ANTLR start abstract_declarator_suffix - # C.g:301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ); + # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ); def abstract_declarator_suffix(self, ): abstract_declarator_suffix_StartIndex = self.input.index() @@ -4582,39 +4601,39 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33): return - # C.g:302:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ) + # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ) alt54 = 4 LA54_0 = self.input.LA(1) - if (LA54_0 == 63) : + if (LA54_0 == 64) : LA54_1 = self.input.LA(2) - if (LA54_1 == 64) : + if (LA54_1 == 65) : alt54 = 1 - elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 61 or LA54_1 == 65 or (67 <= LA54_1 <= 68) or (71 <= LA54_1 <= 73) or (76 <= LA54_1 <= 78)) : + elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) : alt54 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input) + nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input) raise nvae - elif (LA54_0 == 61) : + elif (LA54_0 == 62) : LA54_2 = self.input.LA(2) - if (LA54_2 == 62) : + if (LA54_2 == 63) : alt54 = 3 - elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 60) or LA54_2 == 65) : + elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) : alt54 = 4 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input) + nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input) raise nvae @@ -4623,56 +4642,56 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("301:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input) + nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input) raise nvae if alt54 == 1: - # C.g:302:4: '[' ']' - self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1095) + # C.g:355:4: '[' ']' + self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110) if self.failed: return - self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1097) + self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112) if self.failed: return elif alt54 == 2: - # C.g:303:4: '[' constant_expression ']' - self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1102) + # C.g:356:4: '[' constant_expression ']' + self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1104) + self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119) self.constant_expression() self.following.pop() if self.failed: return - self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1106) + self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121) if self.failed: return elif alt54 == 3: - # C.g:304:4: '(' ')' - self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1111) + # C.g:357:4: '(' ')' + self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126) if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1113) + self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128) if self.failed: return elif alt54 == 4: - # C.g:305:4: '(' parameter_type_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_abstract_declarator_suffix1118) + # C.g:358:4: '(' parameter_type_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133) if self.failed: return - self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120) + self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135) self.parameter_type_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1122) + self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137) if self.failed: return @@ -4693,7 +4712,7 @@ class CParser(Parser): # $ANTLR start initializer - # C.g:308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' ); + # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' ); def initializer(self, ): initializer_StartIndex = self.input.index() @@ -4702,11 +4721,11 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34): return - # C.g:310:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' ) + # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' ) alt56 = 2 LA56_0 = self.input.LA(1) - if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 61 or LA56_0 == 65 or (67 <= LA56_0 <= 68) or (71 <= LA56_0 <= 73) or (76 <= LA56_0 <= 78)) : + if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) : alt56 = 1 elif (LA56_0 == 43) : alt56 = 2 @@ -4715,13 +4734,13 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("308:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input) + nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input) raise nvae if alt56 == 1: - # C.g:310:4: assignment_expression - self.following.append(self.FOLLOW_assignment_expression_in_initializer1135) + # C.g:363:4: assignment_expression + self.following.append(self.FOLLOW_assignment_expression_in_initializer1150) self.assignment_expression() self.following.pop() if self.failed: @@ -4729,16 +4748,16 @@ class CParser(Parser): elif alt56 == 2: - # C.g:311:4: '{' initializer_list ( ',' )? '}' - self.match(self.input, 43, self.FOLLOW_43_in_initializer1140) + # C.g:364:4: '{' initializer_list ( ',' )? '}' + self.match(self.input, 43, self.FOLLOW_43_in_initializer1155) if self.failed: return - self.following.append(self.FOLLOW_initializer_list_in_initializer1142) + self.following.append(self.FOLLOW_initializer_list_in_initializer1157) self.initializer_list() self.following.pop() if self.failed: return - # C.g:311:25: ( ',' )? + # C.g:364:25: ( ',' )? alt55 = 2 LA55_0 = self.input.LA(1) @@ -4746,13 +4765,13 @@ class CParser(Parser): alt55 = 1 if alt55 == 1: # C.g:0:0: ',' - self.match(self.input, 27, self.FOLLOW_27_in_initializer1144) + self.match(self.input, 27, self.FOLLOW_27_in_initializer1159) if self.failed: return - self.match(self.input, 44, self.FOLLOW_44_in_initializer1147) + self.match(self.input, 44, self.FOLLOW_44_in_initializer1162) if self.failed: return @@ -4773,7 +4792,7 @@ class CParser(Parser): # $ANTLR start initializer_list - # C.g:314:1: initializer_list : initializer ( ',' initializer )* ; + # C.g:367:1: initializer_list : initializer ( ',' initializer )* ; def initializer_list(self, ): initializer_list_StartIndex = self.input.index() @@ -4782,14 +4801,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35): return - # C.g:315:2: ( initializer ( ',' initializer )* ) - # C.g:315:4: initializer ( ',' initializer )* - self.following.append(self.FOLLOW_initializer_in_initializer_list1158) + # C.g:368:2: ( initializer ( ',' initializer )* ) + # C.g:368:4: initializer ( ',' initializer )* + self.following.append(self.FOLLOW_initializer_in_initializer_list1173) self.initializer() self.following.pop() if self.failed: return - # C.g:315:16: ( ',' initializer )* + # C.g:368:16: ( ',' initializer )* while True: #loop57 alt57 = 2 LA57_0 = self.input.LA(1) @@ -4797,18 +4816,18 @@ class CParser(Parser): if (LA57_0 == 27) : LA57_1 = self.input.LA(2) - if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 61 or LA57_1 == 65 or (67 <= LA57_1 <= 68) or (71 <= LA57_1 <= 73) or (76 <= LA57_1 <= 78)) : + if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) : alt57 = 1 if alt57 == 1: - # C.g:315:17: ',' initializer - self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1161) + # C.g:368:17: ',' initializer + self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176) if self.failed: return - self.following.append(self.FOLLOW_initializer_in_initializer_list1163) + self.following.append(self.FOLLOW_initializer_in_initializer_list1178) self.initializer() self.following.pop() if self.failed: @@ -4844,7 +4863,7 @@ class CParser(Parser): # $ANTLR start argument_expression_list - # C.g:320:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ; + # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ; def argument_expression_list(self, ): retval = self.argument_expression_list_return() @@ -4855,28 +4874,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36): return retval - # 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) + # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ) + # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* + self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196) self.assignment_expression() self.following.pop() if self.failed: return retval - # C.g:321:28: ( 'OPTIONAL' )? + # C.g:374: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) + # C.g:374:29: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199) if self.failed: return retval - # C.g:321:42: ( ',' assignment_expression ( 'OPTIONAL' )? )* + # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )* while True: #loop60 alt60 = 2 LA60_0 = self.input.LA(1) @@ -4886,24 +4905,24 @@ class CParser(Parser): if alt60 == 1: - # C.g:321:43: ',' assignment_expression ( 'OPTIONAL' )? - self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1189) + # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )? + self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204) if self.failed: return retval - self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1191) + self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206) self.assignment_expression() self.following.pop() if self.failed: return retval - # C.g:321:69: ( 'OPTIONAL' )? + # C.g:374: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) + # C.g:374:70: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209) if self.failed: return retval @@ -4936,7 +4955,7 @@ class CParser(Parser): # $ANTLR start additive_expression - # C.g:324:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ; + # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ; def additive_expression(self, ): additive_expression_StartIndex = self.input.index() @@ -4945,11 +4964,11 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37): return - # C.g:325:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ) - # 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_expression1210) + # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ) + # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* + # C.g:378:4: ( multiplicative_expression ) + # C.g:378:5: multiplicative_expression + self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225) self.multiplicative_expression() self.following.pop() if self.failed: @@ -4957,23 +4976,23 @@ class CParser(Parser): - # C.g:325:32: ( '+' multiplicative_expression | '-' multiplicative_expression )* + # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )* while True: #loop61 alt61 = 3 LA61_0 = self.input.LA(1) - if (LA61_0 == 67) : + if (LA61_0 == 68) : alt61 = 1 - elif (LA61_0 == 68) : + elif (LA61_0 == 69) : alt61 = 2 if alt61 == 1: - # C.g:325:33: '+' multiplicative_expression - self.match(self.input, 67, self.FOLLOW_67_in_additive_expression1214) + # C.g:378:33: '+' multiplicative_expression + self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229) if self.failed: return - self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1216) + self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231) self.multiplicative_expression() self.following.pop() if self.failed: @@ -4981,11 +5000,11 @@ class CParser(Parser): elif alt61 == 2: - # C.g:325:65: '-' multiplicative_expression - self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1220) + # C.g:378:65: '-' multiplicative_expression + self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235) if self.failed: return - self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1222) + self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237) self.multiplicative_expression() self.following.pop() if self.failed: @@ -5015,7 +5034,7 @@ class CParser(Parser): # $ANTLR start multiplicative_expression - # C.g:328:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ; + # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ; def multiplicative_expression(self, ): multiplicative_expression_StartIndex = self.input.index() @@ -5024,11 +5043,11 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38): return - # C.g:329:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ) - # 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_expression1236) + # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ) + # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* + # C.g:382:4: ( cast_expression ) + # C.g:382:5: cast_expression + self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251) self.cast_expression() self.following.pop() if self.failed: @@ -5036,23 +5055,23 @@ class CParser(Parser): - # C.g:329:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* + # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* while True: #loop62 alt62 = 4 LA62 = self.input.LA(1) - if LA62 == 65: + if LA62 == 66: alt62 = 1 - elif LA62 == 69: - alt62 = 2 elif LA62 == 70: + alt62 = 2 + elif LA62 == 71: alt62 = 3 if alt62 == 1: - # C.g:329:23: '*' cast_expression - self.match(self.input, 65, self.FOLLOW_65_in_multiplicative_expression1240) + # C.g:382:23: '*' cast_expression + self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255) if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1242) + self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257) self.cast_expression() self.following.pop() if self.failed: @@ -5060,11 +5079,11 @@ class CParser(Parser): elif alt62 == 2: - # C.g:329:45: '/' cast_expression - self.match(self.input, 69, self.FOLLOW_69_in_multiplicative_expression1246) + # C.g:382:45: '/' cast_expression + self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261) if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1248) + self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263) self.cast_expression() self.following.pop() if self.failed: @@ -5072,11 +5091,11 @@ class CParser(Parser): elif alt62 == 3: - # C.g:329:67: '%' cast_expression - self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1252) + # C.g:382:67: '%' cast_expression + self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267) if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1254) + self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269) self.cast_expression() self.following.pop() if self.failed: @@ -5106,7 +5125,7 @@ class CParser(Parser): # $ANTLR start cast_expression - # C.g:332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression ); + # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression ); def cast_expression(self, ): cast_expression_StartIndex = self.input.index() @@ -5115,16 +5134,18 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39): return - # C.g:333:2: ( '(' type_name ')' cast_expression | unary_expression ) + # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression ) alt63 = 2 LA63_0 = self.input.LA(1) - if (LA63_0 == 61) : + if (LA63_0 == 62) : LA63 = self.input.LA(2) - if LA63 == IDENTIFIER: - LA63_13 = self.input.LA(3) + if 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 or LA63 == 61: + alt63 = 1 + elif LA63 == IDENTIFIER: + LA63_25 = self.input.LA(3) - if (self.synpred108()) : + if (self.synpred109()) : alt63 = 1 elif (True) : alt63 = 2 @@ -5133,48 +5154,46 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 13, self.input) + nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input) raise nvae - 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: + 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 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79: 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 );", 63, 1, self.input) + nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input) raise nvae - 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)) : + elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) : alt63 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("332:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input) + nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input) raise nvae if alt63 == 1: - # C.g:333:4: '(' type_name ')' cast_expression - self.match(self.input, 61, self.FOLLOW_61_in_cast_expression1267) + # C.g:386:4: '(' type_name ')' cast_expression + self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282) if self.failed: return - self.following.append(self.FOLLOW_type_name_in_cast_expression1269) + self.following.append(self.FOLLOW_type_name_in_cast_expression1284) self.type_name() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1271) + self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286) if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_cast_expression1273) + self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288) self.cast_expression() self.following.pop() if self.failed: @@ -5182,8 +5201,8 @@ class CParser(Parser): elif alt63 == 2: - # C.g:334:4: unary_expression - self.following.append(self.FOLLOW_unary_expression_in_cast_expression1278) + # C.g:387:4: unary_expression + self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293) self.unary_expression() self.following.pop() if self.failed: @@ -5206,7 +5225,7 @@ class CParser(Parser): # $ANTLR start unary_expression - # C.g:337:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' ); + # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' ); def unary_expression(self, ): unary_expression_StartIndex = self.input.index() @@ -5215,24 +5234,24 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40): return - # C.g:338:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' ) + # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' ) 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: + 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 == 62: alt64 = 1 - elif LA64 == 71: - alt64 = 2 elif LA64 == 72: + alt64 = 2 + elif LA64 == 73: alt64 = 3 - elif LA64 == 65 or LA64 == 67 or LA64 == 68 or LA64 == 76 or LA64 == 77 or LA64 == 78: + elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79: alt64 = 4 - elif LA64 == 73: + elif LA64 == 74: LA64_12 = self.input.LA(2) - if (LA64_12 == 61) : + if (LA64_12 == 62) : LA64_13 = self.input.LA(3) - if (self.synpred113()) : + if (self.synpred114()) : alt64 = 5 elif (True) : alt64 = 6 @@ -5241,18 +5260,18 @@ 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 ')' );", 64, 13, self.input) + nvae = NoViableAltException("390: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 <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 65 or (67 <= LA64_12 <= 68) or (71 <= LA64_12 <= 73) or (76 <= LA64_12 <= 78)) : + elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) : 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 ')' );", 64, 12, self.input) + nvae = NoViableAltException("390: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 @@ -5261,13 +5280,13 @@ 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 ')' );", 64, 0, self.input) + nvae = NoViableAltException("390: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 alt64 == 1: - # C.g:338:4: postfix_expression - self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1289) + # C.g:391:4: postfix_expression + self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304) self.postfix_expression() self.following.pop() if self.failed: @@ -5275,11 +5294,11 @@ class CParser(Parser): elif alt64 == 2: - # C.g:339:4: '++' unary_expression - self.match(self.input, 71, self.FOLLOW_71_in_unary_expression1294) + # C.g:392:4: '++' unary_expression + self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309) if self.failed: return - self.following.append(self.FOLLOW_unary_expression_in_unary_expression1296) + self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311) self.unary_expression() self.following.pop() if self.failed: @@ -5287,11 +5306,11 @@ class CParser(Parser): elif alt64 == 3: - # C.g:340:4: '--' unary_expression - self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1301) + # C.g:393:4: '--' unary_expression + self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316) if self.failed: return - self.following.append(self.FOLLOW_unary_expression_in_unary_expression1303) + self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318) self.unary_expression() self.following.pop() if self.failed: @@ -5299,13 +5318,13 @@ class CParser(Parser): elif alt64 == 4: - # C.g:341:4: unary_operator cast_expression - self.following.append(self.FOLLOW_unary_operator_in_unary_expression1308) + # C.g:394:4: unary_operator cast_expression + self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323) self.unary_operator() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_unary_expression1310) + self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325) self.cast_expression() self.following.pop() if self.failed: @@ -5313,11 +5332,11 @@ class CParser(Parser): elif alt64 == 5: - # C.g:342:4: 'sizeof' unary_expression - self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1315) + # C.g:395:4: 'sizeof' unary_expression + self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330) if self.failed: return - self.following.append(self.FOLLOW_unary_expression_in_unary_expression1317) + self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332) self.unary_expression() self.following.pop() if self.failed: @@ -5325,19 +5344,19 @@ class CParser(Parser): elif alt64 == 6: - # C.g:343:4: 'sizeof' '(' type_name ')' - self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1322) + # C.g:396:4: 'sizeof' '(' type_name ')' + self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_unary_expression1324) + self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339) if self.failed: return - self.following.append(self.FOLLOW_type_name_in_unary_expression1326) + self.following.append(self.FOLLOW_type_name_in_unary_expression1341) self.type_name() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1328) + self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343) if self.failed: return @@ -5358,7 +5377,7 @@ class CParser(Parser): # $ANTLR start postfix_expression - # C.g:346:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ; + # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ; def postfix_expression(self, ): self.postfix_expression_stack.append(postfix_expression_scope()) postfix_expression_StartIndex = self.input.index() @@ -5380,9 +5399,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41): return - # 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_expression1352) + # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ) + # C.g:406: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_expression1367) p = self.primary_expression() self.following.pop() if self.failed: @@ -5390,82 +5409,82 @@ class CParser(Parser): if self.backtracking == 0: 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 | '++' | '--' )* + # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* while True: #loop65 alt65 = 10 LA65 = self.input.LA(1) - if LA65 == 65: + if LA65 == 66: LA65_1 = self.input.LA(2) if (LA65_1 == IDENTIFIER) : LA65_30 = self.input.LA(3) - if (self.synpred119()) : + if (self.synpred120()) : alt65 = 6 - elif LA65 == 63: + elif LA65 == 64: alt65 = 1 - elif LA65 == 61: + elif LA65 == 62: LA65 = self.input.LA(2) - if LA65 == 62: + if LA65 == 63: 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 or LA65 == 61: + alt65 = 4 elif LA65 == IDENTIFIER: - LA65_43 = self.input.LA(3) + LA65_55 = self.input.LA(3) - if (self.synpred116()) : + if (self.synpred117()) : alt65 = 3 - elif (self.synpred117()) : + elif (self.synpred118()) : alt65 = 4 - 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 LA65 == 65: - LA65_53 = self.input.LA(3) + elif LA65 == 66: + LA65_57 = self.input.LA(3) - if (self.synpred116()) : + if (self.synpred117()) : alt65 = 3 - elif (self.synpred117()) : + elif (self.synpred118()) : alt65 = 4 - 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 == 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 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79: + alt65 = 3 - elif LA65 == 74: - alt65 = 5 elif LA65 == 75: + alt65 = 5 + elif LA65 == 76: alt65 = 7 - elif LA65 == 71: - alt65 = 8 elif LA65 == 72: + alt65 = 8 + elif LA65 == 73: alt65 = 9 if alt65 == 1: - # C.g:354:13: '[' expression ']' - self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1368) + # C.g:407:13: '[' expression ']' + self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383) if self.failed: return - self.following.append(self.FOLLOW_expression_in_postfix_expression1370) + self.following.append(self.FOLLOW_expression_in_postfix_expression1385) self.expression() self.following.pop() if self.failed: return - self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1372) + self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387) if self.failed: return elif alt65 == 2: - # C.g:355:13: '(' a= ')' - self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1386) + # C.g:408:13: '(' a= ')' + self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401) if self.failed: return a = self.input.LT(1) - self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1390) + self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405) if self.failed: return if self.backtracking == 0: @@ -5474,17 +5493,17 @@ class CParser(Parser): elif alt65 == 3: - # C.g:356:13: '(' c= argument_expression_list b= ')' - self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1405) + # C.g:409:13: '(' c= argument_expression_list b= ')' + self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420) if self.failed: return - self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1409) + self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424) 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_expression1413) + self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428) if self.failed: return if self.backtracking == 0: @@ -5493,27 +5512,27 @@ class CParser(Parser): elif alt65 == 4: - # C.g:357:13: '(' macro_parameter_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_postfix_expression1429) + # C.g:410:13: '(' macro_parameter_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444) if self.failed: return - self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1431) + self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446) self.macro_parameter_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1433) + self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448) if self.failed: return elif alt65 == 5: - # C.g:358:13: '.' x= IDENTIFIER - self.match(self.input, 74, self.FOLLOW_74_in_postfix_expression1447) + # C.g:411:13: '.' x= IDENTIFIER + self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462) if self.failed: return x = self.input.LT(1) - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1451) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466) if self.failed: return if self.backtracking == 0: @@ -5522,12 +5541,12 @@ class CParser(Parser): elif alt65 == 6: - # C.g:359:13: '*' y= IDENTIFIER - self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1467) + # C.g:412:13: '*' y= IDENTIFIER + self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482) if self.failed: return y = self.input.LT(1) - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1471) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486) if self.failed: return if self.backtracking == 0: @@ -5536,12 +5555,12 @@ class CParser(Parser): elif alt65 == 7: - # C.g:360:13: '->' z= IDENTIFIER - self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1487) + # C.g:413:13: '->' z= IDENTIFIER + self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502) if self.failed: return z = self.input.LT(1) - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1491) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506) if self.failed: return if self.backtracking == 0: @@ -5550,15 +5569,15 @@ class CParser(Parser): elif alt65 == 8: - # C.g:361:13: '++' - self.match(self.input, 71, self.FOLLOW_71_in_postfix_expression1507) + # C.g:414:13: '++' + self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522) if self.failed: return elif alt65 == 9: - # C.g:362:13: '--' - self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1521) + # C.g:415:13: '--' + self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536) if self.failed: return @@ -5587,7 +5606,7 @@ class CParser(Parser): # $ANTLR start macro_parameter_list - # C.g:366:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ; + # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ; def macro_parameter_list(self, ): macro_parameter_list_StartIndex = self.input.index() @@ -5596,14 +5615,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42): return - # 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_list1544) + # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* ) + # C.g:420:4: parameter_declaration ( ',' parameter_declaration )* + self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559) self.parameter_declaration() self.following.pop() if self.failed: return - # C.g:367:26: ( ',' parameter_declaration )* + # C.g:420:26: ( ',' parameter_declaration )* while True: #loop66 alt66 = 2 LA66_0 = self.input.LA(1) @@ -5613,11 +5632,11 @@ class CParser(Parser): if alt66 == 1: - # C.g:367:27: ',' parameter_declaration - self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1547) + # C.g:420:27: ',' parameter_declaration + self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562) if self.failed: return - self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1549) + self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564) self.parameter_declaration() self.following.pop() if self.failed: @@ -5647,7 +5666,7 @@ class CParser(Parser): # $ANTLR start unary_operator - # C.g:370:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' ); + # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' ); def unary_operator(self, ): unary_operator_StartIndex = self.input.index() @@ -5656,9 +5675,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43): return - # C.g:371:2: ( '&' | '*' | '+' | '-' | '~' | '!' ) + # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' ) # C.g: - if self.input.LA(1) == 65 or (67 <= self.input.LA(1) <= 68) or (76 <= self.input.LA(1) <= 78): + if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79): self.input.consume(); self.errorRecovery = False self.failed = False @@ -5700,7 +5719,7 @@ class CParser(Parser): # $ANTLR start primary_expression - # C.g:379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' ); + # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' ); def primary_expression(self, ): retval = self.primary_expression_return() @@ -5711,48 +5730,48 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44): return retval - # C.g:380:2: ( IDENTIFIER | constant | '(' expression ')' ) + # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' ) alt67 = 3 LA67 = self.input.LA(1) if LA67 == IDENTIFIER: LA67_1 = self.input.LA(2) - if (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) : - alt67 = 2 - elif (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (61 <= LA67_1 <= 65) or (67 <= LA67_1 <= 72) or (74 <= LA67_1 <= 76) or (79 <= LA67_1 <= 101)) : + if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) : alt67 = 1 + elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) : + alt67 = 2 else: if self.backtracking > 0: self.failed = True return retval - nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input) + nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input) raise nvae 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: + elif LA67 == 62: alt67 = 3 else: if self.backtracking > 0: self.failed = True return retval - nvae = NoViableAltException("379:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input) + nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input) raise nvae if alt67 == 1: - # C.g:380:4: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1598) + # C.g:433:4: IDENTIFIER + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613) if self.failed: return retval elif alt67 == 2: - # C.g:381:4: constant - self.following.append(self.FOLLOW_constant_in_primary_expression1603) + # C.g:434:4: constant + self.following.append(self.FOLLOW_constant_in_primary_expression1618) self.constant() self.following.pop() if self.failed: @@ -5760,16 +5779,16 @@ class CParser(Parser): elif alt67 == 3: - # C.g:382:4: '(' expression ')' - self.match(self.input, 61, self.FOLLOW_61_in_primary_expression1608) + # C.g:435:4: '(' expression ')' + self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623) if self.failed: return retval - self.following.append(self.FOLLOW_expression_in_primary_expression1610) + self.following.append(self.FOLLOW_expression_in_primary_expression1625) self.expression() self.following.pop() if self.failed: return retval - self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1612) + self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627) if self.failed: return retval @@ -5792,7 +5811,7 @@ class CParser(Parser): # $ANTLR start constant - # C.g:385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL ); + # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL ); def constant(self, ): constant_StartIndex = self.input.index() @@ -5801,7 +5820,7 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45): return - # C.g:386:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL ) + # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL ) alt72 = 6 LA72 = self.input.LA(1) if LA72 == HEX_LITERAL: @@ -5821,41 +5840,41 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("385:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input) + nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input) raise nvae if alt72 == 1: - # C.g:386:9: HEX_LITERAL - self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1628) + # C.g:439:9: HEX_LITERAL + self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643) if self.failed: return elif alt72 == 2: - # C.g:387:9: OCTAL_LITERAL - self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1638) + # C.g:440:9: OCTAL_LITERAL + self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653) if self.failed: return elif alt72 == 3: - # C.g:388:9: DECIMAL_LITERAL - self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1648) + # C.g:441:9: DECIMAL_LITERAL + self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663) if self.failed: return elif alt72 == 4: - # C.g:389:7: CHARACTER_LITERAL - self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1656) + # C.g:442:7: CHARACTER_LITERAL + self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671) if self.failed: return elif alt72 == 5: - # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* - # C.g:390:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ + # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* + # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ cnt70 = 0 while True: #loop70 alt70 = 2 @@ -5864,15 +5883,15 @@ class CParser(Parser): if (LA70_0 == IDENTIFIER) : LA70_1 = self.input.LA(2) - if (LA70_1 == IDENTIFIER) : - LA70_61 = self.input.LA(3) + if (LA70_1 == STRING_LITERAL) : + alt70 = 1 + elif (LA70_1 == IDENTIFIER) : + LA70_33 = self.input.LA(3) - if (self.synpred137()) : + if (self.synpred138()) : alt70 = 1 - elif (LA70_1 == STRING_LITERAL) : - alt70 = 1 elif (LA70_0 == STRING_LITERAL) : @@ -5880,8 +5899,8 @@ class CParser(Parser): if alt70 == 1: - # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+ - # C.g:390:8: ( IDENTIFIER )* + # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+ + # C.g:443:8: ( IDENTIFIER )* while True: #loop68 alt68 = 2 LA68_0 = self.input.LA(1) @@ -5892,7 +5911,7 @@ class CParser(Parser): if alt68 == 1: # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1665) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680) if self.failed: return @@ -5901,7 +5920,7 @@ class CParser(Parser): break #loop68 - # C.g:390:20: ( STRING_LITERAL )+ + # C.g:443:20: ( STRING_LITERAL )+ cnt69 = 0 while True: #loop69 alt69 = 2 @@ -5910,7 +5929,7 @@ class CParser(Parser): if (LA69_0 == STRING_LITERAL) : LA69_31 = self.input.LA(2) - if (self.synpred136()) : + if (self.synpred137()) : alt69 = 1 @@ -5918,7 +5937,7 @@ class CParser(Parser): if alt69 == 1: # C.g:0:0: STRING_LITERAL - self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1668) + self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683) if self.failed: return @@ -5953,7 +5972,7 @@ class CParser(Parser): cnt70 += 1 - # C.g:390:38: ( IDENTIFIER )* + # C.g:443:38: ( IDENTIFIER )* while True: #loop71 alt71 = 2 LA71_0 = self.input.LA(1) @@ -5964,7 +5983,7 @@ class CParser(Parser): if alt71 == 1: # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1673) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688) if self.failed: return @@ -5976,8 +5995,8 @@ class CParser(Parser): elif alt72 == 6: - # C.g:391:9: FLOATING_POINT_LITERAL - self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1684) + # C.g:444:9: FLOATING_POINT_LITERAL + self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699) if self.failed: return @@ -6004,7 +6023,7 @@ class CParser(Parser): # $ANTLR start expression - # C.g:396:1: expression : assignment_expression ( ',' assignment_expression )* ; + # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ; def expression(self, ): retval = self.expression_return() @@ -6015,14 +6034,14 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46): return retval - # C.g:397:2: ( assignment_expression ( ',' assignment_expression )* ) - # C.g:397:4: assignment_expression ( ',' assignment_expression )* - self.following.append(self.FOLLOW_assignment_expression_in_expression1700) + # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* ) + # C.g:450:4: assignment_expression ( ',' assignment_expression )* + self.following.append(self.FOLLOW_assignment_expression_in_expression1715) self.assignment_expression() self.following.pop() if self.failed: return retval - # C.g:397:26: ( ',' assignment_expression )* + # C.g:450:26: ( ',' assignment_expression )* while True: #loop73 alt73 = 2 LA73_0 = self.input.LA(1) @@ -6032,11 +6051,11 @@ class CParser(Parser): if alt73 == 1: - # C.g:397:27: ',' assignment_expression - self.match(self.input, 27, self.FOLLOW_27_in_expression1703) + # C.g:450:27: ',' assignment_expression + self.match(self.input, 27, self.FOLLOW_27_in_expression1718) if self.failed: return retval - self.following.append(self.FOLLOW_assignment_expression_in_expression1705) + self.following.append(self.FOLLOW_assignment_expression_in_expression1720) self.assignment_expression() self.following.pop() if self.failed: @@ -6068,7 +6087,7 @@ class CParser(Parser): # $ANTLR start constant_expression - # C.g:400:1: constant_expression : conditional_expression ; + # C.g:453:1: constant_expression : conditional_expression ; def constant_expression(self, ): constant_expression_StartIndex = self.input.index() @@ -6077,9 +6096,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47): return - # C.g:401:2: ( conditional_expression ) - # C.g:401:4: conditional_expression - self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1718) + # C.g:454:2: ( conditional_expression ) + # C.g:454:4: conditional_expression + self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733) self.conditional_expression() self.following.pop() if self.failed: @@ -6103,7 +6122,7 @@ class CParser(Parser): # $ANTLR start assignment_expression - # C.g:404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression ); + # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression ); def assignment_expression(self, ): assignment_expression_StartIndex = self.input.index() @@ -6112,15 +6131,15 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48): return - # C.g:405:2: ( lvalue assignment_operator assignment_expression | conditional_expression ) + # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression ) alt74 = 2 LA74 = self.input.LA(1) if LA74 == IDENTIFIER: LA74 = self.input.LA(2) - if LA74 == STRING_LITERAL: + if LA74 == 64: LA74_13 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6129,14 +6148,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input) raise nvae - elif LA74 == IDENTIFIER: + elif LA74 == 62: LA74_14 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6145,14 +6164,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input) raise nvae - elif LA74 == 63: + elif LA74 == 75: LA74_15 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6161,14 +6180,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 66: LA74_16 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6177,14 +6196,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 76: LA74_17 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6193,14 +6212,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 72: LA74_18 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6209,14 +6228,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 73: LA74_19 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6225,14 +6244,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input) raise nvae - elif LA74 == 71: - LA74_20 = self.input.LA(3) + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: + alt74 = 1 + elif LA74 == STRING_LITERAL: + LA74_21 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6241,14 +6262,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 20, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input) raise nvae - elif LA74 == 72: - LA74_21 = self.input.LA(3) + elif LA74 == IDENTIFIER: + LA74_22 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6257,29 +6278,27 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input) raise nvae - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: - alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74 = self.input.LA(2) - if LA74 == 63: + if LA74 == 64: LA74_44 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6288,14 +6307,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_45 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6304,14 +6323,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_46 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6320,14 +6339,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_47 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6336,14 +6355,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_48 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6352,14 +6371,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_49 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6368,14 +6387,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_50 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6384,29 +6403,29 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input) raise nvae - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: - alt74 = 1 - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: + alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74 = self.input.LA(2) - if LA74 == 63: + if LA74 == 64: LA74_73 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6415,14 +6434,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_74 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6431,14 +6450,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_75 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6447,14 +6466,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_76 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6463,14 +6482,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_77 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6479,14 +6498,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_78 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6495,14 +6514,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_79 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6511,29 +6530,29 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input) raise nvae - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: alt74 = 1 - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74 = self.input.LA(2) - if LA74 == 63: + if LA74 == 64: LA74_102 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6542,14 +6561,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_103 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6558,14 +6577,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_104 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6574,14 +6593,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_105 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6590,14 +6609,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_106 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6606,14 +6625,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_107 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6622,14 +6641,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_108 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6638,29 +6657,29 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input) raise nvae - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74 = self.input.LA(2) - if LA74 == 63: + if LA74 == 64: LA74_131 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6669,14 +6688,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_132 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6685,14 +6704,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_133 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6701,14 +6720,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_134 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6717,14 +6736,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_135 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6733,14 +6752,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_136 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6749,14 +6768,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_137 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6765,20 +6784,20 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input) raise nvae - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: - alt74 = 1 - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: + alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input) raise nvae @@ -6787,7 +6806,7 @@ class CParser(Parser): if LA74 == IDENTIFIER: LA74_160 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6796,14 +6815,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input) raise nvae - elif LA74 == 63: + elif LA74 == 64: LA74_161 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6812,14 +6831,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_162 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6828,14 +6847,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_163 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6844,14 +6863,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_164 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6860,14 +6879,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_165 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6876,14 +6895,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_166 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6892,14 +6911,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_167 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6908,16 +6927,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input) raise nvae - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: - alt74 = 1 + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: + alt74 = 2 elif LA74 == STRING_LITERAL: - LA74_169 = self.input.LA(3) + LA74_189 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6926,27 +6945,27 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 169, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input) raise nvae - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: - alt74 = 2 + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: + alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74 = self.input.LA(2) - if LA74 == 63: + if LA74 == 64: LA74_191 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6955,14 +6974,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_192 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6971,14 +6990,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input) raise nvae - elif LA74 == 74: + elif LA74 == 75: LA74_193 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -6987,14 +7006,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input) raise nvae - elif LA74 == 65: + elif LA74 == 66: LA74_194 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7003,14 +7022,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input) raise nvae - elif LA74 == 75: + elif LA74 == 76: LA74_195 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7019,14 +7038,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_196 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7035,14 +7054,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_197 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7051,29 +7070,29 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input) raise nvae - elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 62 or LA74 == 64 or LA74 == 67 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 76 or LA74 == 89 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101: + elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102: alt74 = 2 - elif LA74 == 28 or LA74 == 79 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88: + elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89: alt74 = 1 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74 = self.input.LA(2) if LA74 == IDENTIFIER: LA74_220 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7082,14 +7101,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74_221 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7098,14 +7117,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74_222 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7114,14 +7133,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74_223 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7130,14 +7149,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74_224 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7146,14 +7165,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input) raise nvae elif LA74 == STRING_LITERAL: LA74_225 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7162,14 +7181,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74_226 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7178,14 +7197,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_227 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7194,14 +7213,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_228 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7210,14 +7229,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_229 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7226,14 +7245,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74_230 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7242,14 +7261,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74_231 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7258,27 +7277,27 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input) raise nvae - elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60: + elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61: alt74 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74 = self.input.LA(2) if LA74 == IDENTIFIER: LA74_244 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7287,14 +7306,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74_245 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7303,14 +7322,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74_246 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7319,14 +7338,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74_247 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7335,14 +7354,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74_248 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7351,14 +7370,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input) raise nvae elif LA74 == STRING_LITERAL: LA74_249 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7367,14 +7386,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74_250 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7383,14 +7402,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_251 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7399,14 +7418,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_252 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7415,14 +7434,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_253 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7431,14 +7450,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74_254 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7447,14 +7466,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74_255 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7463,7 +7482,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input) raise nvae @@ -7472,16 +7491,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74 = self.input.LA(2) if LA74 == IDENTIFIER: LA74_256 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7490,14 +7509,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74_257 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7506,14 +7525,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74_258 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7522,14 +7541,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74_259 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7538,14 +7557,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74_260 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7554,14 +7573,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input) raise nvae elif LA74 == STRING_LITERAL: LA74_261 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7570,14 +7589,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74_262 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7586,14 +7605,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input) raise nvae - elif LA74 == 61: + elif LA74 == 62: LA74_263 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7602,14 +7621,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_264 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7618,14 +7637,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_265 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7634,14 +7653,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74_266 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7650,14 +7669,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74_267 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7666,7 +7685,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input) raise nvae @@ -7675,16 +7694,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74 = self.input.LA(2) - if LA74 == 61: + if LA74 == 62: LA74_268 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7693,14 +7712,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input) raise nvae elif LA74 == IDENTIFIER: LA74_269 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7709,14 +7728,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74_270 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7725,14 +7744,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74_271 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7741,14 +7760,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74_272 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7757,14 +7776,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74_273 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7773,14 +7792,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input) raise nvae elif LA74 == STRING_LITERAL: LA74_274 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7789,14 +7808,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74_275 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7805,14 +7824,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_276 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7821,14 +7840,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_277 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7837,14 +7856,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74_278 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7853,14 +7872,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74_279 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7869,7 +7888,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input) raise nvae @@ -7878,16 +7897,16 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74 = self.input.LA(2) - if LA74 == 61: + if LA74 == 62: LA74_280 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7896,14 +7915,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input) raise nvae elif LA74 == IDENTIFIER: LA74_281 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7912,14 +7931,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input) raise nvae elif LA74 == HEX_LITERAL: LA74_282 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7928,14 +7947,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input) raise nvae elif LA74 == OCTAL_LITERAL: LA74_283 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7944,14 +7963,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input) raise nvae elif LA74 == DECIMAL_LITERAL: LA74_284 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7960,14 +7979,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input) raise nvae elif LA74 == CHARACTER_LITERAL: LA74_285 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7976,14 +7995,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input) raise nvae elif LA74 == STRING_LITERAL: LA74_286 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -7992,14 +8011,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input) raise nvae elif LA74 == FLOATING_POINT_LITERAL: LA74_287 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -8008,14 +8027,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input) raise nvae - elif LA74 == 71: + elif LA74 == 72: LA74_288 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -8024,14 +8043,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input) raise nvae - elif LA74 == 72: + elif LA74 == 73: LA74_289 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -8040,14 +8059,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input) raise nvae - elif LA74 == 65 or LA74 == 67 or LA74 == 68 or LA74 == 76 or LA74 == 77 or LA74 == 78: + elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79: LA74_290 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -8056,14 +8075,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input) raise nvae - elif LA74 == 73: + elif LA74 == 74: LA74_291 = self.input.LA(3) - if (self.synpred141()) : + if (self.synpred142()) : alt74 = 1 elif (True) : alt74 = 2 @@ -8072,7 +8091,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input) raise nvae @@ -8081,7 +8100,7 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input) raise nvae @@ -8090,23 +8109,23 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("404:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input) + nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input) raise nvae if alt74 == 1: - # C.g:405:4: lvalue assignment_operator assignment_expression - self.following.append(self.FOLLOW_lvalue_in_assignment_expression1729) + # C.g:458:4: lvalue assignment_operator assignment_expression + self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744) self.lvalue() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1731) + self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746) self.assignment_operator() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1733) + self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748) self.assignment_expression() self.following.pop() if self.failed: @@ -8114,8 +8133,8 @@ class CParser(Parser): elif alt74 == 2: - # C.g:406:4: conditional_expression - self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1738) + # C.g:459:4: conditional_expression + self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753) self.conditional_expression() self.following.pop() if self.failed: @@ -8138,7 +8157,7 @@ class CParser(Parser): # $ANTLR start lvalue - # C.g:409:1: lvalue : unary_expression ; + # C.g:462:1: lvalue : unary_expression ; def lvalue(self, ): lvalue_StartIndex = self.input.index() @@ -8147,9 +8166,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49): return - # C.g:410:2: ( unary_expression ) - # C.g:410:4: unary_expression - self.following.append(self.FOLLOW_unary_expression_in_lvalue1750) + # C.g:463:2: ( unary_expression ) + # C.g:463:4: unary_expression + self.following.append(self.FOLLOW_unary_expression_in_lvalue1765) self.unary_expression() self.following.pop() if self.failed: @@ -8173,7 +8192,7 @@ class CParser(Parser): # $ANTLR start assignment_operator - # C.g:413:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ); + # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ); def assignment_operator(self, ): assignment_operator_StartIndex = self.input.index() @@ -8182,9 +8201,9 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50): return - # C.g:414:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ) + # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ) # C.g: - if self.input.LA(1) == 28 or (79 <= self.input.LA(1) <= 88): + if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89): self.input.consume(); self.errorRecovery = False self.failed = False @@ -8220,7 +8239,7 @@ class CParser(Parser): # $ANTLR start conditional_expression - # C.g:427:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ; + # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ; def conditional_expression(self, ): conditional_expression_StartIndex = self.input.index() @@ -8232,33 +8251,33 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51): return - # 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_expression1824) + # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? ) + # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )? + self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839) e = self.logical_or_expression() self.following.pop() if self.failed: return - # C.g:428:28: ( '?' expression ':' conditional_expression )? + # C.g:481:28: ( '?' expression ':' conditional_expression )? alt75 = 2 LA75_0 = self.input.LA(1) - if (LA75_0 == 89) : + if (LA75_0 == 90) : alt75 = 1 if alt75 == 1: - # C.g:428:29: '?' expression ':' conditional_expression - self.match(self.input, 89, self.FOLLOW_89_in_conditional_expression1827) + # C.g:481:29: '?' expression ':' conditional_expression + self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842) if self.failed: return - self.following.append(self.FOLLOW_expression_in_conditional_expression1829) + self.following.append(self.FOLLOW_expression_in_conditional_expression1844) self.expression() self.following.pop() if self.failed: return - self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1831) + self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846) if self.failed: return - self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1833) + self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848) self.conditional_expression() self.following.pop() if self.failed: @@ -8294,7 +8313,7 @@ class CParser(Parser): # $ANTLR start logical_or_expression - # C.g:431:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ; + # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ; def logical_or_expression(self, ): retval = self.logical_or_expression_return() @@ -8305,28 +8324,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52): return retval - # 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_expression1848) + # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* ) + # C.g:485:4: logical_and_expression ( '||' logical_and_expression )* + self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863) self.logical_and_expression() self.following.pop() if self.failed: return retval - # C.g:432:27: ( '||' logical_and_expression )* + # C.g:485:27: ( '||' logical_and_expression )* while True: #loop76 alt76 = 2 LA76_0 = self.input.LA(1) - if (LA76_0 == 90) : + if (LA76_0 == 91) : alt76 = 1 if alt76 == 1: - # C.g:432:28: '||' logical_and_expression - self.match(self.input, 90, self.FOLLOW_90_in_logical_or_expression1851) + # C.g:485:28: '||' logical_and_expression + self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866) if self.failed: return retval - self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1853) + self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868) self.logical_and_expression() self.following.pop() if self.failed: @@ -8358,7 +8377,7 @@ class CParser(Parser): # $ANTLR start logical_and_expression - # C.g:435:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ; + # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ; def logical_and_expression(self, ): logical_and_expression_StartIndex = self.input.index() @@ -8367,28 +8386,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53): return - # 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_expression1866) + # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* ) + # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )* + self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881) self.inclusive_or_expression() self.following.pop() if self.failed: return - # C.g:436:28: ( '&&' inclusive_or_expression )* + # C.g:489:28: ( '&&' inclusive_or_expression )* while True: #loop77 alt77 = 2 LA77_0 = self.input.LA(1) - if (LA77_0 == 91) : + if (LA77_0 == 92) : alt77 = 1 if alt77 == 1: - # C.g:436:29: '&&' inclusive_or_expression - self.match(self.input, 91, self.FOLLOW_91_in_logical_and_expression1869) + # C.g:489:29: '&&' inclusive_or_expression + self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884) if self.failed: return - self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1871) + self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886) self.inclusive_or_expression() self.following.pop() if self.failed: @@ -8418,7 +8437,7 @@ class CParser(Parser): # $ANTLR start inclusive_or_expression - # C.g:439:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ; + # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ; def inclusive_or_expression(self, ): inclusive_or_expression_StartIndex = self.input.index() @@ -8427,28 +8446,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54): return - # 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_expression1884) + # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* ) + # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )* + self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899) self.exclusive_or_expression() self.following.pop() if self.failed: return - # C.g:440:28: ( '|' exclusive_or_expression )* + # C.g:493:28: ( '|' exclusive_or_expression )* while True: #loop78 alt78 = 2 LA78_0 = self.input.LA(1) - if (LA78_0 == 92) : + if (LA78_0 == 93) : alt78 = 1 if alt78 == 1: - # C.g:440:29: '|' exclusive_or_expression - self.match(self.input, 92, self.FOLLOW_92_in_inclusive_or_expression1887) + # C.g:493:29: '|' exclusive_or_expression + self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902) if self.failed: return - self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889) + self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904) self.exclusive_or_expression() self.following.pop() if self.failed: @@ -8478,7 +8497,7 @@ class CParser(Parser): # $ANTLR start exclusive_or_expression - # C.g:443:1: exclusive_or_expression : and_expression ( '^' and_expression )* ; + # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ; def exclusive_or_expression(self, ): exclusive_or_expression_StartIndex = self.input.index() @@ -8487,28 +8506,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55): return - # 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_expression1902) + # C.g:497:2: ( and_expression ( '^' and_expression )* ) + # C.g:497:4: and_expression ( '^' and_expression )* + self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917) self.and_expression() self.following.pop() if self.failed: return - # C.g:444:19: ( '^' and_expression )* + # C.g:497:19: ( '^' and_expression )* while True: #loop79 alt79 = 2 LA79_0 = self.input.LA(1) - if (LA79_0 == 93) : + if (LA79_0 == 94) : alt79 = 1 if alt79 == 1: - # C.g:444:20: '^' and_expression - self.match(self.input, 93, self.FOLLOW_93_in_exclusive_or_expression1905) + # C.g:497:20: '^' and_expression + self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920) if self.failed: return - self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1907) + self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922) self.and_expression() self.following.pop() if self.failed: @@ -8538,7 +8557,7 @@ class CParser(Parser): # $ANTLR start and_expression - # C.g:447:1: and_expression : equality_expression ( '&' equality_expression )* ; + # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ; def and_expression(self, ): and_expression_StartIndex = self.input.index() @@ -8547,28 +8566,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56): return - # 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_expression1920) + # C.g:501:2: ( equality_expression ( '&' equality_expression )* ) + # C.g:501:4: equality_expression ( '&' equality_expression )* + self.following.append(self.FOLLOW_equality_expression_in_and_expression1935) self.equality_expression() self.following.pop() if self.failed: return - # C.g:448:24: ( '&' equality_expression )* + # C.g:501:24: ( '&' equality_expression )* while True: #loop80 alt80 = 2 LA80_0 = self.input.LA(1) - if (LA80_0 == 76) : + if (LA80_0 == 77) : alt80 = 1 if alt80 == 1: - # C.g:448:25: '&' equality_expression - self.match(self.input, 76, self.FOLLOW_76_in_and_expression1923) + # C.g:501:25: '&' equality_expression + self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938) if self.failed: return - self.following.append(self.FOLLOW_equality_expression_in_and_expression1925) + self.following.append(self.FOLLOW_equality_expression_in_and_expression1940) self.equality_expression() self.following.pop() if self.failed: @@ -8598,7 +8617,7 @@ class CParser(Parser): # $ANTLR start equality_expression - # C.g:450:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ; + # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ; def equality_expression(self, ): equality_expression_StartIndex = self.input.index() @@ -8607,25 +8626,25 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57): return - # 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_expression1937) + # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* ) + # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )* + self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952) self.relational_expression() self.following.pop() if self.failed: return - # C.g:451:26: ( ( '==' | '!=' ) relational_expression )* + # C.g:504:26: ( ( '==' | '!=' ) relational_expression )* while True: #loop81 alt81 = 2 LA81_0 = self.input.LA(1) - if ((94 <= LA81_0 <= 95)) : + if ((95 <= LA81_0 <= 96)) : alt81 = 1 if alt81 == 1: - # C.g:451:27: ( '==' | '!=' ) relational_expression - if (94 <= self.input.LA(1) <= 95): + # C.g:504:27: ( '==' | '!=' ) relational_expression + if (95 <= self.input.LA(1) <= 96): self.input.consume(); self.errorRecovery = False self.failed = False @@ -8637,12 +8656,12 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_equality_expression1940 + self.input, mse, self.FOLLOW_set_in_equality_expression1955 ) raise mse - self.following.append(self.FOLLOW_relational_expression_in_equality_expression1946) + self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961) self.relational_expression() self.following.pop() if self.failed: @@ -8672,7 +8691,7 @@ class CParser(Parser): # $ANTLR start relational_expression - # C.g:454:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ; + # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ; def relational_expression(self, ): relational_expression_StartIndex = self.input.index() @@ -8681,25 +8700,25 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58): return - # 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_expression1960) + # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ) + # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* + self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975) self.shift_expression() self.following.pop() if self.failed: return - # C.g:455:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* + # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* while True: #loop82 alt82 = 2 LA82_0 = self.input.LA(1) - if ((96 <= LA82_0 <= 99)) : + if ((97 <= LA82_0 <= 100)) : alt82 = 1 if alt82 == 1: - # C.g:455:22: ( '<' | '>' | '<=' | '>=' ) shift_expression - if (96 <= self.input.LA(1) <= 99): + # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression + if (97 <= self.input.LA(1) <= 100): self.input.consume(); self.errorRecovery = False self.failed = False @@ -8711,12 +8730,12 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_relational_expression1963 + self.input, mse, self.FOLLOW_set_in_relational_expression1978 ) raise mse - self.following.append(self.FOLLOW_shift_expression_in_relational_expression1973) + self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988) self.shift_expression() self.following.pop() if self.failed: @@ -8746,7 +8765,7 @@ class CParser(Parser): # $ANTLR start shift_expression - # C.g:458:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ; + # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ; def shift_expression(self, ): shift_expression_StartIndex = self.input.index() @@ -8755,25 +8774,25 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59): return - # 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_expression1986) + # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* ) + # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )* + self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001) self.additive_expression() self.following.pop() if self.failed: return - # C.g:459:24: ( ( '<<' | '>>' ) additive_expression )* + # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )* while True: #loop83 alt83 = 2 LA83_0 = self.input.LA(1) - if ((100 <= LA83_0 <= 101)) : + if ((101 <= LA83_0 <= 102)) : alt83 = 1 if alt83 == 1: - # C.g:459:25: ( '<<' | '>>' ) additive_expression - if (100 <= self.input.LA(1) <= 101): + # C.g:512:25: ( '<<' | '>>' ) additive_expression + if (101 <= self.input.LA(1) <= 102): self.input.consume(); self.errorRecovery = False self.failed = False @@ -8785,12 +8804,12 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_shift_expression1989 + self.input, mse, self.FOLLOW_set_in_shift_expression2004 ) raise mse - self.following.append(self.FOLLOW_additive_expression_in_shift_expression1995) + self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010) self.additive_expression() self.following.pop() if self.failed: @@ -8820,7 +8839,7 @@ class CParser(Parser): # $ANTLR start statement - # C.g:464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration ); + # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration ); def statement(self, ): statement_StartIndex = self.input.index() @@ -8829,21 +8848,19 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60): return - # C.g:465:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration ) + # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration ) alt84 = 11 LA84 = self.input.LA(1) if LA84 == IDENTIFIER: LA84 = self.input.LA(2) - if LA84 == 47: - alt84 = 1 - elif LA84 == 61: - LA84_44 = self.input.LA(3) + if LA84 == 62: + LA84_43 = self.input.LA(3) - if (self.synpred168()) : + if (self.synpred169()) : alt84 = 3 - elif (self.synpred172()) : - alt84 = 7 elif (self.synpred173()) : + alt84 = 7 + elif (self.synpred174()) : alt84 = 8 elif (True) : alt84 = 11 @@ -8852,16 +8869,18 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 44, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input) raise nvae - elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 63 or LA84 == 67 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 74 or LA84 == 75 or LA84 == 76 or LA84 == 79 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101: + elif LA84 == 47: + alt84 = 1 + elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102: alt84 = 3 - elif LA84 == 65: + elif LA84 == 66: LA84_47 = self.input.LA(3) - if (self.synpred168()) : + if (self.synpred169()) : alt84 = 3 elif (True) : alt84 = 11 @@ -8870,14 +8889,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input) raise nvae - elif LA84 == 25: - LA84_65 = self.input.LA(3) + elif LA84 == IDENTIFIER: + LA84_53 = self.input.LA(3) - if (self.synpred168()) : + if (self.synpred169()) : alt84 = 3 elif (True) : alt84 = 11 @@ -8886,14 +8905,14 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 65, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input) raise nvae - elif LA84 == IDENTIFIER: - LA84_67 = self.input.LA(3) + elif LA84 == 25: + LA84_68 = self.input.LA(3) - if (self.synpred168()) : + if (self.synpred169()) : alt84 = 3 elif (True) : alt84 = 11 @@ -8902,53 +8921,53 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("464:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 67, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input) raise nvae - elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60: + elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61: alt84 = 11 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 | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input) raise nvae - elif LA84 == 105 or LA84 == 106: + elif LA84 == 106 or LA84 == 107: alt84 = 1 elif LA84 == 43: alt84 = 2 - elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 61 or LA84 == 65 or LA84 == 67 or LA84 == 68 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 76 or LA84 == 77 or LA84 == 78: + elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79: alt84 = 3 - elif LA84 == 107 or LA84 == 109: + elif LA84 == 108 or LA84 == 110: alt84 = 4 - elif LA84 == 110 or LA84 == 111 or LA84 == 112: + elif LA84 == 111 or LA84 == 112 or LA84 == 113: alt84 = 5 - elif LA84 == 113 or LA84 == 114 or LA84 == 115 or LA84 == 116: + elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117: alt84 = 6 - elif LA84 == 102: - alt84 = 8 elif LA84 == 103: - alt84 = 9 + alt84 = 8 elif LA84 == 104: + alt84 = 9 + elif LA84 == 105: alt84 = 10 - elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60: + elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61: alt84 = 11 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 | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input) + nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input) raise nvae if alt84 == 1: - # C.g:465:4: labeled_statement - self.following.append(self.FOLLOW_labeled_statement_in_statement2010) + # C.g:518:4: labeled_statement + self.following.append(self.FOLLOW_labeled_statement_in_statement2025) self.labeled_statement() self.following.pop() if self.failed: @@ -8956,8 +8975,8 @@ class CParser(Parser): elif alt84 == 2: - # C.g:466:4: compound_statement - self.following.append(self.FOLLOW_compound_statement_in_statement2015) + # C.g:519:4: compound_statement + self.following.append(self.FOLLOW_compound_statement_in_statement2030) self.compound_statement() self.following.pop() if self.failed: @@ -8965,8 +8984,8 @@ class CParser(Parser): elif alt84 == 3: - # C.g:467:4: expression_statement - self.following.append(self.FOLLOW_expression_statement_in_statement2020) + # C.g:520:4: expression_statement + self.following.append(self.FOLLOW_expression_statement_in_statement2035) self.expression_statement() self.following.pop() if self.failed: @@ -8974,8 +8993,8 @@ class CParser(Parser): elif alt84 == 4: - # C.g:468:4: selection_statement - self.following.append(self.FOLLOW_selection_statement_in_statement2025) + # C.g:521:4: selection_statement + self.following.append(self.FOLLOW_selection_statement_in_statement2040) self.selection_statement() self.following.pop() if self.failed: @@ -8983,8 +9002,8 @@ class CParser(Parser): elif alt84 == 5: - # C.g:469:4: iteration_statement - self.following.append(self.FOLLOW_iteration_statement_in_statement2030) + # C.g:522:4: iteration_statement + self.following.append(self.FOLLOW_iteration_statement_in_statement2045) self.iteration_statement() self.following.pop() if self.failed: @@ -8992,8 +9011,8 @@ class CParser(Parser): elif alt84 == 6: - # C.g:470:4: jump_statement - self.following.append(self.FOLLOW_jump_statement_in_statement2035) + # C.g:523:4: jump_statement + self.following.append(self.FOLLOW_jump_statement_in_statement2050) self.jump_statement() self.following.pop() if self.failed: @@ -9001,8 +9020,8 @@ class CParser(Parser): elif alt84 == 7: - # C.g:471:4: macro_statement - self.following.append(self.FOLLOW_macro_statement_in_statement2040) + # C.g:524:4: macro_statement + self.following.append(self.FOLLOW_macro_statement_in_statement2055) self.macro_statement() self.following.pop() if self.failed: @@ -9010,8 +9029,8 @@ class CParser(Parser): elif alt84 == 8: - # C.g:472:4: asm2_statement - self.following.append(self.FOLLOW_asm2_statement_in_statement2045) + # C.g:525:4: asm2_statement + self.following.append(self.FOLLOW_asm2_statement_in_statement2060) self.asm2_statement() self.following.pop() if self.failed: @@ -9019,8 +9038,8 @@ class CParser(Parser): elif alt84 == 9: - # C.g:473:4: asm1_statement - self.following.append(self.FOLLOW_asm1_statement_in_statement2050) + # C.g:526:4: asm1_statement + self.following.append(self.FOLLOW_asm1_statement_in_statement2065) self.asm1_statement() self.following.pop() if self.failed: @@ -9028,8 +9047,8 @@ class CParser(Parser): elif alt84 == 10: - # C.g:474:4: asm_statement - self.following.append(self.FOLLOW_asm_statement_in_statement2055) + # C.g:527:4: asm_statement + self.following.append(self.FOLLOW_asm_statement_in_statement2070) self.asm_statement() self.following.pop() if self.failed: @@ -9037,8 +9056,8 @@ class CParser(Parser): elif alt84 == 11: - # C.g:475:4: declaration - self.following.append(self.FOLLOW_declaration_in_statement2060) + # C.g:528:4: declaration + self.following.append(self.FOLLOW_declaration_in_statement2075) self.declaration() self.following.pop() if self.failed: @@ -9061,7 +9080,7 @@ class CParser(Parser): # $ANTLR start asm2_statement - # C.g:478:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ; + # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ; def asm2_statement(self, ): asm2_statement_StartIndex = self.input.index() @@ -9070,47 +9089,47 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61): return - # C.g:479:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ) - # C.g:479:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' - # C.g:479:4: ( '__asm__' )? + # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ) + # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' + # C.g:532:4: ( '__asm__' )? alt85 = 2 LA85_0 = self.input.LA(1) - if (LA85_0 == 102) : + if (LA85_0 == 103) : alt85 = 1 if alt85 == 1: # C.g:0:0: '__asm__' - self.match(self.input, 102, self.FOLLOW_102_in_asm2_statement2071) + self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086) if self.failed: return - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2074) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_asm2_statement2076) + self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091) if self.failed: return - # C.g:479:30: (~ ( ';' ) )* + # C.g:532:30: (~ ( ';' ) )* while True: #loop86 alt86 = 2 LA86_0 = self.input.LA(1) - if (LA86_0 == 62) : + if (LA86_0 == 63) : LA86_1 = self.input.LA(2) - if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 116)) : + if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) : alt86 = 1 - elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 61) or (63 <= LA86_0 <= 116)) : + elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) : alt86 = 1 if alt86 == 1: - # C.g:479:31: ~ ( ';' ) - if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 116): + # C.g:532:31: ~ ( ';' ) + if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117): self.input.consume(); self.errorRecovery = False self.failed = False @@ -9122,7 +9141,7 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm2_statement2079 + self.input, mse, self.FOLLOW_set_in_asm2_statement2094 ) raise mse @@ -9133,10 +9152,10 @@ class CParser(Parser): break #loop86 - self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2086) + self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2088) + self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103) if self.failed: return @@ -9158,7 +9177,7 @@ class CParser(Parser): # $ANTLR start asm1_statement - # C.g:482:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ; + # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ; def asm1_statement(self, ): asm1_statement_StartIndex = self.input.index() @@ -9167,26 +9186,26 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62): return - # C.g:483:2: ( '_asm' '{' (~ ( '}' ) )* '}' ) - # C.g:483:4: '_asm' '{' (~ ( '}' ) )* '}' - self.match(self.input, 103, self.FOLLOW_103_in_asm1_statement2100) + # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' ) + # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}' + self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115) if self.failed: return - self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2102) + self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117) if self.failed: return - # C.g:483:15: (~ ( '}' ) )* + # C.g:536:15: (~ ( '}' ) )* while True: #loop87 alt87 = 2 LA87_0 = self.input.LA(1) - if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 116)) : + if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) : alt87 = 1 if alt87 == 1: - # C.g:483:16: ~ ( '}' ) - if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116): + # C.g:536:16: ~ ( '}' ) + if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117): self.input.consume(); self.errorRecovery = False self.failed = False @@ -9198,7 +9217,7 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm1_statement2105 + self.input, mse, self.FOLLOW_set_in_asm1_statement2120 ) raise mse @@ -9209,7 +9228,7 @@ class CParser(Parser): break #loop87 - self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2112) + self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127) if self.failed: return @@ -9231,7 +9250,7 @@ class CParser(Parser): # $ANTLR start asm_statement - # C.g:486:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ; + # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ; def asm_statement(self, ): asm_statement_StartIndex = self.input.index() @@ -9240,26 +9259,26 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63): return - # C.g:487:2: ( '__asm' '{' (~ ( '}' ) )* '}' ) - # C.g:487:4: '__asm' '{' (~ ( '}' ) )* '}' - self.match(self.input, 104, self.FOLLOW_104_in_asm_statement2123) + # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' ) + # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}' + self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138) if self.failed: return - self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2125) + self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140) if self.failed: return - # C.g:487:16: (~ ( '}' ) )* + # C.g:540:16: (~ ( '}' ) )* while True: #loop88 alt88 = 2 LA88_0 = self.input.LA(1) - if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 116)) : + if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) : alt88 = 1 if alt88 == 1: - # C.g:487:17: ~ ( '}' ) - if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 116): + # C.g:540:17: ~ ( '}' ) + if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117): self.input.consume(); self.errorRecovery = False self.failed = False @@ -9271,7 +9290,7 @@ class CParser(Parser): mse = MismatchedSetException(None, self.input) self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm_statement2128 + self.input, mse, self.FOLLOW_set_in_asm_statement2143 ) raise mse @@ -9282,7 +9301,7 @@ class CParser(Parser): break #loop88 - self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2135) + self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150) if self.failed: return @@ -9304,7 +9323,7 @@ class CParser(Parser): # $ANTLR start macro_statement - # C.g:490:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ; + # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ; def macro_statement(self, ): macro_statement_StartIndex = self.input.index() @@ -9313,157 +9332,157 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64): return - # C.g:491:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ) - # C.g:491:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2147) + # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ) + # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_macro_statement2149) + self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164) if self.failed: return - # C.g:491:19: ( declaration )* + # C.g:544:19: ( declaration )* while True: #loop89 alt89 = 2 LA89 = self.input.LA(1) if LA89 == IDENTIFIER: LA89 = self.input.LA(2) - if LA89 == 61: + if LA89 == 62: LA89_45 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 65: - LA89_48 = self.input.LA(3) + elif LA89 == IDENTIFIER: + LA89_47 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 25: - LA89_66 = self.input.LA(3) + elif LA89 == 66: + LA89_50 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == IDENTIFIER: - LA89_69 = self.input.LA(3) + elif LA89 == 25: + LA89_68 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: - LA89_70 = self.input.LA(3) + LA89_71 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: - LA89_71 = self.input.LA(3) + LA89_72 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: - LA89_72 = self.input.LA(3) + LA89_73 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: - LA89_73 = self.input.LA(3) + LA89_74 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: - LA89_74 = self.input.LA(3) + LA89_75 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: - LA89_75 = self.input.LA(3) + LA89_76 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: - LA89_76 = self.input.LA(3) + LA89_77 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: - LA89_77 = self.input.LA(3) + LA89_78 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: - LA89_78 = self.input.LA(3) + LA89_79 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: - LA89_79 = self.input.LA(3) + LA89_80 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: - LA89_80 = self.input.LA(3) + LA89_81 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: - LA89_81 = self.input.LA(3) + LA89_82 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: - LA89_82 = self.input.LA(3) + LA89_83 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: - LA89_83 = self.input.LA(3) + LA89_84 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: - LA89_84 = self.input.LA(3) + LA89_85 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: - LA89_85 = self.input.LA(3) + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: + LA89_86 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 @@ -9473,1563 +9492,1563 @@ class CParser(Parser): if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_87 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_88 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_89 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_90 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_91 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_92 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_93 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_94 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_95 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_96 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_97 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_98 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_99 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_100 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 65: + elif LA89 == 66: LA89_101 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_102 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_103 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_104 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_105 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_106 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_107 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_108 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_109 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_110 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_111 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_112 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_113 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_114 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_115 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_116 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_117 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_118 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_119 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_120 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_121 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_122 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_123 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_124 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_125 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_126 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_127 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_128 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_129 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_130 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_131 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_132 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_133 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_134 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_135 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_136 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_137 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_138 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_139 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_140 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_141 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_142 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_143 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_144 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_145 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_146 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_147 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_148 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_149 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_150 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_151 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_152 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_153 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_154 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_155 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_156 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_157 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_158 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_159 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_160 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_161 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_162 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_163 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_164 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_165 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_166 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_167 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_168 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_169 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_170 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_171 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_172 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_173 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_174 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_175 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_176 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_177 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_178 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_179 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_180 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_181 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_182 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_183 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_184 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_185 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_186 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_187 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_188 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_189 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_190 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_191 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_192 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_193 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_194 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_195 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_196 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_197 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_198 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_199 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_200 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_201 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_202 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_203 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_204 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_205 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_206 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_207 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_208 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_209 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_210 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_211 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_212 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_213 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_214 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_215 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_216 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_217 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_218 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_219 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_220 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_221 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_222 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_223 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_224 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_225 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_226 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_227 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_228 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_229 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_230 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_231 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_232 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_233 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_234 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_235 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_236 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_237 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_238 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_239 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_240 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_241 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_242 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_243 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_244 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_245 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_246 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_247 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_248 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_249 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_250 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_251 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_252 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_253 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_254 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_255 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_256 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_257 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_258 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_259 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_260 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_261 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_262 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_263 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_264 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_265 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_266 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_267 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_268 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_269 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_270 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_271 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_272 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_273 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_274 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_275 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_276 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_277 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_278 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_279 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_280 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_281 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_282 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_283 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_284 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_285 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_286 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_287 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_288 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_289 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_290 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_291 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_292 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_293 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_294 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_295 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_296 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_297 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_298 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_299 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_300 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_301 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_302 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_303 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_304 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_305 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 @@ -11040,14 +11059,14 @@ class CParser(Parser): if (LA89_40 == IDENTIFIER) : LA89_306 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif (LA89_40 == 43) : LA89_307 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 @@ -11056,161 +11075,161 @@ class CParser(Parser): elif LA89 == 48: LA89_41 = self.input.LA(2) - if (LA89_41 == IDENTIFIER) : + if (LA89_41 == 43) : LA89_308 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif (LA89_41 == 43) : + elif (LA89_41 == IDENTIFIER) : LA89_309 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61: LA89 = self.input.LA(2) - if LA89 == 65: + if LA89 == 66: LA89_310 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 58: LA89_311 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 59: LA89_312 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 60: LA89_313 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == IDENTIFIER: LA89_314 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 61: + elif LA89 == 62: LA89_315 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 25: LA89_316 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: LA89_317 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 34: LA89_318 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 35: LA89_319 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 36: LA89_320 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 37: LA89_321 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 38: LA89_322 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 39: LA89_323 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 40: LA89_324 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 41: LA89_325 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 42: LA89_326 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 45 or LA89 == 46: LA89_327 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 elif LA89 == 48: LA89_328 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 - elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57: + elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61: LA89_329 = self.input.LA(3) - if (self.synpred180()) : + if (self.synpred181()) : alt89 = 1 @@ -11218,7 +11237,7 @@ class CParser(Parser): if alt89 == 1: # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_macro_statement2151) + self.following.append(self.FOLLOW_declaration_in_macro_statement2166) self.declaration() self.following.pop() if self.failed: @@ -11229,1202 +11248,1202 @@ class CParser(Parser): break #loop89 - # C.g:491:33: ( statement_list )? + # C.g:544:33: ( statement_list )? alt90 = 2 LA90 = self.input.LA(1) if LA90 == IDENTIFIER: LA90 = self.input.LA(2) - if LA90 == 61: - LA90_44 = self.input.LA(3) + if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61: + alt90 = 1 + elif LA90 == 62: + LA90_45 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60: - alt90 = 1 elif LA90 == STRING_LITERAL: LA90_46 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == IDENTIFIER: LA90_47 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 63: + elif LA90 == 64: LA90_48 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_49 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_50 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_51 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_52 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_53 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: + elif LA90 == 70: LA90_54 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: - LA90_72 = self.input.LA(3) + elif LA90 == 71: + LA90_55 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 70: - LA90_73 = self.input.LA(3) + elif LA90 == 68: + LA90_56 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: - LA90_74 = self.input.LA(3) + elif LA90 == 69: + LA90_57 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 68: - LA90_75 = self.input.LA(3) + elif LA90 == 101 or LA90 == 102: + LA90_58 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: - LA90_76 = self.input.LA(3) + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: + LA90_59 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: - LA90_77 = self.input.LA(3) + elif LA90 == 95 or LA90 == 96: + LA90_60 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: - LA90_78 = self.input.LA(3) + elif LA90 == 77: + LA90_61 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: - LA90_79 = self.input.LA(3) + elif LA90 == 94: + LA90_62 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 93: - LA90_80 = self.input.LA(3) + LA90_63 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 92: - LA90_81 = self.input.LA(3) + LA90_64 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 91: - LA90_82 = self.input.LA(3) + LA90_65 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 90: - LA90_83 = self.input.LA(3) + LA90_66 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 89: - LA90_84 = self.input.LA(3) + elif LA90 == 27: + LA90_67 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 27: - LA90_85 = self.input.LA(3) + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: + LA90_70 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 102 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 109 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116: + elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117: alt90 = 1 elif LA90 == HEX_LITERAL: LA90 = self.input.LA(2) - if LA90 == 63: + if LA90 == 64: LA90_87 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_88 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_89 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_90 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_91 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_92 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_93 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: LA90_94 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 70: LA90_95 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 71: LA90_96 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 68: LA90_97 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 69: LA90_98 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 101 or LA90 == 102: LA90_99 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_100 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 95 or LA90 == 96: LA90_101 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 93: + elif LA90 == 77: LA90_102 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 92: + elif LA90 == 94: LA90_103 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 91: + elif LA90 == 93: LA90_104 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 90: + elif LA90 == 92: LA90_105 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 89: + elif LA90 == 91: LA90_106 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 27: + elif LA90 == 90: LA90_107 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: - LA90_110 = self.input.LA(3) + elif LA90 == 27: + LA90_108 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 + elif LA90 == 25: + alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90 = self.input.LA(2) - if LA90 == 63: + if LA90 == 64: LA90_111 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_112 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_113 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_114 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_115 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_116 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_117 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: + elif LA90 == 70: LA90_118 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 71: LA90_119 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 70: + elif LA90 == 68: LA90_120 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 69: LA90_121 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 68: + elif LA90 == 101 or LA90 == 102: LA90_122 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_123 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 95 or LA90 == 96: LA90_124 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 77: LA90_125 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 94: LA90_126 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 93: LA90_127 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 92: LA90_128 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 91: LA90_129 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 90: LA90_130 = self.input.LA(3) - if (self.synpred181()) : - alt90 = 1 - elif LA90 == 89: - LA90_131 = self.input.LA(3) - - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 27: - LA90_132 = self.input.LA(3) + LA90_131 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 25: alt90 = 1 + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: + LA90_134 = self.input.LA(3) + + if (self.synpred182()) : + alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90 = self.input.LA(2) - if LA90 == 63: + if LA90 == 64: LA90_135 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_136 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_137 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_138 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_139 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_140 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_141 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: LA90_142 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 70: LA90_143 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 70: + elif LA90 == 71: LA90_144 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 68: LA90_145 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 68: + elif LA90 == 69: LA90_146 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 101 or LA90 == 102: LA90_147 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_148 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 95 or LA90 == 96: LA90_149 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 77: LA90_150 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 93: + elif LA90 == 94: LA90_151 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 92: + elif LA90 == 93: LA90_152 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 91: + elif LA90 == 92: LA90_153 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 90: + elif LA90 == 91: LA90_154 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 89: + elif LA90 == 90: LA90_155 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 27: LA90_156 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 25: alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90 = self.input.LA(2) - if LA90 == 63: + if LA90 == 64: LA90_159 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_160 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_161 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_162 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_163 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_164 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_165 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: + elif LA90 == 70: LA90_166 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 71: LA90_167 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 70: + elif LA90 == 68: LA90_168 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 69: LA90_169 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 68: + elif LA90 == 101 or LA90 == 102: LA90_170 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_171 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 95 or LA90 == 96: LA90_172 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 77: LA90_173 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 94: LA90_174 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 93: LA90_175 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 92: LA90_176 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 91: LA90_177 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 90: LA90_178 = self.input.LA(3) - if (self.synpred181()) : - alt90 = 1 - elif LA90 == 89: - LA90_179 = self.input.LA(3) - - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 27: - LA90_180 = self.input.LA(3) + LA90_179 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 25: alt90 = 1 + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: + LA90_181 = self.input.LA(3) + + if (self.synpred182()) : + alt90 = 1 elif LA90 == STRING_LITERAL: LA90 = self.input.LA(2) if LA90 == IDENTIFIER: LA90_183 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 63: + elif LA90 == 64: LA90_184 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_185 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_186 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_187 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_188 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_189 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_190 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: LA90_191 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 70: + elif LA90 == STRING_LITERAL: LA90_192 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 70: LA90_193 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 68: + elif LA90 == 71: LA90_194 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 68: LA90_195 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 69: LA90_196 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 101 or LA90 == 102: LA90_197 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_198 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 93: + elif LA90 == 95 or LA90 == 96: LA90_199 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 92: + elif LA90 == 77: LA90_200 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 91: + elif LA90 == 94: LA90_201 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 90: + elif LA90 == 93: LA90_202 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 89: + elif LA90 == 92: LA90_203 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 27: + elif LA90 == 91: LA90_204 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_206 = self.input.LA(3) + elif LA90 == 90: + LA90_205 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: - LA90_207 = self.input.LA(3) + elif LA90 == 27: + LA90_206 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 + elif LA90 == 25: + alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90 = self.input.LA(2) - if LA90 == 63: + if LA90 == 64: LA90_209 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_210 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 74: + elif LA90 == 75: LA90_211 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65: + elif LA90 == 66: LA90_212 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 75: + elif LA90 == 76: LA90_213 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_214 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_215 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 69: + elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89: LA90_216 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 70: LA90_217 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 67: + elif LA90 == 71: LA90_218 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 68: LA90_219 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 100 or LA90 == 101: + elif LA90 == 69: LA90_220 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 96 or LA90 == 97 or LA90 == 98 or LA90 == 99: + elif LA90 == 101 or LA90 == 102: LA90_221 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 94 or LA90 == 95: + elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: LA90_222 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 76: + elif LA90 == 95 or LA90 == 96: LA90_223 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 93: + elif LA90 == 77: LA90_224 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 92: + elif LA90 == 94: LA90_225 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 91: + elif LA90 == 93: LA90_226 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 90: + elif LA90 == 92: LA90_227 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 89: + elif LA90 == 91: LA90_228 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 27: + elif LA90 == 90: LA90_229 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == 28 or LA90 == 79 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88: - LA90_231 = self.input.LA(3) + elif LA90 == 27: + LA90_230 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 25: + alt90 = 1 + elif LA90 == 62: LA90 = self.input.LA(2) if LA90 == IDENTIFIER: LA90_233 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == HEX_LITERAL: LA90_234 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90_235 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90_236 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90_237 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == STRING_LITERAL: LA90_238 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90_239 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_240 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_241 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_242 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90_243 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90_244 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60: + elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61: LA90_245 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 34: LA90_246 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 35: LA90_247 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 36: LA90_248 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 37: LA90_249 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 38: LA90_250 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 39: LA90_251 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 40: LA90_252 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 41: LA90_253 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 42: LA90_254 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 45 or LA90 == 46: LA90_255 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == 48: LA90_256 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90 = self.input.LA(2) if LA90 == IDENTIFIER: LA90_257 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == HEX_LITERAL: LA90_258 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90_259 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90_260 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90_261 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == STRING_LITERAL: LA90_262 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90_263 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_264 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_265 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_266 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90_267 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90_268 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90 = self.input.LA(2) if LA90 == IDENTIFIER: LA90_269 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == HEX_LITERAL: LA90_270 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90_271 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90_272 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90_273 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == STRING_LITERAL: LA90_274 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90_275 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 61: + elif LA90 == 62: LA90_276 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_277 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_278 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90_279 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90_280 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90 = self.input.LA(2) - if LA90 == 61: + if LA90 == 62: LA90_281 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == IDENTIFIER: LA90_282 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == HEX_LITERAL: LA90_283 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90_284 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90_285 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90_286 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == STRING_LITERAL: LA90_287 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90_288 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_289 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_290 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90_291 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90_292 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90 = self.input.LA(2) - if LA90 == 61: + if LA90 == 62: LA90_293 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == IDENTIFIER: LA90_294 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == HEX_LITERAL: LA90_295 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == OCTAL_LITERAL: LA90_296 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == DECIMAL_LITERAL: LA90_297 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == CHARACTER_LITERAL: LA90_298 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == STRING_LITERAL: LA90_299 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 elif LA90 == FLOATING_POINT_LITERAL: LA90_300 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 71: + elif LA90 == 72: LA90_301 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 72: + elif LA90 == 73: LA90_302 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 65 or LA90 == 67 or LA90 == 68 or LA90 == 76 or LA90 == 77 or LA90 == 78: + elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79: LA90_303 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 - elif LA90 == 73: + elif LA90 == 74: LA90_304 = self.input.LA(3) - if (self.synpred181()) : + if (self.synpred182()) : alt90 = 1 if alt90 == 1: # C.g:0:0: statement_list - self.following.append(self.FOLLOW_statement_list_in_macro_statement2155) + self.following.append(self.FOLLOW_statement_list_in_macro_statement2170) self.statement_list() self.following.pop() if self.failed: @@ -12432,15 +12451,15 @@ class CParser(Parser): - # C.g:491:49: ( expression )? + # C.g:544:49: ( expression )? alt91 = 2 LA91_0 = self.input.LA(1) - if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 61 or LA91_0 == 65 or (67 <= LA91_0 <= 68) or (71 <= LA91_0 <= 73) or (76 <= LA91_0 <= 78)) : + if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) : alt91 = 1 if alt91 == 1: # C.g:0:0: expression - self.following.append(self.FOLLOW_expression_in_macro_statement2158) + self.following.append(self.FOLLOW_expression_in_macro_statement2173) self.expression() self.following.pop() if self.failed: @@ -12448,7 +12467,7 @@ class CParser(Parser): - self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2161) + self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176) if self.failed: return @@ -12470,7 +12489,7 @@ class CParser(Parser): # $ANTLR start labeled_statement - # C.g:494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement ); + # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement ); def labeled_statement(self, ): labeled_statement_StartIndex = self.input.index() @@ -12479,33 +12498,33 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65): return - # C.g:495:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement ) + # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement ) alt92 = 3 LA92 = self.input.LA(1) if LA92 == IDENTIFIER: alt92 = 1 - elif LA92 == 105: - alt92 = 2 elif LA92 == 106: + alt92 = 2 + elif LA92 == 107: alt92 = 3 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("494:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input) + nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input) raise nvae if alt92 == 1: - # C.g:495:4: IDENTIFIER ':' statement - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2173) + # C.g:548:4: IDENTIFIER ':' statement + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188) if self.failed: return - self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2175) + self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190) if self.failed: return - self.following.append(self.FOLLOW_statement_in_labeled_statement2177) + self.following.append(self.FOLLOW_statement_in_labeled_statement2192) self.statement() self.following.pop() if self.failed: @@ -12513,19 +12532,19 @@ class CParser(Parser): elif alt92 == 2: - # C.g:496:4: 'case' constant_expression ':' statement - self.match(self.input, 105, self.FOLLOW_105_in_labeled_statement2182) + # C.g:549:4: 'case' constant_expression ':' statement + self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197) if self.failed: return - self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2184) + self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199) self.constant_expression() self.following.pop() if self.failed: return - self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2186) + self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201) if self.failed: return - self.following.append(self.FOLLOW_statement_in_labeled_statement2188) + self.following.append(self.FOLLOW_statement_in_labeled_statement2203) self.statement() self.following.pop() if self.failed: @@ -12533,14 +12552,14 @@ class CParser(Parser): elif alt92 == 3: - # C.g:497:4: 'default' ':' statement - self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2193) + # C.g:550:4: 'default' ':' statement + self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208) if self.failed: return - self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2195) + self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210) if self.failed: return - self.following.append(self.FOLLOW_statement_in_labeled_statement2197) + self.following.append(self.FOLLOW_statement_in_labeled_statement2212) self.statement() self.following.pop() if self.failed: @@ -12569,7 +12588,7 @@ class CParser(Parser): # $ANTLR start compound_statement - # C.g:500:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ; + # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ; def compound_statement(self, ): retval = self.compound_statement_return() @@ -12580,154 +12599,154 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66): return retval - # C.g:501:2: ( '{' ( declaration )* ( statement_list )? '}' ) - # C.g:501:4: '{' ( declaration )* ( statement_list )? '}' - self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2208) + # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' ) + # C.g:554:4: '{' ( declaration )* ( statement_list )? '}' + self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223) if self.failed: return retval - # C.g:501:8: ( declaration )* + # C.g:554:8: ( declaration )* while True: #loop93 alt93 = 2 LA93 = self.input.LA(1) if LA93 == IDENTIFIER: LA93 = self.input.LA(2) - if LA93 == 61: + if LA93 == 62: LA93_44 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 65: - LA93_48 = self.input.LA(3) + elif LA93 == IDENTIFIER: + LA93_47 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 25: - LA93_67 = self.input.LA(3) + elif LA93 == 66: + LA93_48 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == IDENTIFIER: - LA93_69 = self.input.LA(3) + elif LA93 == 58: + LA93_49 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 58: - LA93_70 = self.input.LA(3) + elif LA93 == 59: + LA93_50 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 59: - LA93_71 = self.input.LA(3) + elif LA93 == 60: + LA93_51 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 60: - LA93_72 = self.input.LA(3) + elif LA93 == 25: + LA93_52 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: - LA93_73 = self.input.LA(3) + LA93_53 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: - LA93_74 = self.input.LA(3) + LA93_54 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: - LA93_75 = self.input.LA(3) + LA93_55 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: - LA93_76 = self.input.LA(3) + LA93_56 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: - LA93_77 = self.input.LA(3) + LA93_57 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: - LA93_78 = self.input.LA(3) + LA93_58 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: - LA93_79 = self.input.LA(3) + LA93_59 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: - LA93_80 = self.input.LA(3) + LA93_60 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: - LA93_81 = self.input.LA(3) + LA93_61 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: - LA93_82 = self.input.LA(3) + LA93_62 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: - LA93_83 = self.input.LA(3) + LA93_63 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: - LA93_84 = self.input.LA(3) + LA93_64 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: - LA93_85 = self.input.LA(3) + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: + LA93_65 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 @@ -12737,1563 +12756,1563 @@ class CParser(Parser): if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_86 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_87 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_88 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_89 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_90 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_91 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_92 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_93 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_94 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_95 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_96 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_97 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_98 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_99 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 65: + elif LA93 == 66: LA93_100 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_101 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_102 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_103 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_104 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_105 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_106 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_107 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_108 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_109 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_110 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_111 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_112 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_113 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_114 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_115 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_116 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_117 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_118 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_119 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_120 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_121 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_122 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_123 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_124 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_125 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_126 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_127 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_128 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_129 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_130 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_131 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_132 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_133 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_134 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_135 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_136 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_137 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_138 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_139 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_140 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_141 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_142 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_143 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_144 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_145 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_146 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_147 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_148 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_149 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_150 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_151 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_152 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_153 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_154 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_155 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_156 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_157 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_158 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_159 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_160 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_161 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_162 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_163 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_164 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_165 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_166 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_167 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_168 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_169 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_170 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_171 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_172 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_173 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_174 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_175 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_176 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_177 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_178 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_179 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_180 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_181 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_182 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_183 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_184 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_185 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_186 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_187 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_188 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_189 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_190 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_191 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_192 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_193 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_194 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_195 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_196 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_197 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_198 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_199 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_200 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_201 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_202 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_203 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_204 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_205 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_206 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_207 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_208 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_209 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_210 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_211 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_212 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_213 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_214 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_215 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_216 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_217 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_218 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_219 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_220 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_221 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_222 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_223 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_224 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_225 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_226 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_227 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_228 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_229 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_230 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_231 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_232 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_233 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_234 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_235 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_236 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_237 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_238 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_239 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_240 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_241 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_242 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_243 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_244 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_245 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_246 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_247 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_248 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_249 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_250 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_251 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_252 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_253 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_254 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_255 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_256 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_257 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_258 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_259 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_260 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_261 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_262 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_263 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_264 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_265 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_266 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_267 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_268 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_269 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_270 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_271 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_272 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_273 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_274 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_275 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_276 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_277 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_278 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_279 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_280 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_281 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_282 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_283 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_284 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_285 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_286 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_287 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_288 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_289 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_290 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_291 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_292 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_293 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_294 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_295 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_296 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_297 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_298 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_299 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_300 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_301 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_302 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_303 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_304 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 @@ -14304,14 +14323,14 @@ class CParser(Parser): if (LA93_40 == IDENTIFIER) : LA93_305 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif (LA93_40 == 43) : LA93_306 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 @@ -14320,161 +14339,161 @@ class CParser(Parser): elif LA93 == 48: LA93_41 = self.input.LA(2) - if (LA93_41 == IDENTIFIER) : + if (LA93_41 == 43) : LA93_307 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif (LA93_41 == 43) : + elif (LA93_41 == IDENTIFIER) : LA93_308 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61: LA93 = self.input.LA(2) - if LA93 == 65: + if LA93 == 66: LA93_309 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 58: LA93_310 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 59: LA93_311 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 60: LA93_312 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == IDENTIFIER: LA93_313 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 61: + elif LA93 == 62: LA93_314 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 25: LA93_315 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: LA93_316 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 34: LA93_317 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 35: LA93_318 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 36: LA93_319 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 37: LA93_320 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 38: LA93_321 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 39: LA93_322 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 40: LA93_323 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 41: LA93_324 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 42: LA93_325 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 45 or LA93 == 46: LA93_326 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 elif LA93 == 48: LA93_327 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 - elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57: + elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61: LA93_328 = self.input.LA(3) - if (self.synpred185()) : + if (self.synpred186()) : alt93 = 1 @@ -14482,7 +14501,7 @@ class CParser(Parser): if alt93 == 1: # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_compound_statement2210) + self.following.append(self.FOLLOW_declaration_in_compound_statement2225) self.declaration() self.following.pop() if self.failed: @@ -14493,15 +14512,15 @@ class CParser(Parser): break #loop93 - # C.g:501:21: ( statement_list )? + # C.g:554:21: ( statement_list )? alt94 = 2 LA94_0 = self.input.LA(1) - if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 61) or LA94_0 == 65 or (67 <= LA94_0 <= 68) or (71 <= LA94_0 <= 73) or (76 <= LA94_0 <= 78) or (102 <= LA94_0 <= 107) or (109 <= LA94_0 <= 116)) : + if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) : alt94 = 1 if alt94 == 1: # C.g:0:0: statement_list - self.following.append(self.FOLLOW_statement_list_in_compound_statement2213) + self.following.append(self.FOLLOW_statement_list_in_compound_statement2228) self.statement_list() self.following.pop() if self.failed: @@ -14509,7 +14528,7 @@ class CParser(Parser): - self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2216) + self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231) if self.failed: return retval @@ -14533,7 +14552,7 @@ class CParser(Parser): # $ANTLR start statement_list - # C.g:504:1: statement_list : ( statement )+ ; + # C.g:557:1: statement_list : ( statement )+ ; def statement_list(self, ): statement_list_StartIndex = self.input.index() @@ -14542,498 +14561,498 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67): return - # C.g:505:2: ( ( statement )+ ) - # C.g:505:4: ( statement )+ - # C.g:505:4: ( statement )+ + # C.g:558:2: ( ( statement )+ ) + # C.g:558:4: ( statement )+ + # C.g:558:4: ( statement )+ cnt95 = 0 while True: #loop95 alt95 = 2 LA95 = self.input.LA(1) if LA95 == IDENTIFIER: LA95 = self.input.LA(2) - if LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60: - alt95 = 1 - elif LA95 == 61: - LA95_47 = self.input.LA(3) + if LA95 == 62: + LA95_46 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 63: + elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61: + alt95 = 1 + elif LA95 == STRING_LITERAL: LA95_48 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == IDENTIFIER: LA95_49 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 64: LA95_50 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 75: LA95_51 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 66: LA95_52 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 76: LA95_53 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: + elif LA95 == 72: LA95_54 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == STRING_LITERAL: + elif LA95 == 73: LA95_55 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == IDENTIFIER: + elif LA95 == 70: LA95_56 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 71: LA95_57 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 68: LA95_58 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 69: LA95_59 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 101 or LA95 == 102: LA95_60 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_61 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 95 or LA95 == 96: LA95_62 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 77: LA95_63 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 94: LA95_64 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 93: LA95_65 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 92: LA95_66 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 91: LA95_67 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 90: LA95_68 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 27: LA95_69 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 27: - LA95_70 = self.input.LA(3) + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: + LA95_88 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95 = self.input.LA(2) - if LA95 == 63: + if LA95 == 64: LA95_89 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_90 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_91 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_92 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_93 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_94 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_95 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: LA95_96 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 70: LA95_97 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 71: LA95_98 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 68: LA95_99 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 69: LA95_100 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 101 or LA95 == 102: LA95_101 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_102 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 95 or LA95 == 96: LA95_103 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 93: + elif LA95 == 77: LA95_104 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 92: + elif LA95 == 94: LA95_105 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 91: + elif LA95 == 93: LA95_106 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 90: + elif LA95 == 92: LA95_107 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 91: LA95_108 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 27: + elif LA95 == 90: LA95_109 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 25: - alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: - LA95_112 = self.input.LA(3) + elif LA95 == 27: + LA95_110 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 + elif LA95 == 25: + alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95 = self.input.LA(2) - if LA95 == 63: + if LA95 == 64: LA95_113 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_114 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_115 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_116 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_117 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_118 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_119 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: + elif LA95 == 70: LA95_120 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 71: LA95_121 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 68: LA95_122 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 69: LA95_123 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 101 or LA95 == 102: LA95_124 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_125 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 95 or LA95 == 96: LA95_126 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 77: LA95_127 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 94: LA95_128 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 93: LA95_129 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 92: LA95_130 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 91: LA95_131 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 90: LA95_132 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 27: LA95_133 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 27: - LA95_134 = self.input.LA(3) + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: + LA95_135 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 @@ -15042,157 +15061,157 @@ class CParser(Parser): elif LA95 == DECIMAL_LITERAL: LA95 = self.input.LA(2) - if LA95 == 63: + if LA95 == 64: LA95_137 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_138 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_139 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_140 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_141 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_142 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_143 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: LA95_144 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 70: LA95_145 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 71: LA95_146 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 68: LA95_147 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 69: LA95_148 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 101 or LA95 == 102: LA95_149 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_150 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 95 or LA95 == 96: LA95_151 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 77: LA95_152 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 93: + elif LA95 == 94: LA95_153 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 92: + elif LA95 == 93: LA95_154 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 91: + elif LA95 == 92: LA95_155 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 90: + elif LA95 == 91: LA95_156 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 90: LA95_157 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 27: LA95_158 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 @@ -15201,157 +15220,157 @@ class CParser(Parser): elif LA95 == CHARACTER_LITERAL: LA95 = self.input.LA(2) - if LA95 == 63: + if LA95 == 64: LA95_161 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_162 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_163 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_164 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_165 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_166 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_167 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: LA95_168 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 70: LA95_169 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 71: LA95_170 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 68: LA95_171 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 69: LA95_172 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 101 or LA95 == 102: LA95_173 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_174 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 95 or LA95 == 96: LA95_175 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 77: LA95_176 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 93: + elif LA95 == 94: LA95_177 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 92: + elif LA95 == 93: LA95_178 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 91: + elif LA95 == 92: LA95_179 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 90: + elif LA95 == 91: LA95_180 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 90: LA95_181 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 27: LA95_182 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 @@ -15363,154 +15382,154 @@ class CParser(Parser): if LA95 == IDENTIFIER: LA95_185 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 63: + elif LA95 == 64: LA95_186 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_187 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_188 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_189 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_190 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_191 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_192 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 70: LA95_193 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 71: LA95_194 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 68: LA95_195 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 69: LA95_196 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 101 or LA95 == 102: LA95_197 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_198 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 95 or LA95 == 96: LA95_199 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 77: LA95_200 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 93: + elif LA95 == 94: LA95_201 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 92: + elif LA95 == 93: LA95_202 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 91: + elif LA95 == 92: LA95_203 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 90: + elif LA95 == 91: LA95_204 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 90: LA95_205 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 27: LA95_206 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 @@ -15519,702 +15538,702 @@ class CParser(Parser): elif LA95 == STRING_LITERAL: LA95_208 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: - LA95_210 = self.input.LA(3) + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: + LA95_209 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95 = self.input.LA(2) - if LA95 == 63: + if LA95 == 64: LA95_211 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_212 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 74: + elif LA95 == 75: LA95_213 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65: + elif LA95 == 66: LA95_214 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 75: + elif LA95 == 76: LA95_215 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_216 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_217 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 69: + elif LA95 == 70: LA95_218 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 70: + elif LA95 == 71: LA95_219 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 67: + elif LA95 == 68: LA95_220 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 68: + elif LA95 == 69: LA95_221 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 100 or LA95 == 101: + elif LA95 == 101 or LA95 == 102: LA95_222 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 96 or LA95 == 97 or LA95 == 98 or LA95 == 99: + elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: LA95_223 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 94 or LA95 == 95: + elif LA95 == 95 or LA95 == 96: LA95_224 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 76: + elif LA95 == 77: LA95_225 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 93: + elif LA95 == 94: LA95_226 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 92: + elif LA95 == 93: LA95_227 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 91: + elif LA95 == 92: LA95_228 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 90: + elif LA95 == 91: LA95_229 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 89: + elif LA95 == 90: LA95_230 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 27: LA95_231 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 28 or LA95 == 79 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88: - LA95_233 = self.input.LA(3) + elif LA95 == 25: + alt95 = 1 + elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89: + LA95_234 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 25: - alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95 = self.input.LA(2) if LA95 == IDENTIFIER: LA95_235 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95_236 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95_237 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == DECIMAL_LITERAL: LA95_238 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == CHARACTER_LITERAL: LA95_239 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == STRING_LITERAL: LA95_240 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95_241 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_242 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_243 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_244 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95_245 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95_246 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60: + elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61: LA95_247 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 34: LA95_248 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 35: LA95_249 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 36: LA95_250 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 37: LA95_251 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 38: LA95_252 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 39: LA95_253 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 40: LA95_254 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 41: LA95_255 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 42: LA95_256 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 45 or LA95 == 46: LA95_257 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == 48: LA95_258 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95 = self.input.LA(2) if LA95 == IDENTIFIER: LA95_259 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95_260 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95_261 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == DECIMAL_LITERAL: LA95_262 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == CHARACTER_LITERAL: LA95_263 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == STRING_LITERAL: LA95_264 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95_265 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_266 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_267 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_268 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95_269 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95_270 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95 = self.input.LA(2) if LA95 == IDENTIFIER: LA95_271 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95_272 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95_273 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == DECIMAL_LITERAL: LA95_274 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == CHARACTER_LITERAL: LA95_275 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == STRING_LITERAL: LA95_276 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95_277 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 61: + elif LA95 == 62: LA95_278 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_279 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_280 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95_281 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95_282 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95 = self.input.LA(2) - if LA95 == 61: + if LA95 == 62: LA95_283 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == IDENTIFIER: LA95_284 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95_285 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95_286 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == DECIMAL_LITERAL: LA95_287 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == CHARACTER_LITERAL: LA95_288 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == STRING_LITERAL: LA95_289 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95_290 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_291 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_292 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95_293 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95_294 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95 = self.input.LA(2) - if LA95 == 61: + if LA95 == 62: LA95_295 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == IDENTIFIER: LA95_296 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == HEX_LITERAL: LA95_297 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == OCTAL_LITERAL: LA95_298 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == DECIMAL_LITERAL: LA95_299 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == CHARACTER_LITERAL: LA95_300 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == STRING_LITERAL: LA95_301 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 elif LA95 == FLOATING_POINT_LITERAL: LA95_302 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 71: + elif LA95 == 72: LA95_303 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 72: + elif LA95 == 73: LA95_304 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 65 or LA95 == 67 or LA95 == 68 or LA95 == 76 or LA95 == 77 or LA95 == 78: + elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79: LA95_305 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 73: + elif LA95 == 74: LA95_306 = self.input.LA(3) - if (self.synpred187()) : + if (self.synpred188()) : alt95 = 1 - elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 102 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 109 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116: + elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117: alt95 = 1 if alt95 == 1: # C.g:0:0: statement - self.following.append(self.FOLLOW_statement_in_statement_list2227) + self.following.append(self.FOLLOW_statement_in_statement_list2242) self.statement() self.following.pop() if self.failed: @@ -16260,7 +16279,7 @@ class CParser(Parser): # $ANTLR start expression_statement - # C.g:508:1: expression_statement : ( ';' | expression ';' ); + # C.g:561:1: expression_statement : ( ';' | expression ';' ); def expression_statement(self, ): retval = self.expression_statement_return() @@ -16271,38 +16290,38 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68): return retval - # C.g:509:2: ( ';' | expression ';' ) + # C.g:562:2: ( ';' | expression ';' ) alt96 = 2 LA96_0 = self.input.LA(1) if (LA96_0 == 25) : alt96 = 1 - elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 61 or LA96_0 == 65 or (67 <= LA96_0 <= 68) or (71 <= LA96_0 <= 73) or (76 <= LA96_0 <= 78)) : + elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) : alt96 = 2 else: if self.backtracking > 0: self.failed = True return retval - nvae = NoViableAltException("508:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input) + nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input) raise nvae if alt96 == 1: - # C.g:509:4: ';' - self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2239) + # C.g:562:4: ';' + self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254) if self.failed: return retval elif alt96 == 2: - # C.g:510:4: expression ';' - self.following.append(self.FOLLOW_expression_in_expression_statement2244) + # C.g:563:4: expression ';' + self.following.append(self.FOLLOW_expression_in_expression_statement2259) self.expression() self.following.pop() if self.failed: return retval - self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2246) + self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261) if self.failed: return retval @@ -16325,7 +16344,7 @@ class CParser(Parser): # $ANTLR start selection_statement - # C.g:513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement ); + # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement ); def selection_statement(self, ): selection_statement_StartIndex = self.input.index() @@ -16337,59 +16356,59 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69): return - # C.g:514:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement ) + # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement ) alt98 = 2 LA98_0 = self.input.LA(1) - if (LA98_0 == 107) : + if (LA98_0 == 108) : alt98 = 1 - elif (LA98_0 == 109) : + elif (LA98_0 == 110) : alt98 = 2 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("513:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input) + nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input) raise nvae if alt98 == 1: - # C.g:514:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? - self.match(self.input, 107, self.FOLLOW_107_in_selection_statement2257) + # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? + self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2259) + self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274) if self.failed: return - self.following.append(self.FOLLOW_expression_in_selection_statement2263) + self.following.append(self.FOLLOW_expression_in_selection_statement2278) e = self.expression() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2265) + self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280) if self.failed: return if self.backtracking == 0: self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop)) - self.following.append(self.FOLLOW_statement_in_selection_statement2269) + self.following.append(self.FOLLOW_statement_in_selection_statement2284) self.statement() self.following.pop() if self.failed: return - # C.g:514:167: ( options {k=1; backtrack=false; } : 'else' statement )? + # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )? alt97 = 2 LA97_0 = self.input.LA(1) - if (LA97_0 == 108) : + if (LA97_0 == 109) : alt97 = 1 if alt97 == 1: - # C.g:514:200: 'else' statement - self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2284) + # C.g:567:200: 'else' statement + self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299) if self.failed: return - self.following.append(self.FOLLOW_statement_in_selection_statement2286) + self.following.append(self.FOLLOW_statement_in_selection_statement2301) self.statement() self.following.pop() if self.failed: @@ -16400,22 +16419,22 @@ class CParser(Parser): elif alt98 == 2: - # C.g:515:4: 'switch' '(' expression ')' statement - self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2293) + # C.g:568:4: 'switch' '(' expression ')' statement + self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_selection_statement2295) + self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310) if self.failed: return - self.following.append(self.FOLLOW_expression_in_selection_statement2297) + self.following.append(self.FOLLOW_expression_in_selection_statement2312) self.expression() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2299) + self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314) if self.failed: return - self.following.append(self.FOLLOW_statement_in_selection_statement2301) + self.following.append(self.FOLLOW_statement_in_selection_statement2316) self.statement() self.following.pop() if self.failed: @@ -16438,7 +16457,7 @@ class CParser(Parser): # $ANTLR start iteration_statement - # C.g:518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement ); + # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement ); def iteration_statement(self, ): iteration_statement_StartIndex = self.input.index() @@ -16450,41 +16469,41 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70): return - # C.g:519:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement ) + # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement ) alt100 = 3 LA100 = self.input.LA(1) - if LA100 == 110: + if LA100 == 111: alt100 = 1 - elif LA100 == 111: - alt100 = 2 elif LA100 == 112: + alt100 = 2 + elif LA100 == 113: alt100 = 3 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("518:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input) + nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input) raise nvae if alt100 == 1: - # C.g:519:4: 'while' '(' e= expression ')' statement - self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2312) + # C.g:572:4: 'while' '(' e= expression ')' statement + self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2314) + self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329) if self.failed: return - self.following.append(self.FOLLOW_expression_in_iteration_statement2318) + self.following.append(self.FOLLOW_expression_in_iteration_statement2333) e = self.expression() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2320) + self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335) if self.failed: return - self.following.append(self.FOLLOW_statement_in_iteration_statement2322) + self.following.append(self.FOLLOW_statement_in_iteration_statement2337) self.statement() self.following.pop() if self.failed: @@ -16495,30 +16514,30 @@ class CParser(Parser): elif alt100 == 2: - # C.g:520:4: 'do' statement 'while' '(' e= expression ')' ';' - self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2329) + # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';' + self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344) if self.failed: return - self.following.append(self.FOLLOW_statement_in_iteration_statement2331) + self.following.append(self.FOLLOW_statement_in_iteration_statement2346) self.statement() self.following.pop() if self.failed: return - self.match(self.input, 110, self.FOLLOW_110_in_iteration_statement2333) + self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2335) + self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350) if self.failed: return - self.following.append(self.FOLLOW_expression_in_iteration_statement2339) + self.following.append(self.FOLLOW_expression_in_iteration_statement2354) e = self.expression() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2341) + self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2343) + self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358) if self.failed: return if self.backtracking == 0: @@ -16527,32 +16546,32 @@ class CParser(Parser): elif alt100 == 3: - # C.g:521:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement - self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2350) + # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement + self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365) if self.failed: return - self.match(self.input, 61, self.FOLLOW_61_in_iteration_statement2352) + self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367) if self.failed: return - self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2354) + self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369) self.expression_statement() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2358) + self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373) e = self.expression_statement() self.following.pop() if self.failed: return - # C.g:521:58: ( expression )? + # C.g:574:58: ( expression )? alt99 = 2 LA99_0 = self.input.LA(1) - if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 61 or LA99_0 == 65 or (67 <= LA99_0 <= 68) or (71 <= LA99_0 <= 73) or (76 <= LA99_0 <= 78)) : + if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) : alt99 = 1 if alt99 == 1: # C.g:0:0: expression - self.following.append(self.FOLLOW_expression_in_iteration_statement2360) + self.following.append(self.FOLLOW_expression_in_iteration_statement2375) self.expression() self.following.pop() if self.failed: @@ -16560,10 +16579,10 @@ class CParser(Parser): - self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2363) + self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378) if self.failed: return - self.following.append(self.FOLLOW_statement_in_iteration_statement2365) + self.following.append(self.FOLLOW_statement_in_iteration_statement2380) self.statement() self.following.pop() if self.failed: @@ -16589,7 +16608,7 @@ class CParser(Parser): # $ANTLR start jump_statement - # C.g:524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ); + # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ); def jump_statement(self, ): jump_statement_StartIndex = self.input.index() @@ -16598,28 +16617,28 @@ class CParser(Parser): if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71): return - # C.g:525:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ) + # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ) alt101 = 5 LA101 = self.input.LA(1) - if LA101 == 113: + if LA101 == 114: alt101 = 1 - elif LA101 == 114: - alt101 = 2 elif LA101 == 115: - alt101 = 3 + alt101 = 2 elif LA101 == 116: + alt101 = 3 + elif LA101 == 117: LA101_4 = self.input.LA(2) if (LA101_4 == 25) : alt101 = 4 - elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 61 or LA101_4 == 65 or (67 <= LA101_4 <= 68) or (71 <= LA101_4 <= 73) or (76 <= LA101_4 <= 78)) : + elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) : alt101 = 5 else: if self.backtracking > 0: self.failed = True return - nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input) + nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input) raise nvae @@ -16628,64 +16647,64 @@ class CParser(Parser): self.failed = True return - nvae = NoViableAltException("524:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input) + nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input) raise nvae if alt101 == 1: - # C.g:525:4: 'goto' IDENTIFIER ';' - self.match(self.input, 113, self.FOLLOW_113_in_jump_statement2378) + # C.g:578:4: 'goto' IDENTIFIER ';' + self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393) if self.failed: return - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2380) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2382) + self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397) if self.failed: return elif alt101 == 2: - # C.g:526:4: 'continue' ';' - self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2387) + # C.g:579:4: 'continue' ';' + self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2389) + self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404) if self.failed: return elif alt101 == 3: - # C.g:527:4: 'break' ';' - self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2394) + # C.g:580:4: 'break' ';' + self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2396) + self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411) if self.failed: return elif alt101 == 4: - # C.g:528:4: 'return' ';' - self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2401) + # C.g:581:4: 'return' ';' + self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416) if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2403) + self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418) if self.failed: return elif alt101 == 5: - # C.g:529:4: 'return' expression ';' - self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2408) + # C.g:582:4: 'return' expression ';' + self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423) if self.failed: return - self.following.append(self.FOLLOW_expression_in_jump_statement2410) + self.following.append(self.FOLLOW_expression_in_jump_statement2425) self.expression() self.following.pop() if self.failed: return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2412) + self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427) if self.failed: return @@ -16706,9 +16725,9 @@ class CParser(Parser): # $ANTLR start synpred2 def synpred2_fragment(self, ): - # C.g:67:6: ( declaration_specifiers ) - # C.g:67:6: declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred290) + # C.g:119:6: ( declaration_specifiers ) + # C.g:119:6: declaration_specifiers + self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100) self.declaration_specifiers() self.following.pop() if self.failed: @@ -16721,104 +16740,104 @@ class CParser(Parser): # $ANTLR start synpred4 def synpred4_fragment(self, ): - # C.g:67:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' ) - # C.g:67:6: ( declaration_specifiers )? declarator ( declaration )* '{' - # C.g:67:6: ( declaration_specifiers )? + # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' ) + # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{' + # C.g:119:6: ( declaration_specifiers )? alt102 = 2 LA102 = self.input.LA(1) - if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57: + if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61: alt102 = 1 elif LA102 == IDENTIFIER: LA102 = self.input.LA(2) - if LA102 == 65: - alt102 = 1 - elif LA102 == 58: + if LA102 == 62: LA102_21 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 59: - LA102_22 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 60: + elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33: LA102_23 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == IDENTIFIER: + elif LA102 == 34: LA102_24 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 61: + elif LA102 == 35: LA102_25 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33: + elif LA102 == 36: LA102_26 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 34: + elif LA102 == 37: LA102_27 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 35: + elif LA102 == 38: LA102_28 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 36: + elif LA102 == 39: LA102_29 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 37: + elif LA102 == 40: LA102_30 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 38: + elif LA102 == 41: LA102_31 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 39: + elif LA102 == 42: LA102_32 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 40: + elif LA102 == 45 or LA102 == 46: LA102_33 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 41: + elif LA102 == 48: LA102_34 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 42: + elif LA102 == IDENTIFIER: LA102_35 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 45 or LA102 == 46: + elif LA102 == 58: LA102_36 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 48: - LA102_37 = self.input.LA(3) + elif LA102 == 66: + alt102 = 1 + elif LA102 == 59: + LA102_39 = self.input.LA(3) + + if (self.synpred2()) : + alt102 = 1 + elif LA102 == 60: + LA102_40 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 - elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57: - LA102_38 = self.input.LA(3) + elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61: + LA102_41 = self.input.LA(3) if (self.synpred2()) : alt102 = 1 @@ -16839,7 +16858,7 @@ class CParser(Parser): alt102 = 1 if alt102 == 1: # C.g:0:0: declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred490) + self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100) self.declaration_specifiers() self.following.pop() if self.failed: @@ -16847,23 +16866,23 @@ class CParser(Parser): - self.following.append(self.FOLLOW_declarator_in_synpred493) + self.following.append(self.FOLLOW_declarator_in_synpred4103) self.declarator() self.following.pop() if self.failed: return - # C.g:67:41: ( declaration )* + # C.g:119:41: ( declaration )* while True: #loop103 alt103 = 2 LA103_0 = self.input.LA(1) - if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 60)) : + if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) : alt103 = 1 if alt103 == 1: # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_synpred495) + self.following.append(self.FOLLOW_declaration_in_synpred4105) self.declaration() self.following.pop() if self.failed: @@ -16874,7 +16893,7 @@ class CParser(Parser): break #loop103 - self.match(self.input, 43, self.FOLLOW_43_in_synpred498) + self.match(self.input, 43, self.FOLLOW_43_in_synpred4108) if self.failed: return @@ -16885,9 +16904,9 @@ class CParser(Parser): # $ANTLR start synpred5 def synpred5_fragment(self, ): - # C.g:68:4: ( declaration ) - # C.g:68:4: declaration - self.following.append(self.FOLLOW_declaration_in_synpred5108) + # C.g:120:4: ( declaration ) + # C.g:120:4: declaration + self.following.append(self.FOLLOW_declaration_in_synpred5118) self.declaration() self.following.pop() if self.failed: @@ -16900,9 +16919,9 @@ class CParser(Parser): # $ANTLR start synpred7 def synpred7_fragment(self, ): - # C.g:94:6: ( declaration_specifiers ) - # C.g:94:6: declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7147) + # C.g:146:6: ( declaration_specifiers ) + # C.g:146:6: declaration_specifiers + self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157) self.declaration_specifiers() self.following.pop() if self.failed: @@ -16915,9 +16934,9 @@ class CParser(Parser): # $ANTLR start synpred10 def synpred10_fragment(self, ): - # C.g:115:18: ( declaration_specifiers ) - # C.g:115:18: declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10197) + # C.g:167:18: ( declaration_specifiers ) + # C.g:167:18: declaration_specifiers + self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207) self.declaration_specifiers() self.following.pop() if self.failed: @@ -16930,9 +16949,9 @@ class CParser(Parser): # $ANTLR start synpred14 def synpred14_fragment(self, ): - # C.g:132:7: ( type_specifier ) - # C.g:132:7: type_specifier - self.following.append(self.FOLLOW_type_specifier_in_synpred14262) + # C.g:184:7: ( type_specifier ) + # C.g:184:7: type_specifier + self.following.append(self.FOLLOW_type_specifier_in_synpred14272) self.type_specifier() self.following.pop() if self.failed: @@ -16945,9 +16964,9 @@ class CParser(Parser): # $ANTLR start synpred15 def synpred15_fragment(self, ): - # C.g:133:13: ( type_qualifier ) - # C.g:133:13: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred15276) + # C.g:185:13: ( type_qualifier ) + # C.g:185:13: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_synpred15286) self.type_qualifier() self.following.pop() if self.failed: @@ -16960,9 +16979,9 @@ class CParser(Parser): # $ANTLR start synpred33 def synpred33_fragment(self, ): - # C.g:173:16: ( type_qualifier ) - # C.g:173:16: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred33434) + # C.g:225:16: ( type_qualifier ) + # C.g:225:16: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_synpred33444) self.type_qualifier() self.following.pop() if self.failed: @@ -16975,12 +16994,12 @@ class CParser(Parser): # $ANTLR start synpred34 def synpred34_fragment(self, ): - # C.g:173:4: ( IDENTIFIER ( type_qualifier )* declarator ) - # C.g:173:5: IDENTIFIER ( type_qualifier )* declarator - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34432) + # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator ) + # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442) if self.failed: return - # C.g:173:16: ( type_qualifier )* + # C.g:225:16: ( type_qualifier )* while True: #loop106 alt106 = 2 LA106 = self.input.LA(1) @@ -17005,12 +17024,12 @@ class CParser(Parser): alt106 = 1 - elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57: + elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61: alt106 = 1 if alt106 == 1: # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred34434) + self.following.append(self.FOLLOW_type_qualifier_in_synpred34444) self.type_qualifier() self.following.pop() if self.failed: @@ -17021,7 +17040,7 @@ class CParser(Parser): break #loop106 - self.following.append(self.FOLLOW_declarator_in_synpred34437) + self.following.append(self.FOLLOW_declarator_in_synpred34447) self.declarator() self.following.pop() if self.failed: @@ -17034,9 +17053,9 @@ class CParser(Parser): # $ANTLR start synpred39 def synpred39_fragment(self, ): - # C.g:201:6: ( type_qualifier ) - # C.g:201:6: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred39556) + # C.g:253:6: ( type_qualifier ) + # C.g:253:6: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_synpred39566) self.type_qualifier() self.following.pop() if self.failed: @@ -17049,9 +17068,9 @@ class CParser(Parser): # $ANTLR start synpred40 def synpred40_fragment(self, ): - # C.g:201:23: ( type_specifier ) - # C.g:201:23: type_specifier - self.following.append(self.FOLLOW_type_specifier_in_synpred40560) + # C.g:253:23: ( type_specifier ) + # C.g:253:23: type_specifier + self.following.append(self.FOLLOW_type_specifier_in_synpred40570) self.type_specifier() self.following.pop() if self.failed: @@ -17062,19 +17081,19 @@ class CParser(Parser): - # $ANTLR start synpred65 - def synpred65_fragment(self, ): - # C.g:244:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator ) - # C.g:244:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator - # C.g:244:4: ( pointer )? + # $ANTLR start synpred66 + def synpred66_fragment(self, ): + # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator ) + # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator + # C.g:297:4: ( pointer )? alt111 = 2 LA111_0 = self.input.LA(1) - if (LA111_0 == 65) : + if (LA111_0 == 66) : alt111 = 1 if alt111 == 1: # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_synpred65769) + self.following.append(self.FOLLOW_pointer_in_synpred66784) self.pointer() self.following.pop() if self.failed: @@ -17082,194 +17101,194 @@ class CParser(Parser): - # C.g:244:13: ( 'EFIAPI' )? + # C.g:297:13: ( 'EFIAPI' )? alt112 = 2 LA112_0 = self.input.LA(1) if (LA112_0 == 58) : alt112 = 1 if alt112 == 1: - # C.g:244:14: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_synpred65773) + # C.g:297:14: 'EFIAPI' + self.match(self.input, 58, self.FOLLOW_58_in_synpred66788) if self.failed: return - # C.g:244:25: ( 'EFI_BOOTSERVICE' )? + # C.g:297:25: ( 'EFI_BOOTSERVICE' )? alt113 = 2 LA113_0 = self.input.LA(1) if (LA113_0 == 59) : alt113 = 1 if alt113 == 1: - # C.g:244:26: 'EFI_BOOTSERVICE' - self.match(self.input, 59, self.FOLLOW_59_in_synpred65778) + # C.g:297:26: 'EFI_BOOTSERVICE' + self.match(self.input, 59, self.FOLLOW_59_in_synpred66793) if self.failed: return - # C.g:244:46: ( 'EFI_RUNTIMESERVICE' )? + # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )? alt114 = 2 LA114_0 = self.input.LA(1) if (LA114_0 == 60) : alt114 = 1 if alt114 == 1: - # C.g:244:47: 'EFI_RUNTIMESERVICE' - self.match(self.input, 60, self.FOLLOW_60_in_synpred65783) + # C.g:297:47: 'EFI_RUNTIMESERVICE' + self.match(self.input, 60, self.FOLLOW_60_in_synpred66798) if self.failed: return - self.following.append(self.FOLLOW_direct_declarator_in_synpred65787) + self.following.append(self.FOLLOW_direct_declarator_in_synpred66802) self.direct_declarator() self.following.pop() if self.failed: return - # $ANTLR end synpred65 + # $ANTLR end synpred66 - # $ANTLR start synpred66 - def synpred66_fragment(self, ): - # C.g:250:15: ( declarator_suffix ) - # C.g:250:15: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_synpred66806) + # $ANTLR start synpred67 + def synpred67_fragment(self, ): + # C.g:303:15: ( declarator_suffix ) + # C.g:303:15: declarator_suffix + self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821) self.declarator_suffix() self.following.pop() if self.failed: return - # $ANTLR end synpred66 + # $ANTLR end synpred67 - # $ANTLR start synpred68 - def synpred68_fragment(self, ): - # C.g:251:9: ( 'EFIAPI' ) - # C.g:251:9: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_synpred68815) + # $ANTLR start synpred69 + def synpred69_fragment(self, ): + # C.g:304:9: ( 'EFIAPI' ) + # C.g:304:9: 'EFIAPI' + self.match(self.input, 58, self.FOLLOW_58_in_synpred69830) if self.failed: return - # $ANTLR end synpred68 + # $ANTLR end synpred69 - # $ANTLR start synpred69 - def synpred69_fragment(self, ): - # C.g:251:35: ( declarator_suffix ) - # C.g:251:35: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_synpred69823) + # $ANTLR start synpred70 + def synpred70_fragment(self, ): + # C.g:304:35: ( declarator_suffix ) + # C.g:304:35: declarator_suffix + self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838) self.declarator_suffix() self.following.pop() if self.failed: return - # $ANTLR end synpred69 + # $ANTLR end synpred70 - # $ANTLR start synpred72 - def synpred72_fragment(self, ): - # C.g:257:9: ( '(' parameter_type_list ')' ) - # C.g:257:9: '(' parameter_type_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_synpred72863) + # $ANTLR start synpred73 + def synpred73_fragment(self, ): + # C.g:310:9: ( '(' parameter_type_list ')' ) + # C.g:310:9: '(' parameter_type_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_synpred73878) if self.failed: return - self.following.append(self.FOLLOW_parameter_type_list_in_synpred72865) + self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880) self.parameter_type_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred72867) + self.match(self.input, 63, self.FOLLOW_63_in_synpred73882) if self.failed: return - # $ANTLR end synpred72 + # $ANTLR end synpred73 - # $ANTLR start synpred73 - def synpred73_fragment(self, ): - # C.g:258:9: ( '(' identifier_list ')' ) - # C.g:258:9: '(' identifier_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_synpred73877) + # $ANTLR start synpred74 + def synpred74_fragment(self, ): + # C.g:311:9: ( '(' identifier_list ')' ) + # C.g:311:9: '(' identifier_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_synpred74892) if self.failed: return - self.following.append(self.FOLLOW_identifier_list_in_synpred73879) + self.following.append(self.FOLLOW_identifier_list_in_synpred74894) self.identifier_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred73881) + self.match(self.input, 63, self.FOLLOW_63_in_synpred74896) if self.failed: return - # $ANTLR end synpred73 + # $ANTLR end synpred74 - # $ANTLR start synpred74 - def synpred74_fragment(self, ): - # C.g:263:8: ( type_qualifier ) - # C.g:263:8: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred74906) + # $ANTLR start synpred75 + def synpred75_fragment(self, ): + # C.g:316:8: ( type_qualifier ) + # C.g:316:8: type_qualifier + self.following.append(self.FOLLOW_type_qualifier_in_synpred75921) self.type_qualifier() self.following.pop() if self.failed: return - # $ANTLR end synpred74 + # $ANTLR end synpred75 - # $ANTLR start synpred75 - def synpred75_fragment(self, ): - # C.g:263:24: ( pointer ) - # C.g:263:24: pointer - self.following.append(self.FOLLOW_pointer_in_synpred75909) + # $ANTLR start synpred76 + def synpred76_fragment(self, ): + # C.g:316:24: ( pointer ) + # C.g:316:24: pointer + self.following.append(self.FOLLOW_pointer_in_synpred76924) self.pointer() self.following.pop() if self.failed: return - # $ANTLR end synpred75 + # $ANTLR end synpred76 - # $ANTLR start synpred76 - def synpred76_fragment(self, ): - # C.g:263:4: ( '*' ( type_qualifier )+ ( pointer )? ) - # C.g:263:4: '*' ( type_qualifier )+ ( pointer )? - self.match(self.input, 65, self.FOLLOW_65_in_synpred76904) + # $ANTLR start synpred77 + def synpred77_fragment(self, ): + # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? ) + # C.g:316:4: '*' ( type_qualifier )+ ( pointer )? + self.match(self.input, 66, self.FOLLOW_66_in_synpred77919) if self.failed: return - # C.g:263:8: ( type_qualifier )+ + # C.g:316:8: ( type_qualifier )+ cnt116 = 0 while True: #loop116 alt116 = 2 LA116_0 = self.input.LA(1) - if ((49 <= LA116_0 <= 60)) : + if ((49 <= LA116_0 <= 61)) : alt116 = 1 if alt116 == 1: # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred76906) + self.following.append(self.FOLLOW_type_qualifier_in_synpred77921) self.type_qualifier() self.following.pop() if self.failed: @@ -17290,15 +17309,15 @@ class CParser(Parser): cnt116 += 1 - # C.g:263:24: ( pointer )? + # C.g:316:24: ( pointer )? alt117 = 2 LA117_0 = self.input.LA(1) - if (LA117_0 == 65) : + if (LA117_0 == 66) : alt117 = 1 if alt117 == 1: # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_synpred76909) + self.following.append(self.FOLLOW_pointer_in_synpred77924) self.pointer() self.following.pop() if self.failed: @@ -17308,195 +17327,195 @@ class CParser(Parser): - # $ANTLR end synpred76 + # $ANTLR end synpred77 - # $ANTLR start synpred77 - def synpred77_fragment(self, ): - # C.g:264:4: ( '*' pointer ) - # C.g:264:4: '*' pointer - self.match(self.input, 65, self.FOLLOW_65_in_synpred77915) + # $ANTLR start synpred78 + def synpred78_fragment(self, ): + # C.g:317:4: ( '*' pointer ) + # C.g:317:4: '*' pointer + self.match(self.input, 66, self.FOLLOW_66_in_synpred78930) if self.failed: return - self.following.append(self.FOLLOW_pointer_in_synpred77917) + self.following.append(self.FOLLOW_pointer_in_synpred78932) self.pointer() self.following.pop() if self.failed: return - # $ANTLR end synpred77 + # $ANTLR end synpred78 - # $ANTLR start synpred80 - def synpred80_fragment(self, ): - # C.g:273:32: ( 'OPTIONAL' ) - # C.g:273:32: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_synpred80962) + # $ANTLR start synpred81 + def synpred81_fragment(self, ): + # C.g:326:32: ( 'OPTIONAL' ) + # C.g:326:32: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_synpred81977) if self.failed: return - # $ANTLR end synpred80 + # $ANTLR end synpred81 - # $ANTLR start synpred81 - def synpred81_fragment(self, ): - # C.g:273:27: ( ',' ( 'OPTIONAL' )? parameter_declaration ) - # C.g:273:27: ',' ( 'OPTIONAL' )? parameter_declaration - self.match(self.input, 27, self.FOLLOW_27_in_synpred81959) + # $ANTLR start synpred82 + def synpred82_fragment(self, ): + # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration ) + # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration + self.match(self.input, 27, self.FOLLOW_27_in_synpred82974) if self.failed: return - # C.g:273:31: ( 'OPTIONAL' )? + # C.g:326:31: ( 'OPTIONAL' )? alt119 = 2 LA119_0 = self.input.LA(1) if (LA119_0 == 53) : LA119_1 = self.input.LA(2) - if (self.synpred80()) : + if (self.synpred81()) : alt119 = 1 if alt119 == 1: - # C.g:273:32: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_synpred81962) + # C.g:326:32: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_synpred82977) if self.failed: return - self.following.append(self.FOLLOW_parameter_declaration_in_synpred81966) + self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981) self.parameter_declaration() self.following.pop() if self.failed: return - # $ANTLR end synpred81 + # $ANTLR end synpred82 - # $ANTLR start synpred82 - def synpred82_fragment(self, ): - # C.g:277:28: ( declarator ) - # C.g:277:28: declarator - self.following.append(self.FOLLOW_declarator_in_synpred82982) + # $ANTLR start synpred83 + def synpred83_fragment(self, ): + # C.g:330:28: ( declarator ) + # C.g:330:28: declarator + self.following.append(self.FOLLOW_declarator_in_synpred83997) self.declarator() self.following.pop() if self.failed: return - # $ANTLR end synpred82 + # $ANTLR end synpred83 - # $ANTLR start synpred83 - def synpred83_fragment(self, ): - # C.g:277:39: ( abstract_declarator ) - # C.g:277:39: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_synpred83984) + # $ANTLR start synpred84 + def synpred84_fragment(self, ): + # C.g:330:39: ( abstract_declarator ) + # C.g:330:39: abstract_declarator + self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999) self.abstract_declarator() self.following.pop() if self.failed: return - # $ANTLR end synpred83 + # $ANTLR end synpred84 - # $ANTLR start synpred85 - def synpred85_fragment(self, ): - # C.g:277:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? ) - # C.g:277:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred85979) + # $ANTLR start synpred86 + def synpred86_fragment(self, ): + # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? ) + # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? + self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994) self.declaration_specifiers() self.following.pop() if self.failed: return - # C.g:277:27: ( declarator | abstract_declarator )* + # C.g:330:27: ( declarator | abstract_declarator )* while True: #loop120 alt120 = 3 LA120 = self.input.LA(1) - if LA120 == 65: + if LA120 == 66: LA120_3 = self.input.LA(2) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60: alt120 = 1 - elif LA120 == 61: + elif LA120 == 62: LA120 = self.input.LA(2) - if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 62 or LA120 == 63: + if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64: alt120 = 2 elif LA120 == 58: LA120_21 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 - elif LA120 == 65: + elif LA120 == 66: LA120_22 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 elif LA120 == 59: LA120_23 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 elif LA120 == 60: LA120_24 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 elif LA120 == IDENTIFIER: LA120_25 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 - elif LA120 == 61: + elif LA120 == 62: LA120_26 = self.input.LA(3) - if (self.synpred82()) : + if (self.synpred83()) : alt120 = 1 - elif (self.synpred83()) : + elif (self.synpred84()) : alt120 = 2 - elif LA120 == 63: + elif LA120 == 64: alt120 = 2 if alt120 == 1: - # C.g:277:28: declarator - self.following.append(self.FOLLOW_declarator_in_synpred85982) + # C.g:330:28: declarator + self.following.append(self.FOLLOW_declarator_in_synpred86997) self.declarator() self.following.pop() if self.failed: @@ -17504,8 +17523,8 @@ class CParser(Parser): elif alt120 == 2: - # C.g:277:39: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_synpred85984) + # C.g:330:39: abstract_declarator + self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999) self.abstract_declarator() self.following.pop() if self.failed: @@ -17516,15 +17535,15 @@ class CParser(Parser): break #loop120 - # C.g:277:61: ( 'OPTIONAL' )? + # C.g:330:61: ( 'OPTIONAL' )? alt121 = 2 LA121_0 = self.input.LA(1) if (LA121_0 == 53) : alt121 = 1 if alt121 == 1: - # C.g:277:62: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_synpred85989) + # C.g:330:62: 'OPTIONAL' + self.match(self.input, 53, self.FOLLOW_53_in_synpred861004) if self.failed: return @@ -17532,28 +17551,28 @@ class CParser(Parser): - # $ANTLR end synpred85 + # $ANTLR end synpred86 - # $ANTLR start synpred89 - def synpred89_fragment(self, ): - # C.g:288:4: ( specifier_qualifier_list ( abstract_declarator )? ) - # C.g:288:4: specifier_qualifier_list ( abstract_declarator )? - self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred891031) + # $ANTLR start synpred90 + def synpred90_fragment(self, ): + # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? ) + # C.g:341:4: specifier_qualifier_list ( abstract_declarator )? + self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046) self.specifier_qualifier_list() self.following.pop() if self.failed: return - # C.g:288:29: ( abstract_declarator )? + # C.g:341:29: ( abstract_declarator )? alt122 = 2 LA122_0 = self.input.LA(1) - if (LA122_0 == 61 or LA122_0 == 63 or LA122_0 == 65) : + if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) : alt122 = 1 if alt122 == 1: # C.g:0:0: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_synpred891033) + self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048) self.abstract_declarator() self.following.pop() if self.failed: @@ -17563,181 +17582,181 @@ class CParser(Parser): - # $ANTLR end synpred89 + # $ANTLR end synpred90 - # $ANTLR start synpred90 - def synpred90_fragment(self, ): - # C.g:293:12: ( direct_abstract_declarator ) - # C.g:293:12: direct_abstract_declarator - self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred901052) + # $ANTLR start synpred91 + def synpred91_fragment(self, ): + # C.g:346:12: ( direct_abstract_declarator ) + # C.g:346:12: direct_abstract_declarator + self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067) self.direct_abstract_declarator() self.following.pop() if self.failed: return - # $ANTLR end synpred90 + # $ANTLR end synpred91 - # $ANTLR start synpred92 - def synpred92_fragment(self, ): - # C.g:298:6: ( '(' abstract_declarator ')' ) - # C.g:298:6: '(' abstract_declarator ')' - self.match(self.input, 61, self.FOLLOW_61_in_synpred921071) + # $ANTLR start synpred93 + def synpred93_fragment(self, ): + # C.g:351:6: ( '(' abstract_declarator ')' ) + # C.g:351:6: '(' abstract_declarator ')' + self.match(self.input, 62, self.FOLLOW_62_in_synpred931086) if self.failed: return - self.following.append(self.FOLLOW_abstract_declarator_in_synpred921073) + self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088) self.abstract_declarator() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred921075) + self.match(self.input, 63, self.FOLLOW_63_in_synpred931090) if self.failed: return - # $ANTLR end synpred92 + # $ANTLR end synpred93 - # $ANTLR start synpred93 - def synpred93_fragment(self, ): - # C.g:298:65: ( abstract_declarator_suffix ) - # C.g:298:65: abstract_declarator_suffix - self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred931083) + # $ANTLR start synpred94 + def synpred94_fragment(self, ): + # C.g:351:65: ( abstract_declarator_suffix ) + # C.g:351:65: abstract_declarator_suffix + self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098) self.abstract_declarator_suffix() self.following.pop() if self.failed: return - # $ANTLR end synpred93 + # $ANTLR end synpred94 - # $ANTLR start synpred108 - def synpred108_fragment(self, ): - # C.g:333:4: ( '(' type_name ')' cast_expression ) - # C.g:333:4: '(' type_name ')' cast_expression - self.match(self.input, 61, self.FOLLOW_61_in_synpred1081267) + # $ANTLR start synpred109 + def synpred109_fragment(self, ): + # C.g:386:4: ( '(' type_name ')' cast_expression ) + # C.g:386:4: '(' type_name ')' cast_expression + self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282) if self.failed: return - self.following.append(self.FOLLOW_type_name_in_synpred1081269) + self.following.append(self.FOLLOW_type_name_in_synpred1091284) self.type_name() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred1081271) + self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286) if self.failed: return - self.following.append(self.FOLLOW_cast_expression_in_synpred1081273) + self.following.append(self.FOLLOW_cast_expression_in_synpred1091288) self.cast_expression() self.following.pop() if self.failed: return - # $ANTLR end synpred108 + # $ANTLR end synpred109 - # $ANTLR start synpred113 - def synpred113_fragment(self, ): - # C.g:342:4: ( 'sizeof' unary_expression ) - # C.g:342:4: 'sizeof' unary_expression - self.match(self.input, 73, self.FOLLOW_73_in_synpred1131315) + # $ANTLR start synpred114 + def synpred114_fragment(self, ): + # C.g:395:4: ( 'sizeof' unary_expression ) + # C.g:395:4: 'sizeof' unary_expression + self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330) if self.failed: return - self.following.append(self.FOLLOW_unary_expression_in_synpred1131317) + self.following.append(self.FOLLOW_unary_expression_in_synpred1141332) self.unary_expression() self.following.pop() if self.failed: return - # $ANTLR end synpred113 + # $ANTLR end synpred114 - # $ANTLR start synpred116 - def synpred116_fragment(self, ): - # C.g:356:13: ( '(' argument_expression_list ')' ) - # C.g:356:13: '(' argument_expression_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_synpred1161405) + # $ANTLR start synpred117 + def synpred117_fragment(self, ): + # C.g:409:13: ( '(' argument_expression_list ')' ) + # C.g:409:13: '(' argument_expression_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420) if self.failed: return - self.following.append(self.FOLLOW_argument_expression_list_in_synpred1161409) + self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424) self.argument_expression_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred1161413) + self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428) if self.failed: return - # $ANTLR end synpred116 + # $ANTLR end synpred117 - # $ANTLR start synpred117 - def synpred117_fragment(self, ): - # C.g:357:13: ( '(' macro_parameter_list ')' ) - # C.g:357:13: '(' macro_parameter_list ')' - self.match(self.input, 61, self.FOLLOW_61_in_synpred1171429) + # $ANTLR start synpred118 + def synpred118_fragment(self, ): + # C.g:410:13: ( '(' macro_parameter_list ')' ) + # C.g:410:13: '(' macro_parameter_list ')' + self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444) if self.failed: return - self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1171431) + self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446) self.macro_parameter_list() self.following.pop() if self.failed: return - self.match(self.input, 62, self.FOLLOW_62_in_synpred1171433) + self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448) if self.failed: return - # $ANTLR end synpred117 + # $ANTLR end synpred118 - # $ANTLR start synpred119 - def synpred119_fragment(self, ): - # C.g:359:13: ( '*' IDENTIFIER ) - # C.g:359:13: '*' IDENTIFIER - self.match(self.input, 65, self.FOLLOW_65_in_synpred1191467) + # $ANTLR start synpred120 + def synpred120_fragment(self, ): + # C.g:412:13: ( '*' IDENTIFIER ) + # C.g:412:13: '*' IDENTIFIER + self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482) if self.failed: return - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1191471) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486) if self.failed: return - # $ANTLR end synpred119 + # $ANTLR end synpred120 - # $ANTLR start synpred136 - def synpred136_fragment(self, ): - # C.g:390:20: ( STRING_LITERAL ) - # C.g:390:20: STRING_LITERAL - self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1361668) + # $ANTLR start synpred137 + def synpred137_fragment(self, ): + # C.g:443:20: ( STRING_LITERAL ) + # C.g:443:20: STRING_LITERAL + self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683) if self.failed: return - # $ANTLR end synpred136 + # $ANTLR end synpred137 - # $ANTLR start synpred137 - def synpred137_fragment(self, ): - # C.g:390:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ ) - # C.g:390:8: ( IDENTIFIER )* ( STRING_LITERAL )+ - # C.g:390:8: ( IDENTIFIER )* + # $ANTLR start synpred138 + def synpred138_fragment(self, ): + # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ ) + # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+ + # C.g:443:8: ( IDENTIFIER )* while True: #loop125 alt125 = 2 LA125_0 = self.input.LA(1) @@ -17748,7 +17767,7 @@ class CParser(Parser): if alt125 == 1: # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1371665) + self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680) if self.failed: return @@ -17757,7 +17776,7 @@ class CParser(Parser): break #loop125 - # C.g:390:20: ( STRING_LITERAL )+ + # C.g:443:20: ( STRING_LITERAL )+ cnt126 = 0 while True: #loop126 alt126 = 2 @@ -17769,7 +17788,7 @@ class CParser(Parser): if alt126 == 1: # C.g:0:0: STRING_LITERAL - self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371668) + self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683) if self.failed: return @@ -17790,584 +17809,584 @@ class CParser(Parser): - # $ANTLR end synpred137 + # $ANTLR end synpred138 - # $ANTLR start synpred141 - def synpred141_fragment(self, ): - # C.g:405:4: ( lvalue assignment_operator assignment_expression ) - # C.g:405:4: lvalue assignment_operator assignment_expression - self.following.append(self.FOLLOW_lvalue_in_synpred1411729) + # $ANTLR start synpred142 + def synpred142_fragment(self, ): + # C.g:458:4: ( lvalue assignment_operator assignment_expression ) + # C.g:458:4: lvalue assignment_operator assignment_expression + self.following.append(self.FOLLOW_lvalue_in_synpred1421744) self.lvalue() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_assignment_operator_in_synpred1411731) + self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746) self.assignment_operator() self.following.pop() if self.failed: return - self.following.append(self.FOLLOW_assignment_expression_in_synpred1411733) + self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748) self.assignment_expression() self.following.pop() if self.failed: return - # $ANTLR end synpred141 + # $ANTLR end synpred142 - # $ANTLR start synpred168 - def synpred168_fragment(self, ): - # C.g:467:4: ( expression_statement ) - # C.g:467:4: expression_statement - self.following.append(self.FOLLOW_expression_statement_in_synpred1682020) + # $ANTLR start synpred169 + def synpred169_fragment(self, ): + # C.g:520:4: ( expression_statement ) + # C.g:520:4: expression_statement + self.following.append(self.FOLLOW_expression_statement_in_synpred1692035) self.expression_statement() self.following.pop() if self.failed: return - # $ANTLR end synpred168 + # $ANTLR end synpred169 - # $ANTLR start synpred172 - def synpred172_fragment(self, ): - # C.g:471:4: ( macro_statement ) - # C.g:471:4: macro_statement - self.following.append(self.FOLLOW_macro_statement_in_synpred1722040) + # $ANTLR start synpred173 + def synpred173_fragment(self, ): + # C.g:524:4: ( macro_statement ) + # C.g:524:4: macro_statement + self.following.append(self.FOLLOW_macro_statement_in_synpred1732055) self.macro_statement() self.following.pop() if self.failed: return - # $ANTLR end synpred172 + # $ANTLR end synpred173 - # $ANTLR start synpred173 - def synpred173_fragment(self, ): - # C.g:472:4: ( asm2_statement ) - # C.g:472:4: asm2_statement - self.following.append(self.FOLLOW_asm2_statement_in_synpred1732045) + # $ANTLR start synpred174 + def synpred174_fragment(self, ): + # C.g:525:4: ( asm2_statement ) + # C.g:525:4: asm2_statement + self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060) self.asm2_statement() self.following.pop() if self.failed: return - # $ANTLR end synpred173 + # $ANTLR end synpred174 - # $ANTLR start synpred180 - def synpred180_fragment(self, ): - # C.g:491:19: ( declaration ) - # C.g:491:19: declaration - self.following.append(self.FOLLOW_declaration_in_synpred1802151) + # $ANTLR start synpred181 + def synpred181_fragment(self, ): + # C.g:544:19: ( declaration ) + # C.g:544:19: declaration + self.following.append(self.FOLLOW_declaration_in_synpred1812166) self.declaration() self.following.pop() if self.failed: return - # $ANTLR end synpred180 + # $ANTLR end synpred181 - # $ANTLR start synpred181 - def synpred181_fragment(self, ): - # C.g:491:33: ( statement_list ) - # C.g:491:33: statement_list - self.following.append(self.FOLLOW_statement_list_in_synpred1812155) + # $ANTLR start synpred182 + def synpred182_fragment(self, ): + # C.g:544:33: ( statement_list ) + # C.g:544:33: statement_list + self.following.append(self.FOLLOW_statement_list_in_synpred1822170) self.statement_list() self.following.pop() if self.failed: return - # $ANTLR end synpred181 + # $ANTLR end synpred182 - # $ANTLR start synpred185 - def synpred185_fragment(self, ): - # C.g:501:8: ( declaration ) - # C.g:501:8: declaration - self.following.append(self.FOLLOW_declaration_in_synpred1852210) + # $ANTLR start synpred186 + def synpred186_fragment(self, ): + # C.g:554:8: ( declaration ) + # C.g:554:8: declaration + self.following.append(self.FOLLOW_declaration_in_synpred1862225) self.declaration() self.following.pop() if self.failed: return - # $ANTLR end synpred185 + # $ANTLR end synpred186 - # $ANTLR start synpred187 - def synpred187_fragment(self, ): - # C.g:505:4: ( statement ) - # C.g:505:4: statement - self.following.append(self.FOLLOW_statement_in_synpred1872227) + # $ANTLR start synpred188 + def synpred188_fragment(self, ): + # C.g:558:4: ( statement ) + # C.g:558:4: statement + self.following.append(self.FOLLOW_statement_in_synpred1882242) self.statement() self.following.pop() if self.failed: return - # $ANTLR end synpred187 + # $ANTLR end synpred188 - def synpred185(self): + def synpred69(self): self.backtracking += 1 start = self.input.mark() - self.synpred185_fragment() + self.synpred69_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred7(self): + def synpred81(self): self.backtracking += 1 start = self.input.mark() - self.synpred7_fragment() + self.synpred81_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred14(self): + def synpred82(self): self.backtracking += 1 start = self.input.mark() - self.synpred14_fragment() + self.synpred82_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred65(self): + def synpred66(self): self.backtracking += 1 start = self.input.mark() - self.synpred65_fragment() + self.synpred66_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred15(self): + def synpred83(self): self.backtracking += 1 start = self.input.mark() - self.synpred15_fragment() + self.synpred83_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred117(self): + def synpred84(self): self.backtracking += 1 start = self.input.mark() - self.synpred117_fragment() + self.synpred84_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred173(self): + def synpred67(self): self.backtracking += 1 start = self.input.mark() - self.synpred173_fragment() + self.synpred67_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred68(self): + def synpred86(self): self.backtracking += 1 start = self.input.mark() - self.synpred68_fragment() + self.synpred86_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred40(self): + def synpred120(self): self.backtracking += 1 start = self.input.mark() - self.synpred40_fragment() + self.synpred120_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred141(self): + def synpred40(self): self.backtracking += 1 start = self.input.mark() - self.synpred141_fragment() + self.synpred40_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred75(self): + def synpred142(self): self.backtracking += 1 start = self.input.mark() - self.synpred75_fragment() + self.synpred142_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred92(self): + def synpred182(self): self.backtracking += 1 start = self.input.mark() - self.synpred92_fragment() + self.synpred182_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred4(self): + def synpred109(self): self.backtracking += 1 start = self.input.mark() - self.synpred4_fragment() + self.synpred109_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred85(self): + def synpred181(self): self.backtracking += 1 start = self.input.mark() - self.synpred85_fragment() + self.synpred181_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred39(self): + def synpred186(self): self.backtracking += 1 start = self.input.mark() - self.synpred39_fragment() + self.synpred186_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred76(self): + def synpred188(self): self.backtracking += 1 start = self.input.mark() - self.synpred76_fragment() + self.synpred188_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred119(self): + def synpred169(self): self.backtracking += 1 start = self.input.mark() - self.synpred119_fragment() + self.synpred169_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred90(self): + def synpred117(self): self.backtracking += 1 start = self.input.mark() - self.synpred90_fragment() + self.synpred117_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred187(self): + def synpred70(self): self.backtracking += 1 start = self.input.mark() - self.synpred187_fragment() + self.synpred70_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred33(self): + def synpred118(self): self.backtracking += 1 start = self.input.mark() - self.synpred33_fragment() + self.synpred118_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred2(self): + def synpred34(self): self.backtracking += 1 start = self.input.mark() - self.synpred2_fragment() + self.synpred34_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred83(self): + def synpred33(self): self.backtracking += 1 start = self.input.mark() - self.synpred83_fragment() + self.synpred33_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred69(self): + def synpred94(self): self.backtracking += 1 start = self.input.mark() - self.synpred69_fragment() + self.synpred94_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred72(self): + def synpred39(self): self.backtracking += 1 start = self.input.mark() - self.synpred72_fragment() + self.synpred39_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred168(self): + def synpred74(self): self.backtracking += 1 start = self.input.mark() - self.synpred168_fragment() + self.synpred74_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred34(self): + def synpred114(self): self.backtracking += 1 start = self.input.mark() - self.synpred34_fragment() + self.synpred114_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred181(self): + def synpred93(self): self.backtracking += 1 start = self.input.mark() - self.synpred181_fragment() + self.synpred93_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred116(self): + def synpred75(self): self.backtracking += 1 start = self.input.mark() - self.synpred116_fragment() + self.synpred75_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred113(self): + def synpred137(self): self.backtracking += 1 start = self.input.mark() - self.synpred113_fragment() + self.synpred137_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred80(self): + def synpred90(self): self.backtracking += 1 start = self.input.mark() - self.synpred80_fragment() + self.synpred90_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred73(self): + def synpred138(self): self.backtracking += 1 start = self.input.mark() - self.synpred73_fragment() + self.synpred138_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred89(self): + def synpred91(self): self.backtracking += 1 start = self.input.mark() - self.synpred89_fragment() + self.synpred91_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred10(self): + def synpred73(self): self.backtracking += 1 start = self.input.mark() - self.synpred10_fragment() + self.synpred73_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred81(self): + def synpred5(self): self.backtracking += 1 start = self.input.mark() - self.synpred81_fragment() + self.synpred5_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred180(self): + def synpred78(self): self.backtracking += 1 start = self.input.mark() - self.synpred180_fragment() + self.synpred78_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred136(self): + def synpred7(self): self.backtracking += 1 start = self.input.mark() - self.synpred136_fragment() + self.synpred7_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred77(self): + def synpred76(self): self.backtracking += 1 start = self.input.mark() - self.synpred77_fragment() + self.synpred76_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred172(self): + def synpred77(self): self.backtracking += 1 start = self.input.mark() - self.synpred172_fragment() + self.synpred77_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred137(self): + def synpred2(self): self.backtracking += 1 start = self.input.mark() - self.synpred137_fragment() + self.synpred2_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred74(self): + def synpred4(self): self.backtracking += 1 start = self.input.mark() - self.synpred74_fragment() + self.synpred4_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred5(self): + def synpred174(self): self.backtracking += 1 start = self.input.mark() - self.synpred5_fragment() + self.synpred174_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred108(self): + def synpred173(self): self.backtracking += 1 start = self.input.mark() - self.synpred108_fragment() + self.synpred173_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred82(self): + def synpred14(self): self.backtracking += 1 start = self.input.mark() - self.synpred82_fragment() + self.synpred14_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred93(self): + def synpred15(self): self.backtracking += 1 start = self.input.mark() - self.synpred93_fragment() + self.synpred15_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 self.failed = False return success - def synpred66(self): + def synpred10(self): self.backtracking += 1 start = self.input.mark() - self.synpred66_fragment() + self.synpred10_fragment() success = not self.failed self.input.rewind(start) self.backtracking -= 1 @@ -18378,448 +18397,448 @@ class CParser(Parser): - FOLLOW_external_declaration_in_translation_unit64 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65]) - FOLLOW_function_definition_in_external_declaration103 = frozenset([1]) - FOLLOW_declaration_in_external_declaration108 = frozenset([1]) - FOLLOW_macro_statement_in_external_declaration113 = frozenset([1, 25]) - FOLLOW_25_in_external_declaration116 = frozenset([1]) - FOLLOW_declaration_specifiers_in_function_definition147 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_declarator_in_function_definition150 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_declaration_in_function_definition156 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_compound_statement_in_function_definition161 = frozenset([1]) - FOLLOW_compound_statement_in_function_definition170 = frozenset([1]) - FOLLOW_26_in_declaration193 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65]) - FOLLOW_declaration_specifiers_in_declaration197 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_init_declarator_list_in_declaration206 = frozenset([25]) - FOLLOW_25_in_declaration210 = frozenset([1]) - FOLLOW_declaration_specifiers_in_declaration224 = frozenset([4, 25, 58, 59, 60, 61, 65]) - FOLLOW_init_declarator_list_in_declaration228 = frozenset([25]) - FOLLOW_25_in_declaration233 = frozenset([1]) - FOLLOW_storage_class_specifier_in_declaration_specifiers254 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_specifier_in_declaration_specifiers262 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_qualifier_in_declaration_specifiers276 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_init_declarator_in_init_declarator_list298 = frozenset([1, 27]) - FOLLOW_27_in_init_declarator_list301 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_init_declarator_in_init_declarator_list303 = frozenset([1, 27]) - FOLLOW_declarator_in_init_declarator316 = frozenset([1, 28]) - FOLLOW_28_in_init_declarator319 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_initializer_in_init_declarator321 = frozenset([1]) + FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66]) + FOLLOW_function_definition_in_external_declaration113 = frozenset([1]) + FOLLOW_declaration_in_external_declaration118 = frozenset([1]) + FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25]) + FOLLOW_25_in_external_declaration126 = frozenset([1]) + FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_compound_statement_in_function_definition171 = frozenset([1]) + FOLLOW_compound_statement_in_function_definition180 = frozenset([1]) + FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66]) + FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_init_declarator_list_in_declaration216 = frozenset([25]) + FOLLOW_25_in_declaration220 = frozenset([1]) + FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66]) + FOLLOW_init_declarator_list_in_declaration238 = frozenset([25]) + FOLLOW_25_in_declaration243 = frozenset([1]) + FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27]) + FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27]) + FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28]) + FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_initializer_in_init_declarator331 = frozenset([1]) FOLLOW_set_in_storage_class_specifier0 = frozenset([1]) - FOLLOW_34_in_type_specifier366 = frozenset([1]) - FOLLOW_35_in_type_specifier371 = frozenset([1]) - FOLLOW_36_in_type_specifier376 = frozenset([1]) - FOLLOW_37_in_type_specifier381 = frozenset([1]) - FOLLOW_38_in_type_specifier386 = frozenset([1]) - FOLLOW_39_in_type_specifier391 = frozenset([1]) - FOLLOW_40_in_type_specifier396 = frozenset([1]) - FOLLOW_41_in_type_specifier401 = frozenset([1]) - FOLLOW_42_in_type_specifier406 = frozenset([1]) - FOLLOW_struct_or_union_specifier_in_type_specifier413 = frozenset([1]) - FOLLOW_enum_specifier_in_type_specifier423 = frozenset([1]) - FOLLOW_type_id_in_type_specifier441 = frozenset([1]) - FOLLOW_IDENTIFIER_in_type_id457 = frozenset([1]) - FOLLOW_struct_or_union_in_struct_or_union_specifier484 = frozenset([4, 43]) - FOLLOW_IDENTIFIER_in_struct_or_union_specifier486 = frozenset([43]) - FOLLOW_43_in_struct_or_union_specifier489 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_struct_declaration_list_in_struct_or_union_specifier491 = frozenset([44]) - FOLLOW_44_in_struct_or_union_specifier493 = frozenset([1]) - FOLLOW_struct_or_union_in_struct_or_union_specifier498 = frozenset([4]) - FOLLOW_IDENTIFIER_in_struct_or_union_specifier500 = frozenset([1]) + FOLLOW_34_in_type_specifier376 = frozenset([1]) + FOLLOW_35_in_type_specifier381 = frozenset([1]) + FOLLOW_36_in_type_specifier386 = frozenset([1]) + FOLLOW_37_in_type_specifier391 = frozenset([1]) + FOLLOW_38_in_type_specifier396 = frozenset([1]) + FOLLOW_39_in_type_specifier401 = frozenset([1]) + FOLLOW_40_in_type_specifier406 = frozenset([1]) + FOLLOW_41_in_type_specifier411 = frozenset([1]) + FOLLOW_42_in_type_specifier416 = frozenset([1]) + FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1]) + FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1]) + FOLLOW_type_id_in_type_specifier451 = frozenset([1]) + FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1]) + FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43]) + FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43]) + FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44]) + FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1]) + FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4]) + FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1]) FOLLOW_set_in_struct_or_union0 = frozenset([1]) - FOLLOW_struct_declaration_in_struct_declaration_list527 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_specifier_qualifier_list_in_struct_declaration539 = frozenset([4, 47, 58, 59, 60, 61, 65]) - FOLLOW_struct_declarator_list_in_struct_declaration541 = frozenset([25]) - FOLLOW_25_in_struct_declaration543 = frozenset([1]) - FOLLOW_type_qualifier_in_specifier_qualifier_list556 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_specifier_in_specifier_qualifier_list560 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_struct_declarator_in_struct_declarator_list574 = frozenset([1, 27]) - FOLLOW_27_in_struct_declarator_list577 = frozenset([4, 47, 58, 59, 60, 61, 65]) - FOLLOW_struct_declarator_in_struct_declarator_list579 = frozenset([1, 27]) - FOLLOW_declarator_in_struct_declarator592 = frozenset([1, 47]) - FOLLOW_47_in_struct_declarator595 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_struct_declarator597 = frozenset([1]) - FOLLOW_47_in_struct_declarator604 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_struct_declarator606 = frozenset([1]) - FOLLOW_48_in_enum_specifier624 = frozenset([43]) - FOLLOW_43_in_enum_specifier626 = frozenset([4]) - FOLLOW_enumerator_list_in_enum_specifier628 = frozenset([27, 44]) - FOLLOW_27_in_enum_specifier630 = frozenset([44]) - FOLLOW_44_in_enum_specifier633 = frozenset([1]) - FOLLOW_48_in_enum_specifier638 = frozenset([4]) - FOLLOW_IDENTIFIER_in_enum_specifier640 = frozenset([43]) - FOLLOW_43_in_enum_specifier642 = frozenset([4]) - FOLLOW_enumerator_list_in_enum_specifier644 = frozenset([27, 44]) - FOLLOW_27_in_enum_specifier646 = frozenset([44]) - FOLLOW_44_in_enum_specifier649 = frozenset([1]) - FOLLOW_48_in_enum_specifier654 = frozenset([4]) - FOLLOW_IDENTIFIER_in_enum_specifier656 = frozenset([1]) - FOLLOW_enumerator_in_enumerator_list667 = frozenset([1, 27]) - FOLLOW_27_in_enumerator_list670 = frozenset([4]) - FOLLOW_enumerator_in_enumerator_list672 = frozenset([1, 27]) - FOLLOW_IDENTIFIER_in_enumerator685 = frozenset([1, 28]) - FOLLOW_28_in_enumerator688 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_enumerator690 = frozenset([1]) + FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66]) + FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25]) + FOLLOW_25_in_struct_declaration553 = frozenset([1]) + FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27]) + FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66]) + FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27]) + FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47]) + FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1]) + FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1]) + FOLLOW_48_in_enum_specifier634 = frozenset([43]) + FOLLOW_43_in_enum_specifier636 = frozenset([4]) + FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44]) + FOLLOW_27_in_enum_specifier640 = frozenset([44]) + FOLLOW_44_in_enum_specifier643 = frozenset([1]) + FOLLOW_48_in_enum_specifier648 = frozenset([4]) + FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43]) + FOLLOW_43_in_enum_specifier652 = frozenset([4]) + FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44]) + FOLLOW_27_in_enum_specifier656 = frozenset([44]) + FOLLOW_44_in_enum_specifier659 = frozenset([1]) + FOLLOW_48_in_enum_specifier664 = frozenset([4]) + FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1]) + FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27]) + FOLLOW_27_in_enumerator_list680 = frozenset([4]) + FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27]) + FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28]) + FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_enumerator700 = frozenset([1]) FOLLOW_set_in_type_qualifier0 = frozenset([1]) - FOLLOW_pointer_in_declarator769 = frozenset([4, 58, 59, 60, 61]) - FOLLOW_58_in_declarator773 = frozenset([4, 59, 60, 61]) - FOLLOW_59_in_declarator778 = frozenset([4, 60, 61]) - FOLLOW_60_in_declarator783 = frozenset([4, 61]) - FOLLOW_direct_declarator_in_declarator787 = frozenset([1]) - FOLLOW_pointer_in_declarator793 = frozenset([1]) - FOLLOW_IDENTIFIER_in_direct_declarator804 = frozenset([1, 61, 63]) - FOLLOW_declarator_suffix_in_direct_declarator806 = frozenset([1, 61, 63]) - FOLLOW_61_in_direct_declarator812 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_58_in_direct_declarator815 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_declarator_in_direct_declarator819 = frozenset([62]) - FOLLOW_62_in_direct_declarator821 = frozenset([61, 63]) - FOLLOW_declarator_suffix_in_direct_declarator823 = frozenset([1, 61, 63]) - FOLLOW_63_in_declarator_suffix837 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_declarator_suffix839 = frozenset([64]) - FOLLOW_64_in_declarator_suffix841 = frozenset([1]) - FOLLOW_63_in_declarator_suffix851 = frozenset([64]) - FOLLOW_64_in_declarator_suffix853 = frozenset([1]) - FOLLOW_61_in_declarator_suffix863 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_type_list_in_declarator_suffix865 = frozenset([62]) - FOLLOW_62_in_declarator_suffix867 = frozenset([1]) - FOLLOW_61_in_declarator_suffix877 = frozenset([4]) - FOLLOW_identifier_list_in_declarator_suffix879 = frozenset([62]) - FOLLOW_62_in_declarator_suffix881 = frozenset([1]) - FOLLOW_61_in_declarator_suffix891 = frozenset([62]) - FOLLOW_62_in_declarator_suffix893 = frozenset([1]) - FOLLOW_65_in_pointer904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_qualifier_in_pointer906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_pointer_in_pointer909 = frozenset([1]) - FOLLOW_65_in_pointer915 = frozenset([65]) - FOLLOW_pointer_in_pointer917 = frozenset([1]) - FOLLOW_65_in_pointer922 = frozenset([1]) - FOLLOW_parameter_list_in_parameter_type_list933 = frozenset([1, 27]) - FOLLOW_27_in_parameter_type_list936 = frozenset([53, 66]) - FOLLOW_53_in_parameter_type_list939 = frozenset([66]) - FOLLOW_66_in_parameter_type_list943 = frozenset([1]) - FOLLOW_parameter_declaration_in_parameter_list956 = frozenset([1, 27]) - FOLLOW_27_in_parameter_list959 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_53_in_parameter_list962 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_declaration_in_parameter_list966 = frozenset([1, 27]) - FOLLOW_declaration_specifiers_in_parameter_declaration979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_declarator_in_parameter_declaration982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_abstract_declarator_in_parameter_declaration984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_53_in_parameter_declaration989 = frozenset([1]) - FOLLOW_pointer_in_parameter_declaration998 = frozenset([4, 65]) - FOLLOW_IDENTIFIER_in_parameter_declaration1001 = frozenset([1]) - FOLLOW_IDENTIFIER_in_identifier_list1012 = frozenset([1, 27]) - FOLLOW_27_in_identifier_list1016 = frozenset([4]) - FOLLOW_IDENTIFIER_in_identifier_list1018 = frozenset([1, 27]) - FOLLOW_specifier_qualifier_list_in_type_name1031 = frozenset([1, 61, 63, 65]) - FOLLOW_abstract_declarator_in_type_name1033 = frozenset([1]) - FOLLOW_type_id_in_type_name1039 = frozenset([1]) - FOLLOW_pointer_in_abstract_declarator1050 = frozenset([1, 61, 63]) - FOLLOW_direct_abstract_declarator_in_abstract_declarator1052 = frozenset([1]) - FOLLOW_direct_abstract_declarator_in_abstract_declarator1058 = frozenset([1]) - FOLLOW_61_in_direct_abstract_declarator1071 = frozenset([61, 63, 65]) - FOLLOW_abstract_declarator_in_direct_abstract_declarator1073 = frozenset([62]) - FOLLOW_62_in_direct_abstract_declarator1075 = frozenset([1, 61, 63]) - FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1079 = frozenset([1, 61, 63]) - FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1083 = frozenset([1, 61, 63]) - FOLLOW_63_in_abstract_declarator_suffix1095 = frozenset([64]) - FOLLOW_64_in_abstract_declarator_suffix1097 = frozenset([1]) - FOLLOW_63_in_abstract_declarator_suffix1102 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_abstract_declarator_suffix1104 = frozenset([64]) - FOLLOW_64_in_abstract_declarator_suffix1106 = frozenset([1]) - FOLLOW_61_in_abstract_declarator_suffix1111 = frozenset([62]) - FOLLOW_62_in_abstract_declarator_suffix1113 = frozenset([1]) - FOLLOW_61_in_abstract_declarator_suffix1118 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_type_list_in_abstract_declarator_suffix1120 = frozenset([62]) - FOLLOW_62_in_abstract_declarator_suffix1122 = frozenset([1]) - FOLLOW_assignment_expression_in_initializer1135 = frozenset([1]) - FOLLOW_43_in_initializer1140 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_initializer_list_in_initializer1142 = frozenset([27, 44]) - FOLLOW_27_in_initializer1144 = frozenset([44]) - FOLLOW_44_in_initializer1147 = frozenset([1]) - FOLLOW_initializer_in_initializer_list1158 = frozenset([1, 27]) - FOLLOW_27_in_initializer_list1161 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_initializer_in_initializer_list1163 = frozenset([1, 27]) - FOLLOW_assignment_expression_in_argument_expression_list1181 = frozenset([1, 27, 53]) - FOLLOW_53_in_argument_expression_list1184 = frozenset([1, 27]) - FOLLOW_27_in_argument_expression_list1189 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_assignment_expression_in_argument_expression_list1191 = frozenset([1, 27, 53]) - FOLLOW_53_in_argument_expression_list1194 = frozenset([1, 27]) - FOLLOW_multiplicative_expression_in_additive_expression1210 = frozenset([1, 67, 68]) - FOLLOW_67_in_additive_expression1214 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_multiplicative_expression_in_additive_expression1216 = frozenset([1, 67, 68]) - FOLLOW_68_in_additive_expression1220 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_multiplicative_expression_in_additive_expression1222 = frozenset([1, 67, 68]) - FOLLOW_cast_expression_in_multiplicative_expression1236 = frozenset([1, 65, 69, 70]) - FOLLOW_65_in_multiplicative_expression1240 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_multiplicative_expression1242 = frozenset([1, 65, 69, 70]) - FOLLOW_69_in_multiplicative_expression1246 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_multiplicative_expression1248 = frozenset([1, 65, 69, 70]) - FOLLOW_70_in_multiplicative_expression1252 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_multiplicative_expression1254 = frozenset([1, 65, 69, 70]) - FOLLOW_61_in_cast_expression1267 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_name_in_cast_expression1269 = frozenset([62]) - FOLLOW_62_in_cast_expression1271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_cast_expression1273 = frozenset([1]) - FOLLOW_unary_expression_in_cast_expression1278 = frozenset([1]) - FOLLOW_postfix_expression_in_unary_expression1289 = frozenset([1]) - FOLLOW_71_in_unary_expression1294 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_unary_expression_in_unary_expression1296 = frozenset([1]) - FOLLOW_72_in_unary_expression1301 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_unary_expression_in_unary_expression1303 = frozenset([1]) - FOLLOW_unary_operator_in_unary_expression1308 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_unary_expression1310 = frozenset([1]) - FOLLOW_73_in_unary_expression1315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_unary_expression_in_unary_expression1317 = frozenset([1]) - FOLLOW_73_in_unary_expression1322 = frozenset([61]) - FOLLOW_61_in_unary_expression1324 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_name_in_unary_expression1326 = frozenset([62]) - FOLLOW_62_in_unary_expression1328 = frozenset([1]) - FOLLOW_primary_expression_in_postfix_expression1352 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_63_in_postfix_expression1368 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_postfix_expression1370 = frozenset([64]) - FOLLOW_64_in_postfix_expression1372 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_61_in_postfix_expression1386 = frozenset([62]) - FOLLOW_62_in_postfix_expression1390 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_61_in_postfix_expression1405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_argument_expression_list_in_postfix_expression1409 = frozenset([62]) - FOLLOW_62_in_postfix_expression1413 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_61_in_postfix_expression1429 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_macro_parameter_list_in_postfix_expression1431 = frozenset([62]) - FOLLOW_62_in_postfix_expression1433 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_74_in_postfix_expression1447 = frozenset([4]) - FOLLOW_IDENTIFIER_in_postfix_expression1451 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_65_in_postfix_expression1467 = frozenset([4]) - FOLLOW_IDENTIFIER_in_postfix_expression1471 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_75_in_postfix_expression1487 = frozenset([4]) - FOLLOW_IDENTIFIER_in_postfix_expression1491 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_71_in_postfix_expression1507 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_72_in_postfix_expression1521 = frozenset([1, 61, 63, 65, 71, 72, 74, 75]) - FOLLOW_parameter_declaration_in_macro_parameter_list1544 = frozenset([1, 27]) - FOLLOW_27_in_macro_parameter_list1547 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_declaration_in_macro_parameter_list1549 = frozenset([1, 27]) + FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62]) + FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62]) + FOLLOW_59_in_declarator793 = frozenset([4, 60, 62]) + FOLLOW_60_in_declarator798 = frozenset([4, 62]) + FOLLOW_direct_declarator_in_declarator802 = frozenset([1]) + FOLLOW_pointer_in_declarator808 = frozenset([1]) + FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64]) + FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64]) + FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_declarator_in_direct_declarator834 = frozenset([63]) + FOLLOW_63_in_direct_declarator836 = frozenset([62, 64]) + FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64]) + FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65]) + FOLLOW_65_in_declarator_suffix856 = frozenset([1]) + FOLLOW_64_in_declarator_suffix866 = frozenset([65]) + FOLLOW_65_in_declarator_suffix868 = frozenset([1]) + FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63]) + FOLLOW_63_in_declarator_suffix882 = frozenset([1]) + FOLLOW_62_in_declarator_suffix892 = frozenset([4]) + FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63]) + FOLLOW_63_in_declarator_suffix896 = frozenset([1]) + FOLLOW_62_in_declarator_suffix906 = frozenset([63]) + FOLLOW_63_in_declarator_suffix908 = frozenset([1]) + FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_pointer_in_pointer924 = frozenset([1]) + FOLLOW_66_in_pointer930 = frozenset([66]) + FOLLOW_pointer_in_pointer932 = frozenset([1]) + FOLLOW_66_in_pointer937 = frozenset([1]) + FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27]) + FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67]) + FOLLOW_53_in_parameter_type_list954 = frozenset([67]) + FOLLOW_67_in_parameter_type_list958 = frozenset([1]) + FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27]) + FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27]) + FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_53_in_parameter_declaration1004 = frozenset([1]) + FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66]) + FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1]) + FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27]) + FOLLOW_27_in_identifier_list1031 = frozenset([4]) + FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27]) + FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66]) + FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1]) + FOLLOW_type_id_in_type_name1054 = frozenset([1]) + FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64]) + FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1]) + FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1]) + FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66]) + FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63]) + FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64]) + FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64]) + FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64]) + FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65]) + FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1]) + FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65]) + FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1]) + FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63]) + FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1]) + FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63]) + FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1]) + FOLLOW_assignment_expression_in_initializer1150 = frozenset([1]) + FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44]) + FOLLOW_27_in_initializer1159 = frozenset([44]) + FOLLOW_44_in_initializer1162 = frozenset([1]) + FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27]) + FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27]) + FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53]) + FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27]) + FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53]) + FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27]) + FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69]) + FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69]) + FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69]) + FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71]) + FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71]) + FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71]) + FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71]) + FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_name_in_cast_expression1284 = frozenset([63]) + FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1]) + FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1]) + FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1]) + FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1]) + FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1]) + FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1]) + FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1]) + FOLLOW_74_in_unary_expression1337 = frozenset([62]) + FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_name_in_unary_expression1341 = frozenset([63]) + FOLLOW_63_in_unary_expression1343 = frozenset([1]) + FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_postfix_expression1385 = frozenset([65]) + FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_62_in_postfix_expression1401 = frozenset([63]) + FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63]) + FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63]) + FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_75_in_postfix_expression1462 = frozenset([4]) + FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_66_in_postfix_expression1482 = frozenset([4]) + FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_76_in_postfix_expression1502 = frozenset([4]) + FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76]) + FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27]) + FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27]) FOLLOW_set_in_unary_operator0 = frozenset([1]) - FOLLOW_IDENTIFIER_in_primary_expression1598 = frozenset([1]) - FOLLOW_constant_in_primary_expression1603 = frozenset([1]) - FOLLOW_61_in_primary_expression1608 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_primary_expression1610 = frozenset([62]) - FOLLOW_62_in_primary_expression1612 = frozenset([1]) - FOLLOW_HEX_LITERAL_in_constant1628 = frozenset([1]) - FOLLOW_OCTAL_LITERAL_in_constant1638 = frozenset([1]) - FOLLOW_DECIMAL_LITERAL_in_constant1648 = frozenset([1]) - FOLLOW_CHARACTER_LITERAL_in_constant1656 = frozenset([1]) - FOLLOW_IDENTIFIER_in_constant1665 = frozenset([4, 9]) - FOLLOW_STRING_LITERAL_in_constant1668 = frozenset([1, 4, 9]) - FOLLOW_IDENTIFIER_in_constant1673 = frozenset([1, 4]) - FOLLOW_FLOATING_POINT_LITERAL_in_constant1684 = frozenset([1]) - FOLLOW_assignment_expression_in_expression1700 = frozenset([1, 27]) - FOLLOW_27_in_expression1703 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_assignment_expression_in_expression1705 = frozenset([1, 27]) - FOLLOW_conditional_expression_in_constant_expression1718 = frozenset([1]) - FOLLOW_lvalue_in_assignment_expression1729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88]) - FOLLOW_assignment_operator_in_assignment_expression1731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_assignment_expression_in_assignment_expression1733 = frozenset([1]) - FOLLOW_conditional_expression_in_assignment_expression1738 = frozenset([1]) - FOLLOW_unary_expression_in_lvalue1750 = frozenset([1]) + FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1]) + FOLLOW_constant_in_primary_expression1618 = frozenset([1]) + FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_primary_expression1625 = frozenset([63]) + FOLLOW_63_in_primary_expression1627 = frozenset([1]) + FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1]) + FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1]) + FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1]) + FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1]) + FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9]) + FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9]) + FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4]) + FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1]) + FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27]) + FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27]) + FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1]) + FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89]) + FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1]) + FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1]) + FOLLOW_unary_expression_in_lvalue1765 = frozenset([1]) FOLLOW_set_in_assignment_operator0 = frozenset([1]) - FOLLOW_logical_or_expression_in_conditional_expression1824 = frozenset([1, 89]) - FOLLOW_89_in_conditional_expression1827 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_conditional_expression1829 = frozenset([47]) - FOLLOW_47_in_conditional_expression1831 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_conditional_expression_in_conditional_expression1833 = frozenset([1]) - FOLLOW_logical_and_expression_in_logical_or_expression1848 = frozenset([1, 90]) - FOLLOW_90_in_logical_or_expression1851 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_logical_and_expression_in_logical_or_expression1853 = frozenset([1, 90]) - FOLLOW_inclusive_or_expression_in_logical_and_expression1866 = frozenset([1, 91]) - FOLLOW_91_in_logical_and_expression1869 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_inclusive_or_expression_in_logical_and_expression1871 = frozenset([1, 91]) - FOLLOW_exclusive_or_expression_in_inclusive_or_expression1884 = frozenset([1, 92]) - FOLLOW_92_in_inclusive_or_expression1887 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_exclusive_or_expression_in_inclusive_or_expression1889 = frozenset([1, 92]) - FOLLOW_and_expression_in_exclusive_or_expression1902 = frozenset([1, 93]) - FOLLOW_93_in_exclusive_or_expression1905 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_and_expression_in_exclusive_or_expression1907 = frozenset([1, 93]) - FOLLOW_equality_expression_in_and_expression1920 = frozenset([1, 76]) - FOLLOW_76_in_and_expression1923 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_equality_expression_in_and_expression1925 = frozenset([1, 76]) - FOLLOW_relational_expression_in_equality_expression1937 = frozenset([1, 94, 95]) - FOLLOW_set_in_equality_expression1940 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_relational_expression_in_equality_expression1946 = frozenset([1, 94, 95]) - FOLLOW_shift_expression_in_relational_expression1960 = frozenset([1, 96, 97, 98, 99]) - FOLLOW_set_in_relational_expression1963 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_shift_expression_in_relational_expression1973 = frozenset([1, 96, 97, 98, 99]) - FOLLOW_additive_expression_in_shift_expression1986 = frozenset([1, 100, 101]) - FOLLOW_set_in_shift_expression1989 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_additive_expression_in_shift_expression1995 = frozenset([1, 100, 101]) - FOLLOW_labeled_statement_in_statement2010 = frozenset([1]) - FOLLOW_compound_statement_in_statement2015 = frozenset([1]) - FOLLOW_expression_statement_in_statement2020 = frozenset([1]) - FOLLOW_selection_statement_in_statement2025 = frozenset([1]) - FOLLOW_iteration_statement_in_statement2030 = frozenset([1]) - FOLLOW_jump_statement_in_statement2035 = frozenset([1]) - FOLLOW_macro_statement_in_statement2040 = frozenset([1]) - FOLLOW_asm2_statement_in_statement2045 = frozenset([1]) - FOLLOW_asm1_statement_in_statement2050 = frozenset([1]) - FOLLOW_asm_statement_in_statement2055 = frozenset([1]) - FOLLOW_declaration_in_statement2060 = frozenset([1]) - FOLLOW_102_in_asm2_statement2071 = frozenset([4]) - FOLLOW_IDENTIFIER_in_asm2_statement2074 = frozenset([61]) - FOLLOW_61_in_asm2_statement2076 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_set_in_asm2_statement2079 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_62_in_asm2_statement2086 = frozenset([25]) - FOLLOW_25_in_asm2_statement2088 = frozenset([1]) - FOLLOW_103_in_asm1_statement2100 = frozenset([43]) - FOLLOW_43_in_asm1_statement2102 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_set_in_asm1_statement2105 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_44_in_asm1_statement2112 = frozenset([1]) - FOLLOW_104_in_asm_statement2123 = frozenset([43]) - FOLLOW_43_in_asm_statement2125 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_set_in_asm_statement2128 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_44_in_asm_statement2135 = frozenset([1]) - FOLLOW_IDENTIFIER_in_macro_statement2147 = frozenset([61]) - FOLLOW_61_in_macro_statement2149 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_declaration_in_macro_statement2151 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_list_in_macro_statement2155 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_macro_statement2158 = frozenset([62]) - FOLLOW_62_in_macro_statement2161 = frozenset([1]) - FOLLOW_IDENTIFIER_in_labeled_statement2173 = frozenset([47]) - FOLLOW_47_in_labeled_statement2175 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_labeled_statement2177 = frozenset([1]) - FOLLOW_105_in_labeled_statement2182 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_constant_expression_in_labeled_statement2184 = frozenset([47]) - FOLLOW_47_in_labeled_statement2186 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_labeled_statement2188 = frozenset([1]) - FOLLOW_106_in_labeled_statement2193 = frozenset([47]) - FOLLOW_47_in_labeled_statement2195 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_labeled_statement2197 = frozenset([1]) - FOLLOW_43_in_compound_statement2208 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_declaration_in_compound_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_list_in_compound_statement2213 = frozenset([44]) - FOLLOW_44_in_compound_statement2216 = frozenset([1]) - FOLLOW_statement_in_statement_list2227 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_25_in_expression_statement2239 = frozenset([1]) - FOLLOW_expression_in_expression_statement2244 = frozenset([25]) - FOLLOW_25_in_expression_statement2246 = frozenset([1]) - FOLLOW_107_in_selection_statement2257 = frozenset([61]) - FOLLOW_61_in_selection_statement2259 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_selection_statement2263 = frozenset([62]) - FOLLOW_62_in_selection_statement2265 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_selection_statement2269 = frozenset([1, 108]) - FOLLOW_108_in_selection_statement2284 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_selection_statement2286 = frozenset([1]) - FOLLOW_109_in_selection_statement2293 = frozenset([61]) - FOLLOW_61_in_selection_statement2295 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_selection_statement2297 = frozenset([62]) - FOLLOW_62_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) + FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90]) + FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_conditional_expression1844 = frozenset([47]) + FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1]) + FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91]) + FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91]) + FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92]) + FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92]) + FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93]) + FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93]) + FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94]) + FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94]) + FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77]) + FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77]) + FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96]) + FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96]) + FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100]) + FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100]) + FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102]) + FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102]) + FOLLOW_labeled_statement_in_statement2025 = frozenset([1]) + FOLLOW_compound_statement_in_statement2030 = frozenset([1]) + FOLLOW_expression_statement_in_statement2035 = frozenset([1]) + FOLLOW_selection_statement_in_statement2040 = frozenset([1]) + FOLLOW_iteration_statement_in_statement2045 = frozenset([1]) + FOLLOW_jump_statement_in_statement2050 = frozenset([1]) + FOLLOW_macro_statement_in_statement2055 = frozenset([1]) + FOLLOW_asm2_statement_in_statement2060 = frozenset([1]) + FOLLOW_asm1_statement_in_statement2065 = frozenset([1]) + FOLLOW_asm_statement_in_statement2070 = frozenset([1]) + FOLLOW_declaration_in_statement2075 = frozenset([1]) + FOLLOW_103_in_asm2_statement2086 = frozenset([4]) + FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62]) + FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_63_in_asm2_statement2101 = frozenset([25]) + FOLLOW_25_in_asm2_statement2103 = frozenset([1]) + FOLLOW_104_in_asm1_statement2115 = frozenset([43]) + FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_44_in_asm1_statement2127 = frozenset([1]) + FOLLOW_105_in_asm_statement2138 = frozenset([43]) + FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_44_in_asm_statement2150 = frozenset([1]) + FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62]) + FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_macro_statement2173 = frozenset([63]) + FOLLOW_63_in_macro_statement2176 = frozenset([1]) + FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47]) + FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_labeled_statement2192 = frozenset([1]) + FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47]) + FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_labeled_statement2203 = frozenset([1]) + FOLLOW_107_in_labeled_statement2208 = frozenset([47]) + FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_labeled_statement2212 = frozenset([1]) + FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_list_in_compound_statement2228 = frozenset([44]) + FOLLOW_44_in_compound_statement2231 = frozenset([1]) + FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_25_in_expression_statement2254 = frozenset([1]) + FOLLOW_expression_in_expression_statement2259 = frozenset([25]) + FOLLOW_25_in_expression_statement2261 = frozenset([1]) + FOLLOW_108_in_selection_statement2272 = frozenset([62]) + FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_selection_statement2278 = frozenset([63]) + FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109]) + FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) FOLLOW_statement_in_selection_statement2301 = frozenset([1]) - FOLLOW_110_in_iteration_statement2312 = frozenset([61]) - FOLLOW_61_in_iteration_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_iteration_statement2318 = frozenset([62]) - FOLLOW_62_in_iteration_statement2320 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_iteration_statement2322 = frozenset([1]) - FOLLOW_111_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_iteration_statement2331 = frozenset([110]) - FOLLOW_110_in_iteration_statement2333 = frozenset([61]) - FOLLOW_61_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_iteration_statement2339 = frozenset([62]) - FOLLOW_62_in_iteration_statement2341 = frozenset([25]) - FOLLOW_25_in_iteration_statement2343 = frozenset([1]) - FOLLOW_112_in_iteration_statement2350 = frozenset([61]) - FOLLOW_61_in_iteration_statement2352 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_statement_in_iteration_statement2354 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_statement_in_iteration_statement2358 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 62, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_iteration_statement2360 = frozenset([62]) - FOLLOW_62_in_iteration_statement2363 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116]) - FOLLOW_statement_in_iteration_statement2365 = frozenset([1]) - FOLLOW_113_in_jump_statement2378 = frozenset([4]) - FOLLOW_IDENTIFIER_in_jump_statement2380 = frozenset([25]) - FOLLOW_25_in_jump_statement2382 = frozenset([1]) - FOLLOW_114_in_jump_statement2387 = frozenset([25]) - FOLLOW_25_in_jump_statement2389 = frozenset([1]) - FOLLOW_115_in_jump_statement2394 = frozenset([25]) - FOLLOW_25_in_jump_statement2396 = frozenset([1]) - FOLLOW_116_in_jump_statement2401 = frozenset([25]) - FOLLOW_25_in_jump_statement2403 = frozenset([1]) - FOLLOW_116_in_jump_statement2408 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_expression_in_jump_statement2410 = frozenset([25]) - FOLLOW_25_in_jump_statement2412 = frozenset([1]) - FOLLOW_declaration_specifiers_in_synpred290 = frozenset([1]) - FOLLOW_declaration_specifiers_in_synpred490 = frozenset([4, 58, 59, 60, 61, 65]) - FOLLOW_declarator_in_synpred493 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_declaration_in_synpred495 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_43_in_synpred498 = frozenset([1]) - FOLLOW_declaration_in_synpred5108 = frozenset([1]) - FOLLOW_declaration_specifiers_in_synpred7147 = frozenset([1]) - FOLLOW_declaration_specifiers_in_synpred10197 = frozenset([1]) - FOLLOW_type_specifier_in_synpred14262 = frozenset([1]) - FOLLOW_type_qualifier_in_synpred15276 = frozenset([1]) - FOLLOW_type_qualifier_in_synpred33434 = frozenset([1]) - FOLLOW_IDENTIFIER_in_synpred34432 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65]) - FOLLOW_type_qualifier_in_synpred34434 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 65]) - FOLLOW_declarator_in_synpred34437 = frozenset([1]) - FOLLOW_type_qualifier_in_synpred39556 = frozenset([1]) - FOLLOW_type_specifier_in_synpred40560 = frozenset([1]) - FOLLOW_pointer_in_synpred65769 = frozenset([4, 58, 59, 60, 61]) - FOLLOW_58_in_synpred65773 = frozenset([4, 59, 60, 61]) - FOLLOW_59_in_synpred65778 = frozenset([4, 60, 61]) - FOLLOW_60_in_synpred65783 = frozenset([4, 61]) - FOLLOW_direct_declarator_in_synpred65787 = frozenset([1]) - FOLLOW_declarator_suffix_in_synpred66806 = frozenset([1]) - FOLLOW_58_in_synpred68815 = frozenset([1]) - FOLLOW_declarator_suffix_in_synpred69823 = frozenset([1]) - FOLLOW_61_in_synpred72863 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_type_list_in_synpred72865 = frozenset([62]) - FOLLOW_62_in_synpred72867 = frozenset([1]) - FOLLOW_61_in_synpred73877 = frozenset([4]) - FOLLOW_identifier_list_in_synpred73879 = frozenset([62]) - FOLLOW_62_in_synpred73881 = frozenset([1]) - FOLLOW_type_qualifier_in_synpred74906 = frozenset([1]) - FOLLOW_pointer_in_synpred75909 = frozenset([1]) - FOLLOW_65_in_synpred76904 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_qualifier_in_synpred76906 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_pointer_in_synpred76909 = frozenset([1]) - FOLLOW_65_in_synpred77915 = frozenset([65]) - FOLLOW_pointer_in_synpred77917 = frozenset([1]) - FOLLOW_53_in_synpred80962 = frozenset([1]) - FOLLOW_27_in_synpred81959 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_53_in_synpred81962 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_parameter_declaration_in_synpred81966 = frozenset([1]) - FOLLOW_declarator_in_synpred82982 = frozenset([1]) - FOLLOW_abstract_declarator_in_synpred83984 = frozenset([1]) - FOLLOW_declaration_specifiers_in_synpred85979 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_declarator_in_synpred85982 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_abstract_declarator_in_synpred85984 = frozenset([1, 4, 53, 58, 59, 60, 61, 63, 65]) - FOLLOW_53_in_synpred85989 = frozenset([1]) - FOLLOW_specifier_qualifier_list_in_synpred891031 = frozenset([1, 61, 63, 65]) - FOLLOW_abstract_declarator_in_synpred891033 = frozenset([1]) - FOLLOW_direct_abstract_declarator_in_synpred901052 = frozenset([1]) - FOLLOW_61_in_synpred921071 = frozenset([61, 63, 65]) - FOLLOW_abstract_declarator_in_synpred921073 = frozenset([62]) - FOLLOW_62_in_synpred921075 = frozenset([1]) - FOLLOW_abstract_declarator_suffix_in_synpred931083 = frozenset([1]) - FOLLOW_61_in_synpred1081267 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]) - FOLLOW_type_name_in_synpred1081269 = frozenset([62]) - FOLLOW_62_in_synpred1081271 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_cast_expression_in_synpred1081273 = frozenset([1]) - FOLLOW_73_in_synpred1131315 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_unary_expression_in_synpred1131317 = frozenset([1]) - FOLLOW_61_in_synpred1161405 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_argument_expression_list_in_synpred1161409 = frozenset([62]) - FOLLOW_62_in_synpred1161413 = frozenset([1]) - FOLLOW_61_in_synpred1171429 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65]) - FOLLOW_macro_parameter_list_in_synpred1171431 = frozenset([62]) - FOLLOW_62_in_synpred1171433 = frozenset([1]) - FOLLOW_65_in_synpred1191467 = frozenset([4]) - FOLLOW_IDENTIFIER_in_synpred1191471 = frozenset([1]) - FOLLOW_STRING_LITERAL_in_synpred1361668 = frozenset([1]) - FOLLOW_IDENTIFIER_in_synpred1371665 = frozenset([4, 9]) - FOLLOW_STRING_LITERAL_in_synpred1371668 = frozenset([1, 9]) - FOLLOW_lvalue_in_synpred1411729 = frozenset([28, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88]) - FOLLOW_assignment_operator_in_synpred1411731 = frozenset([4, 5, 6, 7, 8, 9, 10, 61, 65, 67, 68, 71, 72, 73, 76, 77, 78]) - FOLLOW_assignment_expression_in_synpred1411733 = frozenset([1]) - FOLLOW_expression_statement_in_synpred1682020 = frozenset([1]) - FOLLOW_macro_statement_in_synpred1722040 = frozenset([1]) - FOLLOW_asm2_statement_in_synpred1732045 = frozenset([1]) - FOLLOW_declaration_in_synpred1802151 = frozenset([1]) - FOLLOW_statement_list_in_synpred1812155 = frozenset([1]) - FOLLOW_declaration_in_synpred1852210 = frozenset([1]) - FOLLOW_statement_in_synpred1872227 = frozenset([1]) + FOLLOW_110_in_selection_statement2308 = frozenset([62]) + FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_selection_statement2312 = frozenset([63]) + FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_selection_statement2316 = frozenset([1]) + FOLLOW_111_in_iteration_statement2327 = frozenset([62]) + FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_iteration_statement2333 = frozenset([63]) + FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_iteration_statement2337 = frozenset([1]) + FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_iteration_statement2346 = frozenset([111]) + FOLLOW_111_in_iteration_statement2348 = frozenset([62]) + FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_iteration_statement2354 = frozenset([63]) + FOLLOW_63_in_iteration_statement2356 = frozenset([25]) + FOLLOW_25_in_iteration_statement2358 = frozenset([1]) + FOLLOW_113_in_iteration_statement2365 = frozenset([62]) + FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_iteration_statement2375 = frozenset([63]) + FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117]) + FOLLOW_statement_in_iteration_statement2380 = frozenset([1]) + FOLLOW_114_in_jump_statement2393 = frozenset([4]) + FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25]) + FOLLOW_25_in_jump_statement2397 = frozenset([1]) + FOLLOW_115_in_jump_statement2402 = frozenset([25]) + FOLLOW_25_in_jump_statement2404 = frozenset([1]) + FOLLOW_116_in_jump_statement2409 = frozenset([25]) + FOLLOW_25_in_jump_statement2411 = frozenset([1]) + FOLLOW_117_in_jump_statement2416 = frozenset([25]) + FOLLOW_25_in_jump_statement2418 = frozenset([1]) + FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_expression_in_jump_statement2425 = frozenset([25]) + FOLLOW_25_in_jump_statement2427 = frozenset([1]) + FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1]) + FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66]) + FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_43_in_synpred4108 = frozenset([1]) + FOLLOW_declaration_in_synpred5118 = frozenset([1]) + FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1]) + FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1]) + FOLLOW_type_specifier_in_synpred14272 = frozenset([1]) + FOLLOW_type_qualifier_in_synpred15286 = frozenset([1]) + FOLLOW_type_qualifier_in_synpred33444 = frozenset([1]) + FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66]) + FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66]) + FOLLOW_declarator_in_synpred34447 = frozenset([1]) + FOLLOW_type_qualifier_in_synpred39566 = frozenset([1]) + FOLLOW_type_specifier_in_synpred40570 = frozenset([1]) + FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62]) + FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62]) + FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62]) + FOLLOW_60_in_synpred66798 = frozenset([4, 62]) + FOLLOW_direct_declarator_in_synpred66802 = frozenset([1]) + FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1]) + FOLLOW_58_in_synpred69830 = frozenset([1]) + FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1]) + FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63]) + FOLLOW_63_in_synpred73882 = frozenset([1]) + FOLLOW_62_in_synpred74892 = frozenset([4]) + FOLLOW_identifier_list_in_synpred74894 = frozenset([63]) + FOLLOW_63_in_synpred74896 = frozenset([1]) + FOLLOW_type_qualifier_in_synpred75921 = frozenset([1]) + FOLLOW_pointer_in_synpred76924 = frozenset([1]) + FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_pointer_in_synpred77924 = frozenset([1]) + FOLLOW_66_in_synpred78930 = frozenset([66]) + FOLLOW_pointer_in_synpred78932 = frozenset([1]) + FOLLOW_53_in_synpred81977 = frozenset([1]) + FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1]) + FOLLOW_declarator_in_synpred83997 = frozenset([1]) + FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1]) + FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66]) + FOLLOW_53_in_synpred861004 = frozenset([1]) + FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66]) + FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1]) + FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1]) + FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66]) + FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63]) + FOLLOW_63_in_synpred931090 = frozenset([1]) + FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1]) + FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]) + FOLLOW_type_name_in_synpred1091284 = frozenset([63]) + FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_cast_expression_in_synpred1091288 = frozenset([1]) + FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_unary_expression_in_synpred1141332 = frozenset([1]) + FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63]) + FOLLOW_63_in_synpred1171428 = frozenset([1]) + FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66]) + FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63]) + FOLLOW_63_in_synpred1181448 = frozenset([1]) + FOLLOW_66_in_synpred1201482 = frozenset([4]) + FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1]) + FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1]) + FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9]) + FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9]) + FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89]) + FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79]) + FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1]) + FOLLOW_expression_statement_in_synpred1692035 = frozenset([1]) + FOLLOW_macro_statement_in_synpred1732055 = frozenset([1]) + FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1]) + FOLLOW_declaration_in_synpred1812166 = frozenset([1]) + FOLLOW_statement_list_in_synpred1822170 = frozenset([1]) + FOLLOW_declaration_in_synpred1862225 = frozenset([1]) + FOLLOW_statement_in_synpred1882242 = frozenset([1]) diff --git a/BaseTools/Source/Python/Ecc/Check.py b/BaseTools/Source/Python/Ecc/Check.py index c8bc54de3e..a8ec638fce 100644 --- a/BaseTools/Source/Python/Ecc/Check.py +++ b/BaseTools/Source/Python/Ecc/Check.py @@ -1,7 +1,7 @@ ## @file # This file is used to define checkpoints used by ECC tool # -# Copyright (c) 2008, Intel Corporation +# Copyright (c) 2008 - 2010, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -298,7 +298,11 @@ class Check(object): for Key in RecordDict: if len(RecordDict[Key]) > 1: for Item in RecordDict[Key]: - EccGlobalData.gDb.TblReport.Insert(ERROR_INCLUDE_FILE_CHECK_NAME, OtherMsg = "The file name for '%s' is duplicate" % (Item[1]), BelongsToTable = 'File', BelongsToItem = Item[0]) + Path = Item[1].replace(EccGlobalData.gWorkspace, '') + if Path.startswith('\\') or Path.startswith('/'): + Path = Path[1:] + if not EccGlobalData.gException.IsException(ERROR_INCLUDE_FILE_CHECK_NAME, Path): + EccGlobalData.gDb.TblReport.Insert(ERROR_INCLUDE_FILE_CHECK_NAME, OtherMsg = "The file name for [%s] is duplicate" % Path, BelongsToTable = 'File', BelongsToItem = Item[0]) # Check whether all include file contents is guarded by a #ifndef statement. def IncludeFileCheckIfndef(self): @@ -527,7 +531,7 @@ class Check(object): if EccGlobalData.gConfig.MetaDataFileCheckPcdDuplicate == '1' or EccGlobalData.gConfig.MetaDataFileCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking for duplicate PCDs defined in both DSC and FDF files ...") SqlCommand = """ - select A.ID, A.Value2, B.ID, B.Value2 from Dsc as A, Fdf as B + select A.ID, A.Value2, A.BelongsToFile, B.ID, B.Value2, B.BelongsToFile from Dsc as A, Fdf as B where A.Model >= %s and A.Model < %s and B.Model >= %s and B.Model < %s and A.Value2 = B.Value2 @@ -537,10 +541,17 @@ class Check(object): """% (MODEL_PCD, MODEL_META_DATA_HEADER, MODEL_PCD, MODEL_META_DATA_HEADER) RecordSet = EccGlobalData.gDb.TblDsc.Exec(SqlCommand) for Record in RecordSet: + SqlCommand1 = """select Name from File where ID = %s""" %Record[2] + SqlCommand2 = """select Name from File where ID = %s""" %Record[5] + DscFileName = os.path.splitext(EccGlobalData.gDb.TblDsc.Exec(SqlCommand1)[0][0])[0] + FdfFileName = os.path.splitext(EccGlobalData.gDb.TblDsc.Exec(SqlCommand2)[0][0])[0] + print DscFileName, 111, FdfFileName + if DscFileName != FdfFileName: + continue if not EccGlobalData.gException.IsException(ERROR_META_DATA_FILE_CHECK_PCD_DUPLICATE, Record[1]): EccGlobalData.gDb.TblReport.Insert(ERROR_META_DATA_FILE_CHECK_PCD_DUPLICATE, OtherMsg = "The PCD [%s] is defined in both FDF file and DSC file" % (Record[1]), BelongsToTable = 'Dsc', BelongsToItem = Record[0]) if not EccGlobalData.gException.IsException(ERROR_META_DATA_FILE_CHECK_PCD_DUPLICATE, Record[3]): - EccGlobalData.gDb.TblReport.Insert(ERROR_META_DATA_FILE_CHECK_PCD_DUPLICATE, OtherMsg = "The PCD [%s] is defined in both FDF file and DSC file" % (Record[3]), BelongsToTable = 'Fdf', BelongsToItem = Record[2]) + EccGlobalData.gDb.TblReport.Insert(ERROR_META_DATA_FILE_CHECK_PCD_DUPLICATE, OtherMsg = "The PCD [%s] is defined in both FDF file and DSC file" % (Record[4]), BelongsToTable = 'Fdf', BelongsToItem = Record[3]) EdkLogger.quiet("Checking for duplicate PCDs defined in DEC files ...") SqlCommand = """ @@ -664,7 +675,7 @@ class Check(object): for Tbl in TableSet: TblName = 'Identifier' + str(Tbl[0]) SqlCommand = """ - select Name, ID from %s where value like '%%%s%%' and Model = %s + select Name, ID from %s where value like '%s' and Model = %s """ % (TblName, PcdName, MODEL_IDENTIFIER_FUNCTION_CALLING) RecordSet = EccGlobalData.gDb.TblInf.Exec(SqlCommand) TblNumber = TblName.replace('Identifier', '') @@ -726,29 +737,35 @@ class Check(object): # Naming Convention Check def NamingConventionCheck(self): - - for Dirpath, Dirnames, Filenames in self.WalkTree(): - for F in Filenames: - if os.path.splitext(F)[1] in ('.h', '.c'): - FullName = os.path.join(Dirpath, F) - Id = c.GetTableID(FullName) - if Id < 0: - continue - FileTable = 'Identifier' + str(Id) - self.NamingConventionCheckDefineStatement(FileTable) - self.NamingConventionCheckTypedefStatement(FileTable) - self.NamingConventionCheckIfndefStatement(FileTable) - self.NamingConventionCheckVariableName(FileTable) - self.NamingConventionCheckSingleCharacterVariable(FileTable) + if EccGlobalData.gConfig.NamingConventionCheckDefineStatement == '1' \ + or EccGlobalData.gConfig.NamingConventionCheckTypedefStatement == '1' \ + or EccGlobalData.gConfig.NamingConventionCheckIfndefStatement == '1' \ + or EccGlobalData.gConfig.NamingConventionCheckVariableName == '1' \ + or EccGlobalData.gConfig.NamingConventionCheckSingleCharacterVariable == '1' \ + or EccGlobalData.gConfig.NamingConventionCheckAll == '1'\ + or EccGlobalData.gConfig.CheckAll == '1': + for Dirpath, Dirnames, Filenames in self.WalkTree(): + for F in Filenames: + if os.path.splitext(F)[1] in ('.h', '.c'): + FullName = os.path.join(Dirpath, F) + Id = c.GetTableID(FullName) + if Id < 0: + continue + FileTable = 'Identifier' + str(Id) + self.NamingConventionCheckDefineStatement(FileTable) + self.NamingConventionCheckTypedefStatement(FileTable) + self.NamingConventionCheckIfndefStatement(FileTable) + self.NamingConventionCheckVariableName(FileTable) + self.NamingConventionCheckSingleCharacterVariable(FileTable) self.NamingConventionCheckPathName() self.NamingConventionCheckFunctionName() - + # Check whether only capital letters are used for #define declarations def NamingConventionCheckDefineStatement(self, FileTable): if EccGlobalData.gConfig.NamingConventionCheckDefineStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking naming covention of #define statement ...") - + SqlCommand = """select ID, Value from %s where Model = %s""" %(FileTable, MODEL_IDENTIFIER_MACRO_DEFINE) RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand) for Record in RecordSet: @@ -763,7 +780,7 @@ class Check(object): def NamingConventionCheckTypedefStatement(self, FileTable): if EccGlobalData.gConfig.NamingConventionCheckTypedefStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking naming covention of #typedef statement ...") - + SqlCommand = """select ID, Name from %s where Model = %s""" %(FileTable, MODEL_IDENTIFIER_TYPEDEF) RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand) for Record in RecordSet: @@ -783,7 +800,7 @@ class Check(object): def NamingConventionCheckIfndefStatement(self, FileTable): if EccGlobalData.gConfig.NamingConventionCheckTypedefStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking naming covention of #ifndef statement ...") - + SqlCommand = """select ID, Value from %s where Model = %s""" %(FileTable, MODEL_IDENTIFIER_MACRO_IFNDEF) RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand) for Record in RecordSet: @@ -818,7 +835,7 @@ class Check(object): if EccGlobalData.gConfig.NamingConventionCheckVariableName == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking naming covention of variable name ...") Pattern = re.compile(r'^[A-Zgm]+\S*[a-z]\S*$') - + SqlCommand = """select ID, Name from %s where Model = %s""" %(FileTable, MODEL_IDENTIFIER_VARIABLE) RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand) for Record in RecordSet: @@ -846,7 +863,7 @@ class Check(object): def NamingConventionCheckSingleCharacterVariable(self, FileTable): if EccGlobalData.gConfig.NamingConventionCheckSingleCharacterVariable == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1': EdkLogger.quiet("Checking naming covention of single character variable name ...") - + SqlCommand = """select ID, Name from %s where Model = %s""" %(FileTable, MODEL_IDENTIFIER_VARIABLE) RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand) for Record in RecordSet: diff --git a/BaseTools/Source/Python/Ecc/Ecc.py b/BaseTools/Source/Python/Ecc/Ecc.py index ea9d0b343c..4b5c319c35 100644 --- a/BaseTools/Source/Python/Ecc/Ecc.py +++ b/BaseTools/Source/Python/Ecc/Ecc.py @@ -1,7 +1,7 @@ ## @file # This file is used to be the main entrance of ECC tool # -# Copyright (c) 2009, Intel Corporation +# Copyright (c) 2009 - 2010, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -43,7 +43,7 @@ class Ecc(object): # Version and Copyright self.VersionNumber = "0.01" self.Version = "%prog Version " + self.VersionNumber - self.Copyright = "Copyright (c) 2009, Intel Corporation All rights reserved." + self.Copyright = "Copyright (c) 2009 - 2010, Intel Corporation All rights reserved." self.InitDefaultConfigIni() self.OutputFile = 'output.txt' @@ -225,6 +225,9 @@ class Ecc(object): EdkLogger.quiet("Loading ECC configuration ... done") (Options, Target) = self.EccOptionParser() + if Options.Workspace: + os.environ["WORKSPACE"] = Options.Workspace + # Check workspace envirnoment if "WORKSPACE" not in os.environ: EdkLogger.error("ECC", BuildToolError.ATTRIBUTE_NOT_AVAILABLE, "Environment variable not found", @@ -244,6 +247,8 @@ class Ecc(object): self.OutputFile = Options.OutputFile if Options.ReportFile != None: self.ReportFile = Options.ReportFile + if Options.ExceptionFile != None: + self.ExceptionFile = Options.ExceptionFile if Options.Target != None: if not os.path.isdir(Options.Target): EdkLogger.error("ECC", BuildToolError.OPTION_VALUE_INVALID, ExtraData="Target [%s] does NOT exist" % Options.Target) @@ -294,6 +299,8 @@ class Ecc(object): help="Specify the name of an output file, if and only if one filename was specified.") Parser.add_option("-r", "--reportfile filename", action="store", type="string", dest="ReportFile", help="Specify the name of an report file, if and only if one filename was specified.") + Parser.add_option("-e", "--exceptionfile filename", action="store", type="string", dest="ExceptionFile", + help="Specify the name of an exception file, if and only if one filename was specified.") Parser.add_option("-m", "--metadata", action="store_true", type=None, help="Only scan meta-data files information if this option is specified.") Parser.add_option("-s", "--sourcecode", action="store_true", type=None, help="Only scan source code files information if this option is specified.") Parser.add_option("-k", "--keepdatabase", action="store_true", type=None, help="The existing Ecc database will not be cleaned except report information if this option is specified.") @@ -307,6 +314,7 @@ class Ecc(object): "including library instances selected, final dependency expression, "\ "and warning messages, etc.") Parser.add_option("-d", "--debug", action="store", type="int", help="Enable debug messages at specified level.") + Parser.add_option("-w", "--workspace", action="store", type="string", dest='Workspace', help="Specify workspace.") (Opt, Args)=Parser.parse_args() diff --git a/BaseTools/Source/Python/Ecc/EccToolError.py b/BaseTools/Source/Python/Ecc/EccToolError.py index 9c4d10d55b..f6c4097e78 100644 --- a/BaseTools/Source/Python/Ecc/EccToolError.py +++ b/BaseTools/Source/Python/Ecc/EccToolError.py @@ -1,7 +1,7 @@ ## @file # Standardized Error Hanlding infrastructures. # -# Copyright (c) 20087, Intel Corporation +# Copyright (c) 2008 - 2010, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -40,6 +40,8 @@ ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_BODY = 5005 ERROR_C_FUNCTION_LAYOUT_CHECK_DATA_DECLARATION = 5006 ERROR_C_FUNCTION_LAYOUT_CHECK_NO_INIT_OF_VARIABLE = 5007 ERROR_C_FUNCTION_LAYOUT_CHECK_NO_STATIC = 5008 +ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2 = 5009 +ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3 = 5010 ERROR_INCLUDE_FILE_CHECK_ALL = 6000 ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_1 = 6001 @@ -102,35 +104,37 @@ gEccErrorMessage = { ERROR_GENERAL_CHECK_NO_PROGMA : """There should be no use of "#progma" in source file except "#pragma pack(#)\"""", ERROR_GENERAL_CHECK_CARRIAGE_RETURN : "There should be a carriage return at the end of the file", ERROR_GENERAL_CHECK_FILE_EXISTENCE : "File not found", - + ERROR_SPACE_CHECK_ALL : "", - + ERROR_PREDICATE_EXPRESSION_CHECK_ALL : "", ERROR_PREDICATE_EXPRESSION_CHECK_BOOLEAN_VALUE : "Boolean values and variable type BOOLEAN should not use explicit comparisons to TRUE or FALSE", ERROR_PREDICATE_EXPRESSION_CHECK_NO_BOOLEAN_OPERATOR : "Non-Boolean comparisons should use a compare operator (==, !=, >, < >=, <=)", ERROR_PREDICATE_EXPRESSION_CHECK_COMPARISON_NULL_TYPE : "A comparison of any pointer to zero must be done via the NULL type", - + ERROR_HEADER_CHECK_ALL : "", ERROR_HEADER_CHECK_FILE : "File header doesn't exist", ERROR_HEADER_CHECK_FUNCTION : "Function header doesn't exist", - + ERROR_C_FUNCTION_LAYOUT_CHECK_ALL : "", ERROR_C_FUNCTION_LAYOUT_CHECK_RETURN_TYPE : "Return type of a function should exist and in the first line", ERROR_C_FUNCTION_LAYOUT_CHECK_OPTIONAL_FUNCTIONAL_MODIFIER : "Any optional functional modifiers should exist and next to the return type", ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_NAME : """Function name should be left justified, followed by the beginning of the parameter list, with the closing parenthesis on its own line, indented two spaces""", ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE : "Function prototypes in include files have the same form as function definitions", + ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2 : "Function prototypes in include files have different parameter number with function definitions", + ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3 : "Function prototypes in include files have different parameter modifier with function definitions", ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_BODY : "The body of a function should be contained by open and close braces that must be in the first column", ERROR_C_FUNCTION_LAYOUT_CHECK_DATA_DECLARATION : "The data declarations should be the first code in a module", ERROR_C_FUNCTION_LAYOUT_CHECK_NO_INIT_OF_VARIABLE : "There should be no initialization of a variable as part of its declaration", ERROR_C_FUNCTION_LAYOUT_CHECK_NO_STATIC : "There should be no use of STATIC for functions", - + ERROR_INCLUDE_FILE_CHECK_ALL : "", ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_1 : "All include file contents should be guarded by a #ifndef statement.", ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_2 : "The #ifndef must be the first line of code following the file header comment", ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_3 : "The #endif must appear on the last line in the file", ERROR_INCLUDE_FILE_CHECK_DATA : "Include files should contain only public or only private data and cannot contain code or define data variables", ERROR_INCLUDE_FILE_CHECK_NAME : "No permission for the inlcude file with same names", - + ERROR_DECLARATION_DATA_TYPE_CHECK_ALL : "", ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE : "There should be no use of int, unsigned, char, void, static, long in any .c, .h or .asl files", ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER : """The modifiers IN, OUT, OPTIONAL, and UNALIGNED should be used only to qualify arguments to a function and should not appear in a data type declaration""", @@ -140,7 +144,7 @@ gEccErrorMessage = { ERROR_DECLARATION_DATA_TYPE_CHECK_SAME_STRUCTURE : "No permission for the structure with same names", ERROR_DECLARATION_DATA_TYPE_CHECK_UNION_TYPE : "Union Type should have a 'typedef' and the name must be in capital letters", ERROR_DECLARATION_DATA_TYPE_CHECK_NESTED_STRUCTURE : "Complex types should be typedef-ed", - + ERROR_NAMING_CONVENTION_CHECK_ALL : "", ERROR_NAMING_CONVENTION_CHECK_DEFINE_STATEMENT : "Only capital letters are allowed to be used for #define declarations", ERROR_NAMING_CONVENTION_CHECK_TYPEDEF_STATEMENT : "Only capital letters are allowed to be used for typedef declarations", @@ -149,17 +153,17 @@ gEccErrorMessage = { ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME : """Variable name does not follow the rules: 1. First character should be upper case 2. Must contain lower case characters 3. No white space characters 4. Global variable name must start with a 'g'""", ERROR_NAMING_CONVENTION_CHECK_FUNCTION_NAME : """Function name does not follow the rules: 1. First character should be upper case 2. Must contain lower case characters 3. No white space characters""", ERROR_NAMING_CONVENTION_CHECK_SINGLE_CHARACTER_VARIABLE : "There should be no use of short (single character) variable names", - + ERROR_DOXYGEN_CHECK_ALL : "", ERROR_DOXYGEN_CHECK_FILE_HEADER : "The file headers should follow Doxygen special documentation blocks in section 2.3.5", ERROR_DOXYGEN_CHECK_FUNCTION_HEADER : "The function headers should follow Doxygen special documentation blocks in section 2.3.5", ERROR_DOXYGEN_CHECK_COMMENT_DESCRIPTION : """The first line of text in a comment block should be a brief description of the element being documented and the brief description must end with a period.""", ERROR_DOXYGEN_CHECK_COMMENT_FORMAT : "For comment line with '///< ... text ...' format, if it is used, it should be after the code section", - ERROR_DOXYGEN_CHECK_COMMAND : "Only Doxygen commands @bug and @todo are allowed to mark the code", - + ERROR_DOXYGEN_CHECK_COMMAND : "Only Doxygen commands '@bug', '@todo', '@example', '@file', '@attention', '@param', '@post', '@pre', '@retval', '@return', '@sa', '@since', '@test', '@note', '@par' are allowed to mark the code", + ERROR_META_DATA_FILE_CHECK_ALL : "", ERROR_META_DATA_FILE_CHECK_PATH_NAME : "The file defined in meta-data does not exist", - ERROR_META_DATA_FILE_CHECK_LIBRARY_INSTANCE_1 : "A library instances defined for a given module (or dependent library instance) doesn't match the module's type.", + ERROR_META_DATA_FILE_CHECK_LIBRARY_INSTANCE_1 : "A library instances defined for a given module (or dependent library instance) doesn't match the module's type.", ERROR_META_DATA_FILE_CHECK_LIBRARY_INSTANCE_2 : "A library instance must specify the Supported Module Types in its INF file", ERROR_META_DATA_FILE_CHECK_LIBRARY_INSTANCE_DEPENDENT : "A library instance must be defined for all dependent library classes", ERROR_META_DATA_FILE_CHECK_LIBRARY_INSTANCE_ORDER : "The library Instances specified by the LibraryClasses sections should be listed in order of dependencies", @@ -171,9 +175,9 @@ gEccErrorMessage = { ERROR_META_DATA_FILE_CHECK_DUPLICATE_GUID : "Duplicate GUID found", ERROR_META_DATA_FILE_CHECK_DUPLICATE_PROTOCOL : "Duplicate PROTOCOL found", ERROR_META_DATA_FILE_CHECK_DUPLICATE_PPI : "Duplicate PPI found", - ERROR_META_DATA_FILE_CHECK_MODULE_FILE_NO_USE : "No used module files found", + ERROR_META_DATA_FILE_CHECK_MODULE_FILE_NO_USE : "No used module files found", ERROR_META_DATA_FILE_CHECK_PCD_TYPE : "Wrong C code function used for this kind of PCD", - + ERROR_SPELLING_CHECK_ALL : "", } diff --git a/BaseTools/Source/Python/Ecc/ParserWarning.py b/BaseTools/Source/Python/Ecc/ParserWarning.py index 547360d927..1874739915 100644 --- a/BaseTools/Source/Python/Ecc/ParserWarning.py +++ b/BaseTools/Source/Python/Ecc/ParserWarning.py @@ -1,3 +1,16 @@ +## @file +# This file is used to be the warning class of ECC tool +# +# Copyright (c) 2009 - 2010, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# + ## The exception class that used to report error messages when preprocessing # # Currently the "ToolName" is set to be "ECC PP". diff --git a/BaseTools/Source/Python/Ecc/__init__.py b/BaseTools/Source/Python/Ecc/__init__.py index e69de29bb2..f385b1e670 100644 --- a/BaseTools/Source/Python/Ecc/__init__.py +++ b/BaseTools/Source/Python/Ecc/__init__.py @@ -0,0 +1,15 @@ +## @file +# Python 'Ecc' package initialization file. +# +# This file is required to make Python interpreter treat the directory +# as containing package. +# +# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# diff --git a/BaseTools/Source/Python/Ecc/c.py b/BaseTools/Source/Python/Ecc/c.py index b8b1d2d6f5..1085da942b 100644 --- a/BaseTools/Source/Python/Ecc/c.py +++ b/BaseTools/Source/Python/Ecc/c.py @@ -1,3 +1,16 @@ +## @file +# This file is used to be the c coding style checking of ECC tool +# +# Copyright (c) 2009 - 2010, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# + import sys import os import re @@ -82,16 +95,16 @@ def GetIdentifierList(): for comment in FileProfile.CommentList: IdComment = DataClass.IdentifierClass(-1, '', '', '', comment.Content, DataClass.MODEL_IDENTIFIER_COMMENT, -1, -1, comment.StartPos[0],comment.StartPos[1],comment.EndPos[0],comment.EndPos[1]) IdList.append(IdComment) - + for pp in FileProfile.PPDirectiveList: Type = GetIdType(pp.Content) IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0],pp.StartPos[1],pp.EndPos[0],pp.EndPos[1]) IdList.append(IdPP) - + for pe in FileProfile.PredicateExpressionList: IdPE = DataClass.IdentifierClass(-1, '', '', '', pe.Content, DataClass.MODEL_IDENTIFIER_PREDICATE_EXPRESSION, -1, -1, pe.StartPos[0],pe.StartPos[1],pe.EndPos[0],pe.EndPos[1]) IdList.append(IdPE) - + FuncDeclPattern = GetFuncDeclPattern() ArrayPattern = GetArrayPattern() for var in FileProfile.VariableDeclarationList: @@ -125,10 +138,10 @@ def GetIdentifierList(): DeclText = DeclText[1:] VarNameStartColumn += 1 FirstChar = DeclText[0] - + var.Declarator = DeclText if FuncDeclPattern.match(var.Declarator): - DeclSplitList = var.Declarator.split('(') + DeclSplitList = var.Declarator.split('(') FuncName = DeclSplitList[0].strip() FuncNamePartList = FuncName.split() if len(FuncNamePartList) > 1: @@ -168,8 +181,8 @@ def GetIdentifierList(): IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', var.Declarator, FuncName, DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, -1, -1, var.StartPos[0], var.StartPos[1], VarNameStartLine, VarNameStartColumn) IdList.append(IdVar) continue - - if var.Declarator.find('{') == -1: + + if var.Declarator.find('{') == -1: for decl in var.Declarator.split(','): DeclList = decl.split('=') Name = DeclList[0].strip() @@ -177,7 +190,7 @@ def GetIdentifierList(): LSBPos = var.Declarator.find('[') var.Modifier += ' ' + Name[LSBPos:] Name = Name[0:LSBPos] - + IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1], VarNameStartLine, VarNameStartColumn) IdList.append(IdVar) else: @@ -189,7 +202,7 @@ def GetIdentifierList(): Name = Name[0:LSBPos] IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1], VarNameStartLine, VarNameStartColumn) IdList.append(IdVar) - + for enum in FileProfile.EnumerationDefinitionList: LBPos = enum.Content.find('{') RBPos = enum.Content.find('}') @@ -197,7 +210,7 @@ def GetIdentifierList(): Value = enum.Content[LBPos+1:RBPos] IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0],enum.StartPos[1],enum.EndPos[0],enum.EndPos[1]) IdList.append(IdEnum) - + for su in FileProfile.StructUnionDefinitionList: if SuOccurInTypedef(su, FileProfile.TypedefDefinitionList): continue @@ -216,8 +229,8 @@ def GetIdentifierList(): Value = su.Content[LBPos:RBPos+1] IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0],su.StartPos[1],su.EndPos[0],su.EndPos[1]) IdList.append(IdPE) - - TdFuncPointerPattern = GetTypedefFuncPointerPattern() + + TdFuncPointerPattern = GetTypedefFuncPointerPattern() for td in FileProfile.TypedefDefinitionList: Modifier = '' Name = td.ToType @@ -240,16 +253,16 @@ def GetIdentifierList(): while Name.startswith('*'): Value += ' ' + '*' Name = Name.lstrip('*').strip() - + if Name.find('[') != -1: LBPos = Name.find('[') RBPos = Name.rfind(']') Value += Name[LBPos : RBPos + 1] Name = Name[0 : LBPos] - + IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0],td.StartPos[1],td.EndPos[0],td.EndPos[1]) IdList.append(IdTd) - + for funcCall in FileProfile.FunctionCallingList: IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0],funcCall.StartPos[1],funcCall.EndPos[0],funcCall.EndPos[1]) IdList.append(IdFC) @@ -278,7 +291,7 @@ def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): OffsetSkipped = 0 TailChar = FuncName[-1] while not TailChar.isalpha() and TailChar != '_': - + if TailChar == '\n': FuncName = FuncName.rstrip('\r\n').rstrip('\n') LineSkipped += 1 @@ -296,9 +309,9 @@ def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): else: FuncName = FuncName[:-1] TailChar = FuncName[-1] - + OffsetSkipped += 1 #skip '(' - + for p in ParamStr.split(','): ListP = p.split() if len(ListP) == 0: @@ -325,13 +338,13 @@ def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): LBIndex = ParamName.find('[') if LBIndex != -1: ParamName = ParamName[0:LBIndex] - + Start = RightSpacePos Index = 0 PreChar = '' while Index < Start: FirstChar = p[Index] - + if FirstChar == '\r': Index += 1 LineSkipped += 1 @@ -351,15 +364,15 @@ def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): Index += 1 OffsetSkipped += 1 PreChar = FirstChar - + ParamBeginLine = FuncNameLine + LineSkipped ParamBeginOffset = FuncNameOffset + OffsetSkipped - + Index = Start + len(ParamName) PreChar = '' while Index < len(p): FirstChar = p[Index] - + if FirstChar == '\r': Index += 1 LineSkipped += 1 @@ -379,18 +392,18 @@ def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): Index += 1 OffsetSkipped += 1 PreChar = FirstChar - + ParamEndLine = FuncNameLine + LineSkipped ParamEndOffset = FuncNameOffset + OffsetSkipped if ParamName != '...': ParamName = StripNonAlnumChars(ParamName) IdParam = DataClass.IdentifierClass(-1, ParamModifier, '', ParamName, '', DataClass.MODEL_IDENTIFIER_PARAMETER, -1, -1, ParamBeginLine, ParamBeginOffset, ParamEndLine, ParamEndOffset) ParamIdList.append(IdParam) - + OffsetSkipped += 1 #skip ',' - + return ParamIdList - + def GetFunctionList(): FuncObjList = [] for FuncDef in FileProfile.FunctionDefinitionList: @@ -422,12 +435,12 @@ def GetFunctionList(): DeclText = DeclText[1:] FuncNameStartColumn += 1 FirstChar = DeclText[0] - + FuncDef.Declarator = DeclText DeclSplitList = FuncDef.Declarator.split('(') if len(DeclSplitList) < 2: continue - + FuncName = DeclSplitList[0] FuncNamePartList = FuncName.split() if len(FuncNamePartList) > 1: @@ -463,10 +476,10 @@ def GetFunctionList(): Index += 1 FuncNameStartColumn += 1 PreChar = FirstChar - + FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0],FuncDef.StartPos[1],FuncDef.EndPos[0],FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [], FuncNameStartLine, FuncNameStartColumn) FuncObjList.append(FuncObj) - + return FuncObjList def GetFileModificationTimeFromDB(FullFileName): @@ -519,13 +532,13 @@ def CollectSourceCodeDataIntoDB(RootDir): ModifiedTime = os.path.getmtime(FullName) FileObj = DataClass.FileClass(-1, BaseName, Ext, DirName, FullName, model, ModifiedTime, GetFunctionList(), GetIdentifierList(), []) FileObjList.append(FileObj) - collector.CleanFileProfileBuffer() - + collector.CleanFileProfileBuffer() + if len(ParseErrorFileList) > 0: EdkLogger.info("Found unrecoverable error during parsing:\n\t%s\n" % "\n\t".join(ParseErrorFileList)) - - Db = GetDB() - for file in FileObjList: + + Db = GetDB() + for file in FileObjList: Db.InsertOneFile(file) Db.UpdateIdentifierBelongsToFunction() @@ -533,13 +546,13 @@ def CollectSourceCodeDataIntoDB(RootDir): def GetTableID(FullFileName, ErrorMsgList = None): if ErrorMsgList == None: ErrorMsgList = [] - + Db = GetDB() SqlStatement = """ select ID from File where FullPath like '%s' """ % FullFileName - + ResultSet = Db.TblFile.Exec(SqlStatement) FileID = -1 @@ -557,11 +570,11 @@ def GetIncludeFileList(FullFileName): IFList = IncludeFileListDict.get(FullFileName) if IFList != None: return IFList - + FileID = GetTableID(FullFileName) if FileID < 0: return [] - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value @@ -583,7 +596,7 @@ def GetFullPathOfIncludeFile(Str, IncludePathList): def GetAllIncludeFiles(FullFileName): if AllIncludeFileListDict.get(FullFileName) != None: return AllIncludeFileListDict.get(FullFileName) - + FileDirName = os.path.dirname(FullFileName) IncludePathList = IncludePathListDict.get(FileDirName) if IncludePathList == None: @@ -600,7 +613,7 @@ def GetAllIncludeFiles(FullFileName): FullPath = GetFullPathOfIncludeFile(FileName, IncludePathList) if FullPath != None: IncludeFileQueue.append(FullPath) - + i = 0 while i < len(IncludeFileQueue): for IncludeFile in GetIncludeFileList(IncludeFileQueue[i]): @@ -612,7 +625,7 @@ def GetAllIncludeFiles(FullFileName): if FullPath != None and FullPath not in IncludeFileQueue: IncludeFileQueue.insert(i + 1, FullPath) i += 1 - + AllIncludeFileListDict[FullFileName] = IncludeFileQueue return IncludeFileQueue @@ -637,7 +650,7 @@ def GetPredicateListFromPredicateExpStr(PES): else: PredicateList.append(Exp.rstrip(';').rstrip(')').strip()) i += 1 - + if PredicateBegin > LogicOpPos: while PredicateBegin < len(PES): if PES[PredicateBegin].isalnum() or PES[PredicateBegin] == '_' or PES[PredicateBegin] == '*': @@ -651,7 +664,7 @@ def GetPredicateListFromPredicateExpStr(PES): else: PredicateList.append(Exp.rstrip(';').rstrip(')').strip()) return PredicateList - + def GetCNameList(Lvalue, StarList = []): Lvalue += ' ' i = 0 @@ -659,7 +672,7 @@ def GetCNameList(Lvalue, StarList = []): VarStart = -1 VarEnd = -1 VarList = [] - + while SearchBegin < len(Lvalue): while i < len(Lvalue): if Lvalue[i].isalnum() or Lvalue[i] == '_': @@ -677,8 +690,8 @@ def GetCNameList(Lvalue, StarList = []): i += 1 if VarEnd == -1: break - - + + DotIndex = Lvalue[VarEnd:].find('.') ArrowIndex = Lvalue[VarEnd:].find('->') if DotIndex == -1 and ArrowIndex == -1: @@ -688,19 +701,19 @@ def GetCNameList(Lvalue, StarList = []): elif ArrowIndex == -1 and DotIndex != -1: SearchBegin = VarEnd + DotIndex else: - SearchBegin = VarEnd + ((DotIndex < ArrowIndex) and DotIndex or ArrowIndex) - + SearchBegin = VarEnd + ((DotIndex < ArrowIndex) and DotIndex or ArrowIndex) + i = SearchBegin VarStart = -1 VarEnd = -1 - - return VarList + + return VarList def SplitPredicateByOp(Str, Op, IsFuncCalling = False): Name = Str.strip() Value = None - + if IsFuncCalling: Index = 0 LBFound = False @@ -708,7 +721,7 @@ def SplitPredicateByOp(Str, Op, IsFuncCalling = False): while Index < len(Str): while not LBFound and Str[Index] != '_' and not Str[Index].isalnum(): Index += 1 - + while not LBFound and (Str[Index].isalnum() or Str[Index] == '_'): Index += 1 # maybe type-cast at the begining, skip it. @@ -716,79 +729,81 @@ def SplitPredicateByOp(Str, Op, IsFuncCalling = False): if RemainingStr.startswith(')') and not LBFound: Index += 1 continue - + if RemainingStr.startswith('(') and not LBFound: LBFound = True - + if Str[Index] == '(': UnmatchedLBCount += 1 Index += 1 continue - + if Str[Index] == ')': UnmatchedLBCount -= 1 Index += 1 if UnmatchedLBCount == 0: break continue - + Index += 1 - + if UnmatchedLBCount > 0: return [Name] - + IndexInRemainingStr = Str[Index:].find(Op) if IndexInRemainingStr == -1: return [Name] - + Name = Str[0:Index + IndexInRemainingStr].strip() - Value = Str[Index+IndexInRemainingStr+len(Op):].strip() + Value = Str[Index+IndexInRemainingStr+len(Op):].strip().strip(')') return [Name, Value] - + TmpStr = Str.rstrip(';').rstrip(')') while True: Index = TmpStr.rfind(Op) if Index == -1: return [Name] - + if Str[Index - 1].isalnum() or Str[Index - 1].isspace() or Str[Index - 1] == ')': Name = Str[0:Index].strip() Value = Str[Index + len(Op):].strip() - return [Name, Value] - + return [Name, Value] + TmpStr = Str[0:Index - 1] def SplitPredicateStr(Str): + + Str = Str.lstrip('(') IsFuncCalling = False p = GetFuncDeclPattern() TmpStr = Str.replace('.', '').replace('->', '') if p.match(TmpStr): IsFuncCalling = True - + PredPartList = SplitPredicateByOp(Str, '==', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '=='] - + PredPartList = SplitPredicateByOp(Str, '!=', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '!='] - + PredPartList = SplitPredicateByOp(Str, '>=', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '>='] - + PredPartList = SplitPredicateByOp(Str, '<=', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '<='] - + PredPartList = SplitPredicateByOp(Str, '>', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '>'] - + PredPartList = SplitPredicateByOp(Str, '<', IsFuncCalling) if len(PredPartList) > 1: return [PredPartList, '<'] - + return [[Str, None], None] def GetFuncContainsPE(ExpLine, ResultSet): @@ -812,11 +827,11 @@ def GetDataTypeFromModifier(ModifierStr): # remove array sufix if M.startswith('['): MList.remove(M) - + ReturnType = '' for M in MList: ReturnType += M + ' ' - + ReturnType = ReturnType.strip() if len(ReturnType) == 0: ReturnType = 'VOID' @@ -829,13 +844,13 @@ def DiffModifier(Str1, Str2): return False else: return True - + def GetTypedefDict(FullFileName): - + Dict = ComplexTypeDict.get(FullFileName) if Dict != None: return Dict - + FileID = GetTableID(FullFileName) FileTable = 'Identifier' + str(FileID) Db = GetDB() @@ -844,25 +859,25 @@ def GetTypedefDict(FullFileName): where Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_TYPEDEF) ResultSet = Db.TblFile.Exec(SqlStatement) - + Dict = {} for Result in ResultSet: if len(Result[0]) == 0: Dict[Result[1]] = Result[2] - + IncludeFileList = GetAllIncludeFiles(FullFileName) for F in IncludeFileList: FileID = GetTableID(F) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, Name, Value, ID from %s where Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_TYPEDEF) ResultSet = Db.TblFile.Exec(SqlStatement) - + for Result in ResultSet: if not Result[2].startswith('FP ('): Dict[Result[1]] = Result[2] @@ -871,16 +886,16 @@ def GetTypedefDict(FullFileName): Dict[Result[1]] = 'VOID' else: Dict[Result[1]] = GetDataTypeFromModifier(Result[0]) - + ComplexTypeDict[FullFileName] = Dict return Dict def GetSUDict(FullFileName): - + Dict = SUDict.get(FullFileName) if Dict != None: return Dict - + FileID = GetTableID(FullFileName) FileTable = 'Identifier' + str(FileID) Db = GetDB() @@ -889,36 +904,36 @@ def GetSUDict(FullFileName): where Model = %d or Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_STRUCTURE, DataClass.MODEL_IDENTIFIER_UNION) ResultSet = Db.TblFile.Exec(SqlStatement) - + Dict = {} for Result in ResultSet: if len(Result[1]) > 0: Dict[Result[0]] = Result[1] - + IncludeFileList = GetAllIncludeFiles(FullFileName) for F in IncludeFileList: FileID = GetTableID(F) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Name, Value, ID from %s where Model = %d or Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_STRUCTURE, DataClass.MODEL_IDENTIFIER_UNION) ResultSet = Db.TblFile.Exec(SqlStatement) - + for Result in ResultSet: if len(Result[1]) > 0: Dict[Result[0]] = Result[1] - + SUDict[FullFileName] = Dict return Dict def StripComments(Str): Str += ' ' ListFromStr = list(Str) - + InComment = False DoubleSlashComment = False Index = 0 @@ -944,7 +959,7 @@ def StripComments(Str): elif ListFromStr[Index] == '/' and ListFromStr[Index+1] == '/' and ListFromStr[Index+2] != '\n': InComment = True DoubleSlashComment = True - + # check for /* comment start elif ListFromStr[Index] == '/' and ListFromStr[Index+1] == '*': ListFromStr[Index] = ' ' @@ -958,7 +973,7 @@ def StripComments(Str): # restore from List to String Str = "".join(ListFromStr) Str = Str.rstrip(' ') - + return Str def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict): @@ -967,7 +982,7 @@ def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict): Value = SUDict.get(Type) if Value == None: return None - + LBPos = Value.find('{') while LBPos == -1: FTList = Value.split() @@ -977,12 +992,12 @@ def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict): if Value == None: Value = SUDict.get(FT) break - + if Value == None: return None - + LBPos = Value.find('{') - + # RBPos = Value.find('}') Fields = Value[LBPos + 1:] Fields = StripComments(Fields) @@ -997,13 +1012,13 @@ def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict): Type = GetDataTypeFromModifier(Field[0:Index]) return Type.strip() else: - # For the condition that the field in struct is an array with [] sufixes... + # For the condition that the field in struct is an array with [] sufixes... if not Field[Index + len(FieldName)].isalnum(): Type = GetDataTypeFromModifier(Field[0:Index]) return Type.strip() - + return None - + def GetRealType(Type, TypedefDict, TargetType = None): if TargetType != None and Type == TargetType: return Type @@ -1017,7 +1032,7 @@ def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): TypedefDict = GetTypedefDict(FullFileName) SUDict = GetSUDict(FullFileName) Type = GetDataTypeFromModifier(Modifier).replace('*', '').strip() - + Type = Type.split()[-1] Index = 0 while Index < len(RefList): @@ -1034,7 +1049,7 @@ def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): if Type.find('*') != -1 and Index == len(RefList)-1: return Type Type = FromType.split()[0] - + Index += 1 Type = GetRealType(Type, TypedefDict, TargetType) @@ -1042,14 +1057,14 @@ def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): return Type def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, TargetType = None, StarList = None): - + PredVar = PredVarList[0] FileID = GetTableID(FullFileName) - + Db = GetDB() FileTable = 'Identifier' + str(FileID) # search variable in include files - + # it is a function call, search function declarations and definitions if IsFuncCall: SqlStatement = """ select Modifier, ID @@ -1057,65 +1072,65 @@ def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, Target where Model = %d and Value = \'%s\' """ % (FileTable, DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, PredVar) ResultSet = Db.TblFile.Exec(SqlStatement) - - for Result in ResultSet: + + for Result in ResultSet: Type = GetDataTypeFromModifier(Result[0]).split()[-1] TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + IncludeFileList = GetAllIncludeFiles(FullFileName) for F in IncludeFileList: FileID = GetTableID(F) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, ID from %s where Model = %d and Value = \'%s\' """ % (FileTable, DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, PredVar) ResultSet = Db.TblFile.Exec(SqlStatement) - + for Result in ResultSet: Type = GetDataTypeFromModifier(Result[0]).split()[-1] TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + FileID = GetTableID(FullFileName) SqlStatement = """ select Modifier, ID from Function where BelongsToFile = %d and Name = \'%s\' """ % (FileID, PredVar) ResultSet = Db.TblFile.Exec(SqlStatement) - - for Result in ResultSet: + + for Result in ResultSet: Type = GetDataTypeFromModifier(Result[0]).split()[-1] TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + for F in IncludeFileList: FileID = GetTableID(F) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, ID from Function where BelongsToFile = %d and Name = \'%s\' """ % (FileID, PredVar) ResultSet = Db.TblFile.Exec(SqlStatement) - + for Result in ResultSet: Type = GetDataTypeFromModifier(Result[0]).split()[-1] TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + return None - + # really variable, search local variable first SqlStatement = """ select Modifier, ID from %s @@ -1141,7 +1156,7 @@ def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, Target TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + # search function parameters second ParamList = GetParamList(FuncRecord[2]) for Param in ParamList: @@ -1162,7 +1177,7 @@ def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, Target TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + # search global variable next SqlStatement = """ select Modifier, ID from %s @@ -1187,13 +1202,13 @@ def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, Target TypedefDict = GetTypedefDict(FullFileName) Type = GetRealType(Type, TypedefDict, TargetType) return Type - + IncludeFileList = GetAllIncludeFiles(FullFileName) for F in IncludeFileList: FileID = GetTableID(F) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, ID from %s @@ -1219,16 +1234,26 @@ def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, Target Type = GetRealType(Type, TypedefDict, TargetType) return Type +def GetTypeFromArray(Type, Var): + Count = Var.count('[') + + while Count > 0: + Type = Type.strip() + Type = Type.rstrip('*') + Count = Count - 1 + + return Type + def CheckFuncLayoutReturnType(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) - SqlStatement = """ select Modifier, ID, StartLine, StartColumn, EndLine, Value + SqlStatement = """ select Modifier, ID, StartLine, StartColumn, EndLine, Value from %s where Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION) @@ -1242,10 +1267,10 @@ def CheckFuncLayoutReturnType(FullFileName): Index = Result[0].find(TypeStart) if Index != 0 or Result[3] != 0: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_RETURN_TYPE, '[%s] Return Type should appear at the start of line' % FuncName, FileTable, Result[1]) - + if Result[2] == Result[4]: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_RETURN_TYPE, '[%s] Return Type should appear on its own line' % FuncName, FileTable, Result[1]) - + SqlStatement = """ select Modifier, ID, StartLine, StartColumn, FunNameStartLine, Name from Function where BelongsToFile = %d @@ -1260,17 +1285,17 @@ def CheckFuncLayoutReturnType(FullFileName): Index = Result[0].find(ReturnType) if Index != 0 or Result[3] != 0: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_RETURN_TYPE, '[%s] Return Type should appear at the start of line' % FuncName, 'Function', Result[1]) - + if Result[2] == Result[4]: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_RETURN_TYPE, '[%s] Return Type should appear on its own line' % FuncName, 'Function', Result[1]) - + def CheckFuncLayoutModifier(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, ID @@ -1286,7 +1311,7 @@ def CheckFuncLayoutModifier(FullFileName): Index = Result[0].find(TypeStart) if Index != 0: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_OPTIONAL_FUNCTIONAL_MODIFIER, '', FileTable, Result[1]) - + SqlStatement = """ select Modifier, ID from Function where BelongsToFile = %d @@ -1309,7 +1334,7 @@ def CheckFuncLayoutName(FullFileName): FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Name, ID, EndColumn, Value @@ -1331,14 +1356,14 @@ def CheckFuncLayoutName(FullFileName): if Param.StartLine <= StartLine: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_NAME, 'Parameter %s should be in its own line.' % Param.Name, FileTable, Result[1]) if Param.StartLine - StartLine > 1: - PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_NAME, 'Empty line appears before Parameter %s.' % Param.Name, FileTable, Result[1]) + PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_NAME, 'Empty line appears before Parameter %s.' % Param.Name, FileTable, Result[1]) if not Pattern.match(Param.Name) and not Param.Name in ParamIgnoreList and not EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Param.Name): PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Parameter [%s] NOT follow naming convention.' % Param.Name, FileTable, Result[1]) StartLine = Param.StartLine - + if not Result[0].endswith('\n )') and not Result[0].endswith('\r )'): PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_NAME, '\')\' should be on a new line and indented two spaces', FileTable, Result[1]) - + SqlStatement = """ select Modifier, ID, FunNameStartColumn, Name from Function where BelongsToFile = %d @@ -1367,11 +1392,11 @@ def CheckFuncLayoutName(FullFileName): def CheckFuncLayoutPrototype(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + FileTable = 'Identifier' + str(FileID) Db = GetDB() SqlStatement = """ select Modifier, Header, Name, ID @@ -1381,11 +1406,11 @@ def CheckFuncLayoutPrototype(FullFileName): ResultSet = Db.TblFile.Exec(SqlStatement) if len(ResultSet) == 0: return ErrorMsgList - + FuncDefList = [] for Result in ResultSet: FuncDefList.append(Result) - + SqlStatement = """ select Modifier, Name, ID from %s where Model = %d @@ -1394,7 +1419,7 @@ def CheckFuncLayoutPrototype(FullFileName): FuncDeclList = [] for Result in ResultSet: FuncDeclList.append(Result) - + UndeclFuncList = [] for FuncDef in FuncDefList: FuncName = FuncDef[2].strip() @@ -1409,26 +1434,26 @@ def CheckFuncLayoutPrototype(FullFileName): PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Function [%s] modifier different with prototype.' % FuncName, 'Function', FuncDef[3]) ParamListOfDef = GetParamList(FuncDefHeader) ParamListOfDecl = GetParamList(FuncDecl[1]) - if len(ParamListOfDef) != len(ParamListOfDecl): - PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Parameter number different.', 'Function', FuncDef[3]) + if len(ParamListOfDef) != len(ParamListOfDecl) and not EccGlobalData.gException.IsException(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2, FuncName): + PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2, 'Parameter number different in function [%s].' % FuncName, 'Function', FuncDef[3]) break Index = 0 while Index < len(ParamListOfDef): - if DiffModifier(ParamListOfDef[Index].Modifier, ParamListOfDecl[Index].Modifier): - PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Parameter %s has different modifier with prototype.' % ParamListOfDef[Index].Name, 'Function', FuncDef[3]) + if DiffModifier(ParamListOfDef[Index].Modifier, ParamListOfDecl[Index].Modifier) and not EccGlobalData.gException.IsException(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3, FuncName): + PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3, 'Parameter %s has different modifier with prototype in function [%s].' % (ParamListOfDef[Index].Name, FuncName), 'Function', FuncDef[3]) Index += 1 break else: UndeclFuncList.append(FuncDef) - + IncludeFileList = GetAllIncludeFiles(FullFileName) FuncDeclList = [] for F in IncludeFileList: FileID = GetTableID(F, ErrorMsgList) if FileID < 0: continue - + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, Name, ID from %s @@ -1438,7 +1463,7 @@ def CheckFuncLayoutPrototype(FullFileName): for Result in ResultSet: FuncDeclList.append(Result) - + for FuncDef in UndeclFuncList: FuncName = FuncDef[2].strip() FuncModifier = FuncDef[0] @@ -1452,24 +1477,24 @@ def CheckFuncLayoutPrototype(FullFileName): PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Function [%s] modifier different with prototype.' % FuncName, 'Function', FuncDef[3]) ParamListOfDef = GetParamList(FuncDefHeader) ParamListOfDecl = GetParamList(FuncDecl[1]) - if len(ParamListOfDef) != len(ParamListOfDecl): - PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Parameter number different.', 'Function', FuncDef[3]) + if len(ParamListOfDef) != len(ParamListOfDecl) and not EccGlobalData.gException.IsException(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2, FuncName): + PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_2, 'Parameter number different in function [%s].' % FuncName, 'Function', FuncDef[3]) break Index = 0 while Index < len(ParamListOfDef): - if DiffModifier(ParamListOfDef[Index].Modifier, ParamListOfDecl[Index].Modifier): - PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE, 'Parameter %s has different modifier with prototype.' % ParamListOfDef[Index].Name, 'Function', FuncDef[3]) + if DiffModifier(ParamListOfDef[Index].Modifier, ParamListOfDecl[Index].Modifier) and not EccGlobalData.gException.IsException(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3, FuncName): + PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_FUNCTION_PROTO_TYPE_3, 'Parameter %s has different modifier with prototype in function [%s].' % (ParamListOfDef[Index].Name, FuncName), 'Function', FuncDef[3]) Index += 1 break - + def CheckFuncLayoutBody(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + FileTable = 'Identifier' + str(FileID) Db = GetDB() SqlStatement = """ select BodyStartColumn, EndColumn, ID @@ -1487,11 +1512,11 @@ def CheckFuncLayoutBody(FullFileName): def CheckFuncLayoutLocalVariable(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select ID @@ -1504,7 +1529,7 @@ def CheckFuncLayoutLocalVariable(FullFileName): FL = [] for Result in ResultSet: FL.append(Result) - + for F in FL: SqlStatement = """ select Name, Value, ID from %s @@ -1513,21 +1538,21 @@ def CheckFuncLayoutLocalVariable(FullFileName): ResultSet = Db.TblFile.Exec(SqlStatement) if len(ResultSet) == 0: continue - + for Result in ResultSet: if len(Result[1]) > 0: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_NO_INIT_OF_VARIABLE, 'Variable Name: %s' % Result[0], FileTable, Result[2]) - + def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId): ErrMsgList = [] # Member variable format pattern. Pattern = re.compile(r'^[A-Z]+\S*[a-z]\S*$') - + LBPos = Value.find('{') RBPos = Value.rfind('}') if LBPos == -1 or RBPos == -1: return ErrMsgList - + Fields = Value[LBPos + 1 : RBPos] Fields = StripComments(Fields).strip() NestPos = Fields.find ('struct') @@ -1548,7 +1573,7 @@ def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId): if not EccGlobalData.gException.IsException(ERROR_DECLARATION_DATA_TYPE_CHECK_NESTED_STRUCTURE, Name): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NESTED_STRUCTURE, 'Nested enum in [%s].' % (Name), FileTable, TdId) return ErrMsgList - + if ModelId == DataClass.MODEL_IDENTIFIER_ENUMERATE: FieldsList = Fields.split(',') # deal with enum is pre-assigned a value by function call ( , , , ...) @@ -1557,34 +1582,34 @@ def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId): RemoveCurrentElement = False while Index < len(FieldsList): Field = FieldsList[Index] - + if Field.find('(') != -1: QuoteCount += 1 RemoveCurrentElement = True Index += 1 continue - + if Field.find(')') != -1 and QuoteCount > 0: QuoteCount -= 1 - if RemoveCurrentElement: + if RemoveCurrentElement: FieldsList.remove(Field) if QuoteCount == 0: RemoveCurrentElement = False continue - + if QuoteCount == 0: RemoveCurrentElement = False - + Index += 1 else: FieldsList = Fields.split(';') - + for Field in FieldsList: Field = Field.strip() if Field == '': continue - # For the condition that the field in struct is an array with [] sufixes... + # For the condition that the field in struct is an array with [] sufixes... if Field[-1] == ']': LBPos = Field.find('[') Field = Field[0:LBPos] @@ -1592,26 +1617,26 @@ def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId): if Field.find(':') != -1: ColonPos = Field.find(':') Field = Field[0:ColonPos] - + Field = Field.strip() if Field == '': continue # Enum could directly assign value to variable Field = Field.split('=')[0].strip() - TokenList = Field.split() + TokenList = Field.split() # Remove pointers before variable if not Pattern.match(TokenList[-1].lstrip('*')): ErrMsgList.append(TokenList[-1].lstrip('*')) - + return ErrMsgList def CheckDeclTypedefFormat(FullFileName, ModelId): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Name, StartLine, EndLine, ID, Value @@ -1622,7 +1647,7 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): ResultList = [] for Result in ResultSet: ResultList.append(Result) - + ErrorType = ERROR_DECLARATION_DATA_TYPE_CHECK_ALL if ModelId == DataClass.MODEL_IDENTIFIER_STRUCTURE: ErrorType = ERROR_DECLARATION_DATA_TYPE_CHECK_STRUCTURE_DECLARATION @@ -1630,7 +1655,7 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): ErrorType = ERROR_DECLARATION_DATA_TYPE_CHECK_ENUMERATED_TYPE elif ModelId == DataClass.MODEL_IDENTIFIER_UNION: ErrorType = ERROR_DECLARATION_DATA_TYPE_CHECK_UNION_TYPE - + SqlStatement = """ select Modifier, Name, Value, StartLine, EndLine, ID from %s where Model = %d @@ -1651,7 +1676,7 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): ValueModelId = DataClass.MODEL_IDENTIFIER_UNION else: continue - + if ValueModelId != ModelId: continue # Check member variable format. @@ -1660,7 +1685,7 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): if EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Name+'.'+ErrMsg): continue PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Member variable [%s] NOT follow naming convention.' % (Name+'.'+ErrMsg), FileTable, Td[5]) - + # First check in current file to see whether struct/union/enum is typedef-ed. UntypedefedList = [] for Result in ResultList: @@ -1675,7 +1700,7 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): ValueModelId = DataClass.MODEL_IDENTIFIER_UNION else: continue - + if ValueModelId != ModelId: continue ErrMsgList = CheckMemberVariableFormat(Name, Value, FileTable, Result[3], ModelId) @@ -1699,21 +1724,21 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): PrintErrorMsg(ErrorType, 'Typedef should be UPPER case', FileTable, Td[5]) if Found: break - + if not Found: UntypedefedList.append(Result) continue - + if len(UntypedefedList) == 0: return - + IncludeFileList = GetAllIncludeFiles(FullFileName) TdList = [] for F in IncludeFileList: FileID = GetTableID(F, ErrorMsgList) if FileID < 0: continue - + IncludeFileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, Name, Value, StartLine, EndLine, ID from %s @@ -1721,13 +1746,13 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): """ % (IncludeFileTable, DataClass.MODEL_IDENTIFIER_TYPEDEF) ResultSet = Db.TblFile.Exec(SqlStatement) TdList.extend(ResultSet) - + for Result in UntypedefedList: - + # Check whether it is typedefed. Found = False for Td in TdList: - + if len(Td[0]) > 0: continue if Result[1] >= Td[3] and Td[4] >= Result[2]: @@ -1740,27 +1765,27 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): PrintErrorMsg(ErrorType, 'Typedef should be UPPER case', FileTable, Td[5]) if Found: break - + if not Found: PrintErrorMsg(ErrorType, 'No Typedef for %s' % Result[0], FileTable, Result[3]) continue - + def CheckDeclStructTypedef(FullFileName): CheckDeclTypedefFormat(FullFileName, DataClass.MODEL_IDENTIFIER_STRUCTURE) def CheckDeclEnumTypedef(FullFileName): CheckDeclTypedefFormat(FullFileName, DataClass.MODEL_IDENTIFIER_ENUMERATE) - + def CheckDeclUnionTypedef(FullFileName): CheckDeclTypedefFormat(FullFileName, DataClass.MODEL_IDENTIFIER_UNION) def CheckDeclArgModifier(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, Name, ID @@ -1775,7 +1800,7 @@ def CheckDeclArgModifier(FullFileName): if PatternInModifier(Result[0], Modifier) and len(Result[0]) < MAX_MODIFIER_LENGTH: PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER, 'Variable Modifier %s' % Result[0], FileTable, Result[2]) break - + SqlStatement = """ select Modifier, Name, ID from %s where Model = %d @@ -1786,7 +1811,7 @@ def CheckDeclArgModifier(FullFileName): if PatternInModifier(Result[0], Modifier): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER, 'Return Type Modifier %s' % Result[0], FileTable, Result[2]) break - + SqlStatement = """ select Modifier, Header, ID from Function where BelongsToFile = %d @@ -1800,11 +1825,11 @@ def CheckDeclArgModifier(FullFileName): def CheckDeclNoUseCType(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Modifier, Name, ID @@ -1818,7 +1843,7 @@ def CheckDeclNoUseCType(FullFileName): if PatternInModifier(Result[0], Type): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE, 'Variable type %s' % Type, FileTable, Result[2]) break - + SqlStatement = """ select Modifier, Name, ID, Value from %s where Model = %d @@ -1832,11 +1857,11 @@ def CheckDeclNoUseCType(FullFileName): for Type in CTypeTuple: if PatternInModifier(Result[0], Type): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE, '%s Return type %s' % (FuncName, Result[0]), FileTable, Result[2]) - + for Param in ParamList: if PatternInModifier(Param.Modifier, Type): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE, 'Parameter %s' % Param.Name, FileTable, Result[2]) - + SqlStatement = """ select Modifier, Header, ID, Name from Function where BelongsToFile = %d @@ -1850,22 +1875,22 @@ def CheckDeclNoUseCType(FullFileName): for Type in CTypeTuple: if PatternInModifier(Result[0], Type): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE, '[%s] Return type %s' % (FuncName, Result[0]), FileTable, Result[2]) - + for Param in ParamList: if PatternInModifier(Param.Modifier, Type): PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE, 'Parameter %s' % Param.Name, FileTable, Result[2]) - + def CheckPointerNullComparison(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + # cache the found function return type to accelerate later checking in this file. FuncReturnTypeDict = {} - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, StartLine, ID @@ -1878,7 +1903,7 @@ def CheckPointerNullComparison(FullFileName): PSL = [] for Result in ResultSet: PSL.append([Result[0], Result[1], Result[2]]) - + SqlStatement = """ select BodyStartLine, EndLine, Header, Modifier, ID from Function where BelongsToFile = %d @@ -1887,13 +1912,13 @@ def CheckPointerNullComparison(FullFileName): FL = [] for Result in ResultSet: FL.append([Result[0], Result[1], Result[2], Result[3], Result[4]]) - + p = GetFuncDeclPattern() for Str in PSL: FuncRecord = GetFuncContainsPE(Str[1], FL) if FuncRecord == None: continue - + for Exp in GetPredicateListFromPredicateExpStr(Str[0]): PredInfo = SplitPredicateStr(Exp) if PredInfo[1] == None: @@ -1906,9 +1931,9 @@ def CheckPointerNullComparison(FullFileName): PredVarStr = PredVarStr[0:PredVarStr.find('(')] SearchInCache = True # Only direct function call using IsFuncCall branch. Multi-level ref. function call is considered a variable. - if TmpStr.startswith(PredVarStr): + if TmpStr.startswith(PredVarStr): IsFuncCall = True - + if PredVarStr.strip() in IgnoredKeywordList: continue StarList = [] @@ -1922,28 +1947,29 @@ def CheckPointerNullComparison(FullFileName): if Type.find('*') != -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_COMPARISON_NULL_TYPE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) continue - + if PredVarStr in FuncReturnTypeDict: continue - + Type = GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall, None, StarList) if SearchInCache: FuncReturnTypeDict[PredVarStr] = Type if Type == None: continue + Type = GetTypeFromArray(Type, PredVarStr) if Type.find('*') != -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_COMPARISON_NULL_TYPE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) def CheckNonBooleanValueComparison(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + # cache the found function return type to accelerate later checking in this file. FuncReturnTypeDict = {} - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, StartLine, ID @@ -1956,7 +1982,7 @@ def CheckNonBooleanValueComparison(FullFileName): PSL = [] for Result in ResultSet: PSL.append([Result[0], Result[1], Result[2]]) - + SqlStatement = """ select BodyStartLine, EndLine, Header, Modifier, ID from Function where BelongsToFile = %d @@ -1965,13 +1991,13 @@ def CheckNonBooleanValueComparison(FullFileName): FL = [] for Result in ResultSet: FL.append([Result[0], Result[1], Result[2], Result[3], Result[4]]) - + p = GetFuncDeclPattern() for Str in PSL: FuncRecord = GetFuncContainsPE(Str[1], FL) if FuncRecord == None: continue - + for Exp in GetPredicateListFromPredicateExpStr(Str[0]): # if p.match(Exp): # continue @@ -1986,9 +2012,9 @@ def CheckNonBooleanValueComparison(FullFileName): PredVarStr = PredVarStr[0:PredVarStr.find('(')] SearchInCache = True # Only direct function call using IsFuncCall branch. Multi-level ref. function call is considered a variable. - if TmpStr.startswith(PredVarStr): + if TmpStr.startswith(PredVarStr): IsFuncCall = True - + if PredVarStr.strip() in IgnoredKeywordList: continue StarList = [] @@ -1996,17 +2022,17 @@ def CheckNonBooleanValueComparison(FullFileName): # No variable found, maybe value first? like (0 == VarName) if len(PredVarList) == 0: continue - + if SearchInCache: Type = FuncReturnTypeDict.get(PredVarStr) if Type != None: if Type.find('BOOLEAN') == -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_NO_BOOLEAN_OPERATOR, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) continue - + if PredVarStr in FuncReturnTypeDict: continue - + Type = GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall, 'BOOLEAN', StarList) if SearchInCache: FuncReturnTypeDict[PredVarStr] = Type @@ -2014,18 +2040,18 @@ def CheckNonBooleanValueComparison(FullFileName): continue if Type.find('BOOLEAN') == -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_NO_BOOLEAN_OPERATOR, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) - + def CheckBooleanValueComparison(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + # cache the found function return type to accelerate later checking in this file. FuncReturnTypeDict = {} - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, StartLine, ID @@ -2038,7 +2064,7 @@ def CheckBooleanValueComparison(FullFileName): PSL = [] for Result in ResultSet: PSL.append([Result[0], Result[1], Result[2]]) - + SqlStatement = """ select BodyStartLine, EndLine, Header, Modifier, ID from Function where BelongsToFile = %d @@ -2047,13 +2073,13 @@ def CheckBooleanValueComparison(FullFileName): FL = [] for Result in ResultSet: FL.append([Result[0], Result[1], Result[2], Result[3], Result[4]]) - + p = GetFuncDeclPattern() for Str in PSL: FuncRecord = GetFuncContainsPE(Str[1], FL) if FuncRecord == None: continue - + for Exp in GetPredicateListFromPredicateExpStr(Str[0]): PredInfo = SplitPredicateStr(Exp) if PredInfo[1] in ('==', '!=') and PredInfo[0][1] in ('TRUE', 'FALSE'): @@ -2066,9 +2092,9 @@ def CheckBooleanValueComparison(FullFileName): PredVarStr = PredVarStr[0:PredVarStr.find('(')] SearchInCache = True # Only direct function call using IsFuncCall branch. Multi-level ref. function call is considered a variable. - if TmpStr.startswith(PredVarStr): + if TmpStr.startswith(PredVarStr): IsFuncCall = True - + if PredVarStr.strip() in IgnoredKeywordList: continue StarList = [] @@ -2076,17 +2102,17 @@ def CheckBooleanValueComparison(FullFileName): # No variable found, maybe value first? like (0 == VarName) if len(PredVarList) == 0: continue - + if SearchInCache: Type = FuncReturnTypeDict.get(PredVarStr) if Type != None: if Type.find('BOOLEAN') != -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_BOOLEAN_VALUE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) continue - + if PredVarStr in FuncReturnTypeDict: continue - + Type = GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall, 'BOOLEAN', StarList) if SearchInCache: FuncReturnTypeDict[PredVarStr] = Type @@ -2094,15 +2120,15 @@ def CheckBooleanValueComparison(FullFileName): continue if Type.find('BOOLEAN') != -1: PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_BOOLEAN_VALUE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) - + def CheckHeaderFileData(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select ID, Modifier @@ -2113,7 +2139,7 @@ def CheckHeaderFileData(FullFileName): for Result in ResultSet: if not Result[1].startswith('extern'): PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_DATA, 'Variable definition appears in header file', FileTable, Result[0]) - + SqlStatement = """ select ID from Function where BelongsToFile = %d @@ -2126,11 +2152,11 @@ def CheckHeaderFileData(FullFileName): def CheckHeaderFileIfndef(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, StartLine @@ -2151,7 +2177,7 @@ def CheckHeaderFileIfndef(FullFileName): if not Result[0].startswith('/*') and not Result[0].startswith('//'): PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_2, '', 'File', FileID) break - + SqlStatement = """ select Value from %s where StartLine > (select max(EndLine) from %s where Model = %d) @@ -2164,11 +2190,11 @@ def CheckHeaderFileIfndef(FullFileName): def CheckDoxygenCommand(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, ID @@ -2198,17 +2224,17 @@ def CheckDoxygenCommand(FullFileName): RealCmd = Part[1:Index] if RealCmd not in DoxygenCommandList: PrintErrorMsg(ERROR_DOXYGEN_CHECK_COMMAND, 'Unknown doxygen command %s' % Part, FileTable, Result[1]) - - + + def CheckDoxygenTripleForwardSlash(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() - + SqlStatement = """ select ID, BodyStartLine, BodyStartColumn, EndLine, EndColumn from Function where BelongsToFile = %d @@ -2216,17 +2242,17 @@ def CheckDoxygenTripleForwardSlash(FullFileName): ResultSet = Db.TblFile.Exec(SqlStatement) if len(ResultSet) == 0: return - - FuncDefSet = [] + + FuncDefSet = [] for Result in ResultSet: FuncDefSet.append(Result) - - + + FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, ID, StartLine, StartColumn, EndLine, EndColumn from %s - where Model = %d - + where Model = %d + """ % (FileTable, DataClass.MODEL_IDENTIFIER_COMMENT) ResultSet = Db.TblFile.Exec(SqlStatement) CommentSet = [] @@ -2235,8 +2261,8 @@ def CheckDoxygenTripleForwardSlash(FullFileName): CommentSet.append(Result) except: print 'Unrecognized chars in comment of file %s', FullFileName - - + + for Result in CommentSet: CommentStr = Result[0] StartLine = Result[2] @@ -2245,7 +2271,7 @@ def CheckDoxygenTripleForwardSlash(FullFileName): EndColumn = Result[5] if not CommentStr.startswith('///<'): continue - + Found = False for FuncDef in FuncDefSet: if StartLine == FuncDef[1] and StartColumn > FuncDef[2] and EndLine == FuncDef[3] and EndColumn < FuncDef[4]: @@ -2266,11 +2292,11 @@ def CheckDoxygenTripleForwardSlash(FullFileName): def CheckFileHeaderDoxygenComments(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, ID @@ -2281,7 +2307,7 @@ def CheckFileHeaderDoxygenComments(FullFileName): if len(ResultSet) == 0: PrintErrorMsg(ERROR_HEADER_CHECK_FILE, 'No Comment appear at the very beginning of file.', 'File', FileID) return ErrorMsgList - + for Result in ResultSet: CommentStr = Result[0] if not CommentStr.startswith('/** @file'): @@ -2293,18 +2319,18 @@ def CheckFileHeaderDoxygenComments(FullFileName): def CheckFuncHeaderDoxygenComments(FullFileName): ErrorMsgList = [] - + FileID = GetTableID(FullFileName, ErrorMsgList) if FileID < 0: return ErrorMsgList - + Db = GetDB() FileTable = 'Identifier' + str(FileID) SqlStatement = """ select Value, StartLine, EndLine, ID from %s where Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_COMMENT) - + ResultSet = Db.TblFile.Exec(SqlStatement) CommentSet = [] try: @@ -2312,7 +2338,7 @@ def CheckFuncHeaderDoxygenComments(FullFileName): CommentSet.append(Result) except: print 'Unrecognized chars in comment of file %s', FullFileName - + # Func Decl check SqlStatement = """ select Modifier, Name, StartLine, ID, Value from %s @@ -2329,13 +2355,13 @@ def CheckFuncHeaderDoxygenComments(FullFileName): continue ErrorMsgList.append('Line %d :Function %s has NO comment immediately preceding it.' % (Result[2], Result[1])) PrintErrorMsg(ERROR_HEADER_CHECK_FUNCTION, 'Function [%s] has NO comment immediately preceding it.' % (FuncName), FileTable, Result[3]) - + # Func Def check SqlStatement = """ select Value, StartLine, EndLine, ID from %s where Model = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_FUNCTION_HEADER) - + ResultSet = Db.TblFile.Exec(SqlStatement) CommentSet = [] try: @@ -2343,7 +2369,7 @@ def CheckFuncHeaderDoxygenComments(FullFileName): CommentSet.append(Result) except: print 'Unrecognized chars in comment of file %s', FullFileName - + SqlStatement = """ select Modifier, Header, StartLine, ID, Name from Function where BelongsToFile = %d @@ -2376,9 +2402,9 @@ def GetDoxygenStrFromComment(Str): while i < len(ParamTagList): DoxygenStrList.append('@param' + ParamTagList[i]) i += 1 - + Str = ParamTagList[0] - + RetvalTagList = ParamTagList[-1].split('@retval') if len(RetvalTagList) > 1: if len(ParamTagList) > 1: @@ -2387,7 +2413,7 @@ def GetDoxygenStrFromComment(Str): while i < len(RetvalTagList): DoxygenStrList.append('@retval' + RetvalTagList[i]) i += 1 - + ReturnTagList = RetvalTagList[-1].split('@return') if len(ReturnTagList) > 1: if len(RetvalTagList) > 1: @@ -2398,12 +2424,12 @@ def GetDoxygenStrFromComment(Str): while i < len(ReturnTagList): DoxygenStrList.append('@return' + ReturnTagList[i]) i += 1 - + if len(DoxygenStrList) > 0: DoxygenStrList[-1] = DoxygenStrList[-1].rstrip('--*/') - + return DoxygenStrList - + def CheckGeneralDoxygenCommentLayout(Str, StartLine, ErrorMsgList, CommentId = -1, TableName = ''): #/** --*/ @retval after @param if not Str.startswith('/**'): @@ -2417,10 +2443,10 @@ def CheckGeneralDoxygenCommentLayout(Str, StartLine, ErrorMsgList, CommentId = - if (FirstRetvalIndex > 0) and (LastParamIndex > 0) and (FirstRetvalIndex < LastParamIndex): ErrorMsgList.append('Line %d : @retval appear before @param ' % StartLine) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, @retval appear before @param ', TableName, CommentId) - + def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, FuncStartLine, CommentStr, CommentStartLine, ErrorMsgList, CommentId = -1, TableName = ''): - - ParamList = GetParamList(FuncHeader) + + ParamList = GetParamList(FuncHeader) CheckGeneralDoxygenCommentLayout(CommentStr, CommentStartLine, ErrorMsgList, CommentId, TableName) DescriptionStr = CommentStr DoxygenStrList = GetDoxygenStrFromComment(DescriptionStr) @@ -2456,32 +2482,32 @@ def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, Fu if Part.strip() == 'IN': InOutStr += 'in' if Part.strip() == 'OUT': - if InOutStr != '': + if InOutStr != '': InOutStr += ', out' else: InOutStr = 'out' - + if InOutStr != '': if Tag.find('['+InOutStr+']') == -1: - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT have %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), '['+InOutStr+']')) + ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT have %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), '['+InOutStr+']')) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, \"%s\" does NOT have %s ' % ((TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), '['+InOutStr+']'), TableName, CommentId) if Tag.find(ParamName) == -1 and ParamName != 'VOID' and ParamName != 'void': - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT consistent with parameter name %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName)) + ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT consistent with parameter name %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName)) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, \"%s\" does NOT consistent with parameter name %s ' % ((TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName), TableName, CommentId) Index += 1 - + if Index < ParamNumber: ErrorMsgList.append('Line %d : Number of doxygen tags in comment less than number of function parameters' % CommentStartLine) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'Number of doxygen tags in comment less than number of function parameters ', TableName, CommentId) # VOID return type, NOT VOID*. VOID* should be matched with a doxygen tag. if (FuncModifier.find('VOID') != -1 or FuncModifier.find('void') != -1) and FuncModifier.find('*') == -1: - + # assume we allow a return description tag for void func. return. that's why 'DoxygenTagNumber - 1' is used instead of 'DoxygenTagNumber' if Index < DoxygenTagNumber - 1 or (Index < DoxygenTagNumber and DoxygenStrList[Index].startswith('@retval')): ErrorMsgList.append('Line %d : VOID return type need NO doxygen tags in comment' % CommentStartLine) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'VOID return type need no doxygen tags in comment ', TableName, CommentId) else: - if Index < DoxygenTagNumber and not DoxygenStrList[Index].startswith('@retval') and not DoxygenStrList[Index].startswith('@return'): + if Index < DoxygenTagNumber and not DoxygenStrList[Index].startswith('@retval') and not DoxygenStrList[Index].startswith('@return'): ErrorMsgList.append('Line %d : Number of @param doxygen tags in comment does NOT match number of function parameters' % CommentStartLine) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'Number of @param doxygen tags in comment does NOT match number of function parameters ', TableName, CommentId) else: @@ -2496,7 +2522,7 @@ if __name__ == '__main__': # EdkLogger.Initialize() # EdkLogger.SetLevel(EdkLogger.QUIET) -# CollectSourceCodeDataIntoDB(sys.argv[1]) +# CollectSourceCodeDataIntoDB(sys.argv[1]) MsgList = CheckFuncHeaderDoxygenComments('C:\\Combo\\R9\\LakeportX64Dev\\FlashDevicePkg\\Library\\SpiFlashChipM25P64\\SpiFlashChipM25P64.c') for Msg in MsgList: print Msg diff --git a/BaseTools/Source/Python/Ecc/exception.xml b/BaseTools/Source/Python/Ecc/exception.xml index 0dc67527b5..58cb600e46 100644 --- a/BaseTools/Source/Python/Ecc/exception.xml +++ b/BaseTools/Source/Python/Ecc/exception.xml @@ -1,4 +1,14 @@ + + Copyright (c) 2009 - 2010, Intel Corporation. + + All rights reserved. + This program and the accompanying materials are licensed and made available + under the terms and conditions of the BSD License which accompanies this distribution. + The full text of the license may be found at http://opensource.org/licenses/bsd-license.php + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES + OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + __debugbreak 4002 -- cgit v1.2.3