diff options
Diffstat (limited to 'BaseTools/Source/Python/Ecc')
-rw-r--r-- | BaseTools/Source/Python/Ecc/CLexer.py | 9856 | ||||
-rw-r--r-- | BaseTools/Source/Python/Ecc/CParser.py | 37500 | ||||
-rw-r--r-- | BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py | 3706 | ||||
-rw-r--r-- | BaseTools/Source/Python/Ecc/Xml/__init__.py | 38 |
4 files changed, 25550 insertions, 25550 deletions
diff --git a/BaseTools/Source/Python/Ecc/CLexer.py b/BaseTools/Source/Python/Ecc/CLexer.py index a72d4ee3c2..a496f43440 100644 --- a/BaseTools/Source/Python/Ecc/CLexer.py +++ b/BaseTools/Source/Python/Ecc/CLexer.py @@ -1,7 +1,7 @@ -# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 - -from antlr3 import * -from antlr3.compat import set, frozenset +# $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.
@@ -21,4927 +21,4927 @@ from antlr3.compat import set, frozenset # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
- - - -# for convenience in actions -HIDDEN = BaseRecognizer.HIDDEN - -# token types -T114=114 -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 -T31=31 -LINE_COMMENT=23 -IntegerTypeSuffix=14 -CHARACTER_LITERAL=8 -T49=49 -T48=48 -T100=100 -T43=43 -T42=42 -T102=102 -T41=41 -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 -T53=53 -T56=56 -T55=55 -T58=58 -T57=57 -T75=75 -T76=76 -T73=73 -T74=74 -T79=79 -T77=77 -T78=78 -Exponent=15 -HexDigit=13 -T72=72 -T71=71 -T70=70 -T62=62 -T63=63 -T64=64 -T65=65 -T66=66 -T67=67 -T68=68 -T69=69 -IDENTIFIER=4 -UnicodeVocabulary=21 -HEX_LITERAL=5 -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 -T91=91 -T90=90 -T88=88 -T89=89 -T84=84 -T85=85 -T86=86 -T87=87 -UnicodeEscape=18 -T81=81 -T80=80 -T83=83 -OctalEscape=17 -T82=82 - -class CLexer(Lexer): - - grammarFileName = "C.g" - - def __init__(self, input=None): - Lexer.__init__(self, input) - self.dfa25 = self.DFA25( - self, 25, - eot = self.DFA25_eot, - eof = self.DFA25_eof, - min = self.DFA25_min, - max = self.DFA25_max, - accept = self.DFA25_accept, - special = self.DFA25_special, - transition = self.DFA25_transition - ) - self.dfa35 = self.DFA35( - self, 35, - eot = self.DFA35_eot, - eof = self.DFA35_eof, - min = self.DFA35_min, - max = self.DFA35_max, - accept = self.DFA35_accept, - special = self.DFA35_special, - transition = self.DFA35_transition - ) - - - - - - - # $ANTLR start T25 - def mT25(self, ): - - try: - self.type = T25 - - # C.g:27:5: ( ';' ) - # C.g:27:7: ';' - self.match(u';') - - - - - - finally: - - pass - - # $ANTLR end T25 - - - - # $ANTLR start T26 - def mT26(self, ): - - try: - self.type = T26 - - # C.g:28:5: ( 'typedef' ) - # C.g:28:7: 'typedef' - self.match("typedef") - - - - - - - finally: - - pass - - # $ANTLR end T26 - - - - # $ANTLR start T27 - def mT27(self, ): - - try: - self.type = T27 - - # C.g:29:5: ( ',' ) - # C.g:29:7: ',' - self.match(u',') - - - - - - finally: - - pass - - # $ANTLR end T27 - - - - # $ANTLR start T28 - def mT28(self, ): - - try: - self.type = T28 - - # C.g:30:5: ( '=' ) - # C.g:30:7: '=' - self.match(u'=') - - - - - - finally: - - pass - - # $ANTLR end T28 - - - - # $ANTLR start T29 - def mT29(self, ): - - try: - self.type = T29 - - # C.g:31:5: ( 'extern' ) - # C.g:31:7: 'extern' - self.match("extern") - - - - - - - finally: - - pass - - # $ANTLR end T29 - - - - # $ANTLR start T30 - def mT30(self, ): - - try: - self.type = T30 - - # C.g:32:5: ( 'static' ) - # C.g:32:7: 'static' - self.match("static") - - - - - - - finally: - - pass - - # $ANTLR end T30 - - - - # $ANTLR start T31 - def mT31(self, ): - - try: - self.type = T31 - - # C.g:33:5: ( 'auto' ) - # C.g:33:7: 'auto' - self.match("auto") - - - - - - - finally: - - pass - - # $ANTLR end T31 - - - - # $ANTLR start T32 - def mT32(self, ): - - try: - self.type = T32 - - # C.g:34:5: ( 'register' ) - # C.g:34:7: 'register' - self.match("register") - - - - - - - finally: - - pass - - # $ANTLR end T32 - - - - # $ANTLR start T33 - def mT33(self, ): - - try: - self.type = T33 - - # C.g:35:5: ( 'STATIC' ) - # C.g:35:7: 'STATIC' - self.match("STATIC") - - - - - - - finally: - - pass - - # $ANTLR end T33 - - - - # $ANTLR start T34 - def mT34(self, ): - - try: - self.type = T34 - - # C.g:36:5: ( 'void' ) - # C.g:36:7: 'void' - self.match("void") - - - - - - - finally: - - pass - - # $ANTLR end T34 - - - - # $ANTLR start T35 - def mT35(self, ): - - try: - self.type = T35 - - # C.g:37:5: ( 'char' ) - # C.g:37:7: 'char' - self.match("char") - - - - - - - finally: - - pass - - # $ANTLR end T35 - - - - # $ANTLR start T36 - def mT36(self, ): - - try: - self.type = T36 - - # C.g:38:5: ( 'short' ) - # C.g:38:7: 'short' - self.match("short") - - - - - - - finally: - - pass - - # $ANTLR end T36 - - - - # $ANTLR start T37 - def mT37(self, ): - - try: - self.type = T37 - - # C.g:39:5: ( 'int' ) - # C.g:39:7: 'int' - self.match("int") - - - - - - - finally: - - pass - - # $ANTLR end T37 - - - - # $ANTLR start T38 - def mT38(self, ): - - try: - self.type = T38 - - # C.g:40:5: ( 'long' ) - # C.g:40:7: 'long' - self.match("long") - - - - - - - finally: - - pass - - # $ANTLR end T38 - - - - # $ANTLR start T39 - def mT39(self, ): - - try: - self.type = T39 - - # C.g:41:5: ( 'float' ) - # C.g:41:7: 'float' - self.match("float") - - - - - - - finally: - - pass - - # $ANTLR end T39 - - - - # $ANTLR start T40 - def mT40(self, ): - - try: - self.type = T40 - - # C.g:42:5: ( 'double' ) - # C.g:42:7: 'double' - self.match("double") - - - - - - - finally: - - pass - - # $ANTLR end T40 - - - - # $ANTLR start T41 - def mT41(self, ): - - try: - self.type = T41 - - # C.g:43:5: ( 'signed' ) - # C.g:43:7: 'signed' - self.match("signed") - - - - - - - finally: - - pass - - # $ANTLR end T41 - - - - # $ANTLR start T42 - def mT42(self, ): - - try: - self.type = T42 - - # C.g:44:5: ( 'unsigned' ) - # C.g:44:7: 'unsigned' - self.match("unsigned") - - - - - - - finally: - - pass - - # $ANTLR end T42 - - - - # $ANTLR start T43 - def mT43(self, ): - - try: - self.type = T43 - - # C.g:45:5: ( '{' ) - # C.g:45:7: '{' - self.match(u'{') - - - - - - finally: - - pass - - # $ANTLR end T43 - - - - # $ANTLR start T44 - def mT44(self, ): - - try: - self.type = T44 - - # C.g:46:5: ( '}' ) - # C.g:46:7: '}' - self.match(u'}') - - - - - - finally: - - pass - - # $ANTLR end T44 - - - - # $ANTLR start T45 - def mT45(self, ): - - try: - self.type = T45 - - # C.g:47:5: ( 'struct' ) - # C.g:47:7: 'struct' - self.match("struct") - - - - - - - finally: - - pass - - # $ANTLR end T45 - - - - # $ANTLR start T46 - def mT46(self, ): - - try: - self.type = T46 - - # C.g:48:5: ( 'union' ) - # C.g:48:7: 'union' - self.match("union") - - - - - - - finally: - - pass - - # $ANTLR end T46 - - - - # $ANTLR start T47 - def mT47(self, ): - - try: - self.type = T47 - - # C.g:49:5: ( ':' ) - # C.g:49:7: ':' - self.match(u':') - - - - - - finally: - - pass - - # $ANTLR end T47 - - - - # $ANTLR start T48 - def mT48(self, ): - - try: - self.type = T48 - - # C.g:50:5: ( 'enum' ) - # C.g:50:7: 'enum' - self.match("enum") - - - - - - - finally: - - pass - - # $ANTLR end T48 - - - - # $ANTLR start T49 - def mT49(self, ): - - try: - self.type = T49 - - # C.g:51:5: ( 'const' ) - # C.g:51:7: 'const' - self.match("const") - - - - - - - finally: - - pass - - # $ANTLR end T49 - - - - # $ANTLR start T50 - def mT50(self, ): - - try: - self.type = T50 - - # C.g:52:5: ( 'volatile' ) - # C.g:52:7: 'volatile' - self.match("volatile") - - - - - - - finally: - - pass - - # $ANTLR end T50 - - - - # $ANTLR start T51 - def mT51(self, ): - - try: - self.type = T51 - - # C.g:53:5: ( 'IN' ) - # C.g:53:7: 'IN' - self.match("IN") - - - - - - - finally: - - pass - - # $ANTLR end T51 - - - - # $ANTLR start T52 - def mT52(self, ): - - try: - self.type = T52 - - # C.g:54:5: ( 'OUT' ) - # C.g:54:7: 'OUT' - self.match("OUT") - - - - - - - finally: - - pass - - # $ANTLR end T52 - - - - # $ANTLR start T53 - def mT53(self, ): - - try: - self.type = T53 - - # C.g:55:5: ( 'OPTIONAL' ) - # C.g:55:7: 'OPTIONAL' - self.match("OPTIONAL") - - - - - - - finally: - - pass - - # $ANTLR end T53 - - - - # $ANTLR start T54 - def mT54(self, ): - - try: - self.type = T54 - - # C.g:56:5: ( 'CONST' ) - # C.g:56:7: 'CONST' - self.match("CONST") - - - - - - - finally: - - pass - - # $ANTLR end T54 - - - - # $ANTLR start T55 - def mT55(self, ): - - try: - self.type = T55 - - # C.g:57:5: ( 'UNALIGNED' ) - # C.g:57:7: 'UNALIGNED' - self.match("UNALIGNED") - - - - - - - finally: - - pass - - # $ANTLR end T55 - - - - # $ANTLR start T56 - def mT56(self, ): - - try: - self.type = T56 - - # C.g:58:5: ( 'VOLATILE' ) - # C.g:58:7: 'VOLATILE' - self.match("VOLATILE") - - - - - - - finally: - - pass - - # $ANTLR end T56 - - - - # $ANTLR start T57 - def mT57(self, ): - - try: - self.type = T57 - - # C.g:59:5: ( 'GLOBAL_REMOVE_IF_UNREFERENCED' ) - # C.g:59:7: 'GLOBAL_REMOVE_IF_UNREFERENCED' - self.match("GLOBAL_REMOVE_IF_UNREFERENCED") - - - - - - - finally: - - pass - - # $ANTLR end T57 - - - - # $ANTLR start T58 - def mT58(self, ): - - try: - self.type = T58 - - # C.g:60:5: ( 'EFIAPI' ) - # C.g:60:7: 'EFIAPI' - self.match("EFIAPI") - - - - - - - finally: - - pass - - # $ANTLR end T58 - - - - # $ANTLR start T59 - def mT59(self, ): - - try: - self.type = T59 - - # C.g:61:5: ( 'EFI_BOOTSERVICE' ) - # C.g:61:7: 'EFI_BOOTSERVICE' - self.match("EFI_BOOTSERVICE") - - - - - - - finally: - - pass - - # $ANTLR end T59 - - - - # $ANTLR start T60 - def mT60(self, ): - - try: - self.type = T60 - - # C.g:62:5: ( 'EFI_RUNTIMESERVICE' ) - # C.g:62:7: 'EFI_RUNTIMESERVICE' - self.match("EFI_RUNTIMESERVICE") - - - - - - - finally: - - pass - - # $ANTLR end T60 - - - - # $ANTLR start T61 - def mT61(self, ): - - try: - self.type = T61 - - # C.g:63:5: ( 'PACKED' ) - # C.g:63:7: 'PACKED' - self.match("PACKED") - - - - - - - finally: - - pass - - # $ANTLR end T61 - - - - # $ANTLR start T62 - def mT62(self, ): - - try: - self.type = T62 - - # C.g:64:5: ( '(' ) - # C.g:64:7: '(' - self.match(u'(') - - - - - - finally: - - pass - - # $ANTLR end T62 - - - - # $ANTLR start T63 - def mT63(self, ): - - try: - self.type = T63 - - # C.g:65:5: ( ')' ) - # C.g:65:7: ')' - self.match(u')') - - - - - - finally: - - pass - - # $ANTLR end T63 - - - - # $ANTLR start T64 - def mT64(self, ): - - try: - self.type = T64 - - # C.g:66:5: ( '[' ) - # C.g:66:7: '[' - self.match(u'[') - - - - - - finally: - - pass - - # $ANTLR end T64 - - - - # $ANTLR start T65 - def mT65(self, ): - - try: - self.type = T65 - - # C.g:67:5: ( ']' ) - # C.g:67:7: ']' - self.match(u']') - - - - - - finally: - - pass - - # $ANTLR end T65 - - - - # $ANTLR start T66 - def mT66(self, ): - - try: - self.type = T66 - - # C.g:68:5: ( '*' ) - # C.g:68:7: '*' - self.match(u'*') - - - - - - finally: - - pass - - # $ANTLR end T66 - - - - # $ANTLR start T67 - def mT67(self, ): - - try: - self.type = T67 - - # C.g:69:5: ( '...' ) - # C.g:69:7: '...' - self.match("...") - - - - - - - finally: - - pass - - # $ANTLR end T67 - - - - # $ANTLR start T68 - def mT68(self, ): - - try: - self.type = T68 - - # C.g:70:5: ( '+' ) - # C.g:70:7: '+' - self.match(u'+') - - - - - - finally: - - pass - - # $ANTLR end T68 - - - - # $ANTLR start T69 - def mT69(self, ): - - try: - self.type = T69 - - # C.g:71:5: ( '-' ) - # C.g:71:7: '-' - self.match(u'-') - - - - - - finally: - - pass - - # $ANTLR end T69 - - - - # $ANTLR start T70 - def mT70(self, ): - - try: - self.type = T70 - - # C.g:72:5: ( '/' ) - # C.g:72:7: '/' - self.match(u'/') - - - - - - finally: - - pass - - # $ANTLR end T70 - - - - # $ANTLR start T71 - def mT71(self, ): - - try: - self.type = T71 - - # C.g:73:5: ( '%' ) - # C.g:73:7: '%' - self.match(u'%') - - - - - - finally: - - pass - - # $ANTLR end T71 - - - - # $ANTLR start T72 - def mT72(self, ): - - try: - self.type = T72 - - # C.g:74:5: ( '++' ) - # C.g:74:7: '++' - self.match("++") - - - - - - - finally: - - pass - - # $ANTLR end T72 - - - - # $ANTLR start T73 - def mT73(self, ): - - try: - self.type = T73 - - # C.g:75:5: ( '--' ) - # C.g:75:7: '--' - self.match("--") - - - - - - - finally: - - pass - - # $ANTLR end T73 - - - - # $ANTLR start T74 - def mT74(self, ): - - try: - self.type = T74 - - # C.g:76:5: ( 'sizeof' ) - # C.g:76:7: 'sizeof' - self.match("sizeof") - - - - - - - finally: - - pass - - # $ANTLR end T74 - - - - # $ANTLR start T75 - def mT75(self, ): - - try: - self.type = T75 - - # C.g:77:5: ( '.' ) - # C.g:77:7: '.' - self.match(u'.') - - - - - - finally: - - pass - - # $ANTLR end T75 - - - - # $ANTLR start T76 - def mT76(self, ): - - try: - self.type = T76 - - # C.g:78:5: ( '->' ) - # C.g:78:7: '->' - self.match("->") - - - - - - - finally: - - pass - - # $ANTLR end T76 - - - - # $ANTLR start T77 - def mT77(self, ): - - try: - self.type = T77 - - # C.g:79:5: ( '&' ) - # C.g:79:7: '&' - self.match(u'&') - - - - - - finally: - - pass - - # $ANTLR end T77 - - - - # $ANTLR start T78 - def mT78(self, ): - - try: - self.type = T78 - - # C.g:80:5: ( '~' ) - # C.g:80:7: '~' - self.match(u'~') - - - - - - finally: - - pass - - # $ANTLR end T78 - - - - # $ANTLR start T79 - def mT79(self, ): - - try: - self.type = T79 - - # C.g:81:5: ( '!' ) - # C.g:81:7: '!' - self.match(u'!') - - - - - - finally: - - pass - - # $ANTLR end T79 - - - - # $ANTLR start T80 - def mT80(self, ): - - try: - self.type = T80 - - # C.g:82:5: ( '*=' ) - # C.g:82:7: '*=' - self.match("*=") - - - - - - - finally: - - pass - - # $ANTLR end T80 - - - - # $ANTLR start T81 - def mT81(self, ): - - try: - self.type = T81 - - # C.g:83:5: ( '/=' ) - # C.g:83:7: '/=' - self.match("/=") - - - - - - - finally: - - pass - - # $ANTLR end T81 - - - - # $ANTLR start T82 - def mT82(self, ): - - try: - self.type = T82 - - # C.g:84:5: ( '%=' ) - # C.g:84:7: '%=' - self.match("%=") - - - - - - - finally: - - pass - - # $ANTLR end T82 - - - - # $ANTLR start T83 - def mT83(self, ): - - try: - self.type = T83 - - # C.g:85:5: ( '+=' ) - # C.g:85:7: '+=' - self.match("+=") - - - - - - - finally: - - pass - - # $ANTLR end T83 - - - - # $ANTLR start T84 - def mT84(self, ): - - try: - self.type = T84 - - # C.g:86:5: ( '-=' ) - # C.g:86:7: '-=' - self.match("-=") - - - - - - - finally: - - pass - - # $ANTLR end T84 - - - - # $ANTLR start T85 - def mT85(self, ): - - try: - self.type = T85 - - # C.g:87:5: ( '<<=' ) - # C.g:87:7: '<<=' - self.match("<<=") - - - - - - - finally: - - pass - - # $ANTLR end T85 - - - - # $ANTLR start T86 - def mT86(self, ): - - try: - self.type = T86 - - # C.g:88:5: ( '>>=' ) - # C.g:88:7: '>>=' - self.match(">>=") - - - - - - - finally: - - pass - - # $ANTLR end T86 - - - - # $ANTLR start T87 - def mT87(self, ): - - try: - self.type = T87 - - # C.g:89:5: ( '&=' ) - # C.g:89:7: '&=' - self.match("&=") - - - - - - - finally: - - pass - - # $ANTLR end T87 - - - - # $ANTLR start T88 - def mT88(self, ): - - try: - self.type = T88 - - # C.g:90:5: ( '^=' ) - # C.g:90:7: '^=' - self.match("^=") - - - - - - - finally: - - pass - - # $ANTLR end T88 - - - - # $ANTLR start T89 - def mT89(self, ): - - try: - self.type = T89 - - # C.g:91:5: ( '|=' ) - # C.g:91:7: '|=' - self.match("|=") - - - - - - - finally: - - pass - - # $ANTLR end T89 - - - - # $ANTLR start T90 - def mT90(self, ): - - try: - self.type = T90 - - # C.g:92:5: ( '?' ) - # C.g:92:7: '?' - self.match(u'?') - - - - - - finally: - - pass - - # $ANTLR end T90 - - - - # $ANTLR start T91 - def mT91(self, ): - - try: - self.type = T91 - - # C.g:93:5: ( '||' ) - # C.g:93:7: '||' - self.match("||") - - - - - - - finally: - - pass - - # $ANTLR end T91 - - - - # $ANTLR start T92 - def mT92(self, ): - - try: - self.type = T92 - - # C.g:94:5: ( '&&' ) - # C.g:94:7: '&&' - self.match("&&") - - - - - - - finally: - - pass - - # $ANTLR end T92 - - - - # $ANTLR start T93 - def mT93(self, ): - - try: - self.type = T93 - - # C.g:95:5: ( '|' ) - # C.g:95:7: '|' - self.match(u'|') - - - - - - finally: - - pass - - # $ANTLR end T93 - - - - # $ANTLR start T94 - def mT94(self, ): - - try: - self.type = T94 - - # C.g:96:5: ( '^' ) - # C.g:96:7: '^' - self.match(u'^') - - - - - - finally: - - pass - - # $ANTLR end T94 - - - - # $ANTLR start T95 - def mT95(self, ): - - try: - self.type = T95 - - # C.g:97:5: ( '==' ) - # C.g:97:7: '==' - self.match("==") - - - - - - - finally: - - pass - - # $ANTLR end T95 - - - - # $ANTLR start T96 - def mT96(self, ): - - try: - self.type = T96 - - # C.g:98:5: ( '!=' ) - # C.g:98:7: '!=' - self.match("!=") - - - - - - - finally: - - pass - - # $ANTLR end T96 - - - - # $ANTLR start T97 - def mT97(self, ): - - try: - self.type = T97 - - # C.g:99:5: ( '<' ) - # C.g:99:7: '<' - self.match(u'<') - - - - - - finally: - - pass - - # $ANTLR end T97 - - - - # $ANTLR start T98 - def mT98(self, ): - - try: - self.type = T98 - - # C.g:100:5: ( '>' ) - # C.g:100:7: '>' - self.match(u'>') - - - - - - finally: - - pass - - # $ANTLR end T98 - - - - # $ANTLR start T99 - def mT99(self, ): - - try: - self.type = T99 - - # C.g:101:5: ( '<=' ) - # C.g:101:7: '<=' - self.match("<=") - - - - - - - finally: - - pass - - # $ANTLR end T99 - - - - # $ANTLR start T100 - def mT100(self, ): - - try: - self.type = T100 - - # C.g:102:6: ( '>=' ) - # C.g:102:8: '>=' - self.match(">=") - - - - - - - finally: - - pass - - # $ANTLR end T100 - - - - # $ANTLR start T101 - def mT101(self, ): - - try: - self.type = T101 - - # C.g:103:6: ( '<<' ) - # C.g:103:8: '<<' - self.match("<<") - - - - - - - finally: - - pass - - # $ANTLR end T101 - - - - # $ANTLR start T102 - def mT102(self, ): - - try: - self.type = T102 - - # C.g:104:6: ( '>>' ) - # C.g:104:8: '>>' - self.match(">>") - - - - - - - finally: - - pass - - # $ANTLR end T102 - - - - # $ANTLR start T103 - def mT103(self, ): - - try: - self.type = T103 - - # C.g:105:6: ( '__asm__' ) - # C.g:105:8: '__asm__' - self.match("__asm__") - - - - - - - finally: - - pass - - # $ANTLR end T103 - - - - # $ANTLR start T104 - def mT104(self, ): - - try: - self.type = T104 - - # C.g:106:6: ( '_asm' ) - # C.g:106:8: '_asm' - self.match("_asm") - - - - - - - finally: - - pass - - # $ANTLR end T104 - - - - # $ANTLR start T105 - def mT105(self, ): - - try: - self.type = T105 - - # C.g:107:6: ( '__asm' ) - # C.g:107:8: '__asm' - self.match("__asm") - - - - - - - finally: - - pass - - # $ANTLR end T105 - - - - # $ANTLR start T106 - def mT106(self, ): - - try: - self.type = T106 - - # C.g:108:6: ( 'case' ) - # C.g:108:8: 'case' - self.match("case") - - - - - - - finally: - - pass - - # $ANTLR end T106 - - - - # $ANTLR start T107 - def mT107(self, ): - - try: - self.type = T107 - - # C.g:109:6: ( 'default' ) - # C.g:109:8: 'default' - self.match("default") - - - - - - - finally: - - pass - - # $ANTLR end T107 - - - - # $ANTLR start T108 - def mT108(self, ): - - try: - self.type = T108 - - # C.g:110:6: ( 'if' ) - # C.g:110:8: 'if' - self.match("if") - - - - - - - finally: - - pass - - # $ANTLR end T108 - - - - # $ANTLR start T109 - def mT109(self, ): - - try: - self.type = T109 - - # C.g:111:6: ( 'else' ) - # C.g:111:8: 'else' - self.match("else") - - - - - - - finally: - - pass - - # $ANTLR end T109 - - - - # $ANTLR start T110 - def mT110(self, ): - - try: - self.type = T110 - - # C.g:112:6: ( 'switch' ) - # C.g:112:8: 'switch' - self.match("switch") - - - - - - - finally: - - pass - - # $ANTLR end T110 - - - - # $ANTLR start T111 - def mT111(self, ): - - try: - self.type = T111 - - # C.g:113:6: ( 'while' ) - # C.g:113:8: 'while' - self.match("while") - - - - - - - finally: - - pass - - # $ANTLR end T111 - - - - # $ANTLR start T112 - def mT112(self, ): - - try: - self.type = T112 - - # C.g:114:6: ( 'do' ) - # C.g:114:8: 'do' - self.match("do") - - - - - - - finally: - - pass - - # $ANTLR end T112 - - - - # $ANTLR start T113 - def mT113(self, ): - - try: - self.type = T113 - - # C.g:115:6: ( 'for' ) - # C.g:115:8: 'for' - self.match("for") - - - - - - - finally: - - pass - - # $ANTLR end T113 - - - - # $ANTLR start T114 - def mT114(self, ): - - try: - self.type = T114 - - # C.g:116:6: ( 'goto' ) - # C.g:116:8: 'goto' - self.match("goto") - - - - - - - finally: - - pass - - # $ANTLR end T114 - - - - # $ANTLR start T115 - def mT115(self, ): - - try: - self.type = T115 - - # C.g:117:6: ( 'continue' ) - # C.g:117:8: 'continue' - self.match("continue") - - - - - - - finally: - - pass - - # $ANTLR end T115 - - - - # $ANTLR start T116 - def mT116(self, ): - - try: - self.type = T116 - - # C.g:118:6: ( 'break' ) - # C.g:118:8: 'break' - self.match("break") - - - - - - - finally: - - pass - - # $ANTLR end T116 - - - - # $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:586:2: ( LETTER ( LETTER | '0' .. '9' )* ) - # C.g:586:4: LETTER ( LETTER | '0' .. '9' )* - self.mLETTER() - - # C.g:586:11: ( LETTER | '0' .. '9' )* - while True: #loop1 - alt1 = 2 - LA1_0 = self.input.LA(1) - - if (LA1_0 == u'$' or (u'0' <= LA1_0 <= u'9') or (u'A' <= LA1_0 <= u'Z') or LA1_0 == u'_' or (u'a' <= LA1_0 <= u'z')) : - alt1 = 1 - - - if alt1 == 1: - # C.g: - if self.input.LA(1) == u'$' or (u'0' <= self.input.LA(1) <= u'9') 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - else: - break #loop1 - - - - - - - finally: - - pass - - # $ANTLR end IDENTIFIER - - - - # $ANTLR start LETTER - def mLETTER(self, ): - - try: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - - finally: - - pass - - # $ANTLR end LETTER - - - - # $ANTLR start CHARACTER_LITERAL - def mCHARACTER_LITERAL(self, ): - - try: - self.type = CHARACTER_LITERAL - - # 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:598:10: 'L' - self.match(u'L') - - - - - self.match(u'\'') - - # C.g:598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) - alt3 = 2 - LA3_0 = self.input.LA(1) - - if (LA3_0 == u'\\') : - alt3 = 1 - elif ((u'\u0000' <= LA3_0 <= u'&') or (u'(' <= LA3_0 <= u'[') or (u']' <= LA3_0 <= u'\uFFFE')) : - alt3 = 2 - else: - nvae = NoViableAltException("598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 3, 0, self.input) - - raise nvae - - if alt3 == 1: - # C.g:598:23: EscapeSequence - self.mEscapeSequence() - - - - elif alt3 == 2: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - self.match(u'\'') - - - - - - finally: - - pass - - # $ANTLR end CHARACTER_LITERAL - - - - # $ANTLR start STRING_LITERAL - def mSTRING_LITERAL(self, ): - - try: - self.type = STRING_LITERAL - - # 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:602:9: 'L' - self.match(u'L') - - - - - self.match(u'"') - - # C.g:602:19: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* - while True: #loop5 - alt5 = 3 - LA5_0 = self.input.LA(1) - - if (LA5_0 == u'\\') : - alt5 = 1 - elif ((u'\u0000' <= LA5_0 <= u'!') or (u'#' <= LA5_0 <= u'[') or (u']' <= LA5_0 <= u'\uFFFE')) : - alt5 = 2 - - - if alt5 == 1: - # C.g:602:21: EscapeSequence - self.mEscapeSequence() - - - - elif alt5 == 2: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - else: - break #loop5 - - - self.match(u'"') - - - - - - finally: - - pass - - # $ANTLR end STRING_LITERAL - - - - # $ANTLR start HEX_LITERAL - def mHEX_LITERAL(self, ): - - try: - self.type = HEX_LITERAL - - # 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': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - # C.g:605:29: ( HexDigit )+ - cnt6 = 0 - while True: #loop6 - alt6 = 2 - LA6_0 = self.input.LA(1) - - if ((u'0' <= LA6_0 <= u'9') or (u'A' <= LA6_0 <= u'F') or (u'a' <= LA6_0 <= u'f')) : - alt6 = 1 - - - if alt6 == 1: - # C.g:605:29: HexDigit - self.mHexDigit() - - - - else: - if cnt6 >= 1: - break #loop6 - - eee = EarlyExitException(6, self.input) - raise eee - - cnt6 += 1 - - - # 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:605:39: IntegerTypeSuffix - self.mIntegerTypeSuffix() - - - - - - - - - finally: - - pass - - # $ANTLR end HEX_LITERAL - - - - # $ANTLR start DECIMAL_LITERAL - def mDECIMAL_LITERAL(self, ): - - try: - self.type = DECIMAL_LITERAL - - # 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) - - if (LA9_0 == u'0') : - alt9 = 1 - elif ((u'1' <= LA9_0 <= u'9')) : - alt9 = 2 - else: - nvae = NoViableAltException("607:19: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 9, 0, self.input) - - raise nvae - - if alt9 == 1: - # C.g:607:20: '0' - self.match(u'0') - - - - elif alt9 == 2: - # C.g:607:26: '1' .. '9' ( '0' .. '9' )* - self.matchRange(u'1', u'9') - - # C.g:607:35: ( '0' .. '9' )* - while True: #loop8 - alt8 = 2 - LA8_0 = self.input.LA(1) - - if ((u'0' <= LA8_0 <= u'9')) : - alt8 = 1 - - - if alt8 == 1: - # C.g:607:35: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - break #loop8 - - - - - - # 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:607:46: IntegerTypeSuffix - self.mIntegerTypeSuffix() - - - - - - - - - finally: - - pass - - # $ANTLR end DECIMAL_LITERAL - - - - # $ANTLR start OCTAL_LITERAL - def mOCTAL_LITERAL(self, ): - - try: - self.type = OCTAL_LITERAL - - # C.g:609:15: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? ) - # C.g:609:17: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? - self.match(u'0') - - # C.g:609:21: ( '0' .. '7' )+ - cnt11 = 0 - while True: #loop11 - alt11 = 2 - LA11_0 = self.input.LA(1) - - if ((u'0' <= LA11_0 <= u'7')) : - alt11 = 1 - - - if alt11 == 1: - # C.g:609:22: '0' .. '7' - self.matchRange(u'0', u'7') - - - - else: - if cnt11 >= 1: - break #loop11 - - eee = EarlyExitException(11, self.input) - raise eee - - cnt11 += 1 - - - # 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:609:33: IntegerTypeSuffix - self.mIntegerTypeSuffix() - - - - - - - - - finally: - - pass - - # $ANTLR end OCTAL_LITERAL - - - - # $ANTLR start HexDigit - def mHexDigit(self, ): - - try: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - - finally: - - pass - - # $ANTLR end HexDigit - - - - # $ANTLR start IntegerTypeSuffix - def mIntegerTypeSuffix(self, ): - - try: - # 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) - - if (LA13_0 == u'U' or LA13_0 == u'u') : - LA13_1 = self.input.LA(2) - - if (LA13_1 == u'L' or LA13_1 == u'l') : - LA13_3 = self.input.LA(3) - - if (LA13_3 == u'L' or LA13_3 == u'l') : - alt13 = 4 - else: - alt13 = 3 - else: - alt13 = 1 - elif (LA13_0 == u'L' or LA13_0 == u'l') : - alt13 = 2 - else: - 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:616:4: ( 'u' | 'U' ) - if self.input.LA(1) == u'U' or self.input.LA(1) == u'u': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - elif alt13 == 2: - # C.g:617:4: ( 'l' | 'L' ) - if self.input.LA(1) == u'L' or self.input.LA(1) == u'l': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - elif alt13 == 3: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - if self.input.LA(1) == u'L' or self.input.LA(1) == u'l': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - elif alt13 == 4: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - if self.input.LA(1) == u'L' or self.input.LA(1) == u'l': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - if self.input.LA(1) == u'L' or self.input.LA(1) == u'l': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - finally: - - pass - - # $ANTLR end IntegerTypeSuffix - - - - # $ANTLR start FLOATING_POINT_LITERAL - def mFLOATING_POINT_LITERAL(self, ): - - try: - self.type = FLOATING_POINT_LITERAL - - # 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:623:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? - # C.g:623:9: ( '0' .. '9' )+ - cnt14 = 0 - while True: #loop14 - alt14 = 2 - LA14_0 = self.input.LA(1) - - if ((u'0' <= LA14_0 <= u'9')) : - alt14 = 1 - - - if alt14 == 1: - # C.g:623:10: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - if cnt14 >= 1: - break #loop14 - - eee = EarlyExitException(14, self.input) - raise eee - - cnt14 += 1 - - - self.match(u'.') - - # C.g:623:25: ( '0' .. '9' )* - while True: #loop15 - alt15 = 2 - LA15_0 = self.input.LA(1) - - if ((u'0' <= LA15_0 <= u'9')) : - alt15 = 1 - - - if alt15 == 1: - # C.g:623:26: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - break #loop15 - - - # 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:623:37: Exponent - self.mExponent() - - - - - # 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:623:47: FloatTypeSuffix - self.mFloatTypeSuffix() - - - - - - - elif alt25 == 2: - # C.g:624:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? - self.match(u'.') - - # C.g:624:13: ( '0' .. '9' )+ - cnt18 = 0 - while True: #loop18 - alt18 = 2 - LA18_0 = self.input.LA(1) - - if ((u'0' <= LA18_0 <= u'9')) : - alt18 = 1 - - - if alt18 == 1: - # C.g:624:14: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - if cnt18 >= 1: - break #loop18 - - eee = EarlyExitException(18, self.input) - raise eee - - cnt18 += 1 - - - # 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:624:25: Exponent - self.mExponent() - - - - - # 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:624:35: FloatTypeSuffix - self.mFloatTypeSuffix() - - - - - - - elif alt25 == 3: - # C.g:625:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? - # C.g:625:9: ( '0' .. '9' )+ - cnt21 = 0 - while True: #loop21 - alt21 = 2 - LA21_0 = self.input.LA(1) - - if ((u'0' <= LA21_0 <= u'9')) : - alt21 = 1 - - - if alt21 == 1: - # C.g:625:10: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - if cnt21 >= 1: - break #loop21 - - eee = EarlyExitException(21, self.input) - raise eee - - cnt21 += 1 - - - self.mExponent() - - # 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:625:30: FloatTypeSuffix - self.mFloatTypeSuffix() - - - - - - - elif alt25 == 4: - # C.g:626:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix - # C.g:626:9: ( '0' .. '9' )+ - cnt23 = 0 - while True: #loop23 - alt23 = 2 - LA23_0 = self.input.LA(1) - - if ((u'0' <= LA23_0 <= u'9')) : - alt23 = 1 - - - if alt23 == 1: - # C.g:626:10: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - if cnt23 >= 1: - break #loop23 - - eee = EarlyExitException(23, self.input) - raise eee - - cnt23 += 1 - - - # 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:626:21: Exponent - self.mExponent() - - - - - self.mFloatTypeSuffix() - - - - - finally: - - pass - - # $ANTLR end FLOATING_POINT_LITERAL - - - - # $ANTLR start Exponent - def mExponent(self, ): - - try: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - # C.g:630:22: ( '+' | '-' )? - alt26 = 2 - LA26_0 = self.input.LA(1) - - if (LA26_0 == u'+' or LA26_0 == u'-') : - alt26 = 1 - if alt26 == 1: - # C.g: - if self.input.LA(1) == u'+' or self.input.LA(1) == u'-': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - # C.g:630:33: ( '0' .. '9' )+ - cnt27 = 0 - while True: #loop27 - alt27 = 2 - LA27_0 = self.input.LA(1) - - if ((u'0' <= LA27_0 <= u'9')) : - alt27 = 1 - - - if alt27 == 1: - # C.g:630:34: '0' .. '9' - self.matchRange(u'0', u'9') - - - - else: - if cnt27 >= 1: - break #loop27 - - eee = EarlyExitException(27, self.input) - raise eee - - cnt27 += 1 - - - - - - - finally: - - pass - - # $ANTLR end Exponent - - - - # $ANTLR start FloatTypeSuffix - def mFloatTypeSuffix(self, ): - - try: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - - - finally: - - pass - - # $ANTLR end FloatTypeSuffix - - - - # $ANTLR start EscapeSequence - def mEscapeSequence(self, ): - - try: - # C.g:637:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape ) - alt28 = 2 - LA28_0 = self.input.LA(1) - - if (LA28_0 == u'\\') : - LA28_1 = self.input.LA(2) - - if (LA28_1 == u'"' or LA28_1 == u'\'' or LA28_1 == u'\\' or LA28_1 == u'b' or LA28_1 == u'f' or LA28_1 == u'n' or LA28_1 == u'r' or LA28_1 == u't') : - alt28 = 1 - elif ((u'0' <= LA28_1 <= u'7')) : - alt28 = 2 - else: - nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 1, self.input) - - raise nvae - - else: - nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 0, self.input) - - raise nvae - - if alt28 == 1: - # 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': - self.input.consume(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - elif alt28 == 2: - # C.g:638:9: OctalEscape - self.mOctalEscape() - - - - - finally: - - pass - - # $ANTLR end EscapeSequence - - - - # $ANTLR start OctalEscape - def mOctalEscape(self, ): - - try: - # C.g:643:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) - alt29 = 3 - LA29_0 = self.input.LA(1) - - if (LA29_0 == u'\\') : - LA29_1 = self.input.LA(2) - - if ((u'0' <= LA29_1 <= u'3')) : - LA29_2 = self.input.LA(3) - - if ((u'0' <= LA29_2 <= u'7')) : - LA29_4 = self.input.LA(4) - - if ((u'0' <= LA29_4 <= u'7')) : - alt29 = 1 - else: - alt29 = 2 - else: - alt29 = 3 - elif ((u'4' <= LA29_1 <= u'7')) : - LA29_3 = self.input.LA(3) - - if ((u'0' <= LA29_3 <= u'7')) : - alt29 = 2 - else: - alt29 = 3 - else: - 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("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:643:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) - self.match(u'\\') - - # C.g:643:14: ( '0' .. '3' ) - # C.g:643:15: '0' .. '3' - self.matchRange(u'0', u'3') - - - - - # C.g:643:25: ( '0' .. '7' ) - # C.g:643:26: '0' .. '7' - self.matchRange(u'0', u'7') - - - - - # C.g:643:36: ( '0' .. '7' ) - # C.g:643:37: '0' .. '7' - self.matchRange(u'0', u'7') - - - - - - - elif alt29 == 2: - # C.g:644:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) - self.match(u'\\') - - # C.g:644:14: ( '0' .. '7' ) - # C.g:644:15: '0' .. '7' - self.matchRange(u'0', u'7') - - - - - # C.g:644:25: ( '0' .. '7' ) - # C.g:644:26: '0' .. '7' - self.matchRange(u'0', u'7') - - - - - - - elif alt29 == 3: - # C.g:645:9: '\\\\' ( '0' .. '7' ) - self.match(u'\\') - - # C.g:645:14: ( '0' .. '7' ) - # C.g:645:15: '0' .. '7' - self.matchRange(u'0', u'7') - - - - - - - - finally: - - pass - - # $ANTLR end OctalEscape - - - - # $ANTLR start UnicodeEscape - def mUnicodeEscape(self, ): - - try: - # 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') - - self.mHexDigit() - - self.mHexDigit() - - self.mHexDigit() - - self.mHexDigit() - - - - - - finally: - - pass - - # $ANTLR end UnicodeEscape - - - - # $ANTLR start WS - def mWS(self, ): - - try: - self.type = WS - - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - #action start - self.channel=HIDDEN; - #action end - - - - - finally: - - pass - - # $ANTLR end WS - - - - # $ANTLR start BS - def mBS(self, ): - - try: - self.type = BS - - # C.g:657:5: ( ( '\\\\' ) ) - # C.g:657:7: ( '\\\\' ) - # C.g:657:7: ( '\\\\' ) - # C.g:657:8: '\\\\' - self.match(u'\\') - - - - - #action start - self.channel=HIDDEN; - #action end - - - - - finally: - - pass - - # $ANTLR end BS - - - - # $ANTLR start UnicodeVocabulary - def mUnicodeVocabulary(self, ): - - try: - self.type = UnicodeVocabulary - - # C.g:665:5: ( '\\u0003' .. '\\uFFFE' ) - # C.g:665:7: '\\u0003' .. '\\uFFFE' - self.matchRange(u'\u0003', u'\uFFFE') - - - - - - finally: - - pass - - # $ANTLR end UnicodeVocabulary - - - - # $ANTLR start COMMENT - def mCOMMENT(self, ): - - try: - self.type = COMMENT - - # C.g:668:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) - # C.g:668:9: '/*' ( options {greedy=false; } : . )* '*/' - self.match("/*") - - - # C.g:668:14: ( options {greedy=false; } : . )* - while True: #loop30 - alt30 = 2 - LA30_0 = self.input.LA(1) - - if (LA30_0 == u'*') : - LA30_1 = self.input.LA(2) - - if (LA30_1 == u'/') : - alt30 = 2 - elif ((u'\u0000' <= LA30_1 <= u'.') or (u'0' <= LA30_1 <= u'\uFFFE')) : - alt30 = 1 - - - elif ((u'\u0000' <= LA30_0 <= u')') or (u'+' <= LA30_0 <= u'\uFFFE')) : - alt30 = 1 - - - if alt30 == 1: - # C.g:668:42: . - self.matchAny() - - - - else: - break #loop30 - - - self.match("*/") - - - #action start - self.channel=HIDDEN; - #action end - - - - - finally: - - pass - - # $ANTLR end COMMENT - - - - # $ANTLR start LINE_COMMENT - def mLINE_COMMENT(self, ): - - try: - self.type = LINE_COMMENT - - # C.g:673:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) - # C.g:673:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' - self.match("//") - - - # C.g:673:12: (~ ( '\\n' | '\\r' ) )* - while True: #loop31 - alt31 = 2 - LA31_0 = self.input.LA(1) - - if ((u'\u0000' <= LA31_0 <= u'\t') or (u'\u000B' <= LA31_0 <= u'\f') or (u'\u000E' <= LA31_0 <= u'\uFFFE')) : - alt31 = 1 - - - if alt31 == 1: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - else: - break #loop31 - - - # 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:673:26: '\\r' - self.match(u'\r') - - - - - self.match(u'\n') - - #action start - self.channel=HIDDEN; - #action end - - - - - finally: - - pass - - # $ANTLR end LINE_COMMENT - - - - # $ANTLR start LINE_COMMAND - def mLINE_COMMAND(self, ): - - try: - self.type = LINE_COMMAND - - # C.g:678:5: ( '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) - # C.g:678:7: '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' - self.match(u'#') - - # C.g:678:11: (~ ( '\\n' | '\\r' ) )* - while True: #loop33 - alt33 = 2 - LA33_0 = self.input.LA(1) - - if ((u'\u0000' <= LA33_0 <= u'\t') or (u'\u000B' <= LA33_0 <= u'\f') or (u'\u000E' <= LA33_0 <= u'\uFFFE')) : - alt33 = 1 - - - if alt33 == 1: - # 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(); - - else: - mse = MismatchedSetException(None, self.input) - self.recover(mse) - raise mse - - - - - else: - break #loop33 - - - # 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:678:25: '\\r' - self.match(u'\r') - - - - - self.match(u'\n') - - #action start - self.channel=HIDDEN; - #action end - - - - - finally: - - pass - - # $ANTLR end LINE_COMMAND - - - - 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 | 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 - self.mT25() - - - - elif alt35 == 2: - # C.g:1:14: T26 - self.mT26() - - - - elif alt35 == 3: - # C.g:1:18: T27 - self.mT27() - - - - elif alt35 == 4: - # C.g:1:22: T28 - self.mT28() - - - - elif alt35 == 5: - # C.g:1:26: T29 - self.mT29() - - - - elif alt35 == 6: - # C.g:1:30: T30 - self.mT30() - - - - elif alt35 == 7: - # C.g:1:34: T31 - self.mT31() - - - - elif alt35 == 8: - # C.g:1:38: T32 - self.mT32() - - - - elif alt35 == 9: - # C.g:1:42: T33 - self.mT33() - - - - elif alt35 == 10: - # C.g:1:46: T34 - self.mT34() - - - - elif alt35 == 11: - # C.g:1:50: T35 - self.mT35() - - - - elif alt35 == 12: - # C.g:1:54: T36 - self.mT36() - - - - elif alt35 == 13: - # C.g:1:58: T37 - self.mT37() - - - - elif alt35 == 14: - # C.g:1:62: T38 - self.mT38() - - - - elif alt35 == 15: - # C.g:1:66: T39 - self.mT39() - - - - elif alt35 == 16: - # C.g:1:70: T40 - self.mT40() - - - - elif alt35 == 17: - # C.g:1:74: T41 - self.mT41() - - - - elif alt35 == 18: - # C.g:1:78: T42 - self.mT42() - - - - elif alt35 == 19: - # C.g:1:82: T43 - self.mT43() - - - - elif alt35 == 20: - # C.g:1:86: T44 - self.mT44() - - - - elif alt35 == 21: - # C.g:1:90: T45 - self.mT45() - - - - elif alt35 == 22: - # C.g:1:94: T46 - self.mT46() - - - - elif alt35 == 23: - # C.g:1:98: T47 - self.mT47() - - - - elif alt35 == 24: - # C.g:1:102: T48 - self.mT48() - - - - elif alt35 == 25: - # C.g:1:106: T49 - self.mT49() - - - - elif alt35 == 26: - # C.g:1:110: T50 - self.mT50() - - - - elif alt35 == 27: - # C.g:1:114: T51 - self.mT51() - - - - elif alt35 == 28: - # C.g:1:118: T52 - self.mT52() - - - - elif alt35 == 29: - # C.g:1:122: T53 - self.mT53() - - - - elif alt35 == 30: - # C.g:1:126: T54 - self.mT54() - - - - elif alt35 == 31: - # C.g:1:130: T55 - self.mT55() - - - - elif alt35 == 32: - # C.g:1:134: T56 - self.mT56() - - - - elif alt35 == 33: - # C.g:1:138: T57 - self.mT57() - - - - elif alt35 == 34: - # C.g:1:142: T58 - self.mT58() - - - - elif alt35 == 35: - # C.g:1:146: T59 - self.mT59() - - - - elif alt35 == 36: - # C.g:1:150: T60 - self.mT60() - - - - elif alt35 == 37: - # C.g:1:154: T61 - self.mT61() - - - - elif alt35 == 38: - # C.g:1:158: T62 - self.mT62() - - - - elif alt35 == 39: - # C.g:1:162: T63 - self.mT63() - - - - elif alt35 == 40: - # C.g:1:166: T64 - self.mT64() - - - - elif alt35 == 41: - # C.g:1:170: T65 - self.mT65() - - - - elif alt35 == 42: - # C.g:1:174: T66 - self.mT66() - - - - elif alt35 == 43: - # C.g:1:178: T67 - self.mT67() - - - - elif alt35 == 44: - # C.g:1:182: T68 - self.mT68() - - - - elif alt35 == 45: - # C.g:1:186: T69 - self.mT69() - - - - elif alt35 == 46: - # C.g:1:190: T70 - self.mT70() - - - - elif alt35 == 47: - # C.g:1:194: T71 - self.mT71() - - - - elif alt35 == 48: - # C.g:1:198: T72 - self.mT72() - - - - elif alt35 == 49: - # C.g:1:202: T73 - self.mT73() - - - - elif alt35 == 50: - # C.g:1:206: T74 - self.mT74() - - - - elif alt35 == 51: - # C.g:1:210: T75 - self.mT75() - - - - elif alt35 == 52: - # C.g:1:214: T76 - self.mT76() - - - - elif alt35 == 53: - # C.g:1:218: T77 - self.mT77() - - - - elif alt35 == 54: - # C.g:1:222: T78 - self.mT78() - - - - elif alt35 == 55: - # C.g:1:226: T79 - self.mT79() - - - - elif alt35 == 56: - # C.g:1:230: T80 - self.mT80() - - - - elif alt35 == 57: - # C.g:1:234: T81 - self.mT81() - - - - elif alt35 == 58: - # C.g:1:238: T82 - self.mT82() - - - - elif alt35 == 59: - # C.g:1:242: T83 - self.mT83() - - - - elif alt35 == 60: - # C.g:1:246: T84 - self.mT84() - - - - elif alt35 == 61: - # C.g:1:250: T85 - self.mT85() - - - - elif alt35 == 62: - # C.g:1:254: T86 - self.mT86() - - - - elif alt35 == 63: - # C.g:1:258: T87 - self.mT87() - - - - elif alt35 == 64: - # C.g:1:262: T88 - self.mT88() - - - - elif alt35 == 65: - # C.g:1:266: T89 - self.mT89() - - - - elif alt35 == 66: - # C.g:1:270: T90 - self.mT90() - - - - elif alt35 == 67: - # C.g:1:274: T91 - self.mT91() - - - - elif alt35 == 68: - # C.g:1:278: T92 - self.mT92() - - - - elif alt35 == 69: - # C.g:1:282: T93 - self.mT93() - - - - elif alt35 == 70: - # C.g:1:286: T94 - self.mT94() - - - - elif alt35 == 71: - # C.g:1:290: T95 - self.mT95() - - - - elif alt35 == 72: - # C.g:1:294: T96 - self.mT96() - - - - elif alt35 == 73: - # C.g:1:298: T97 - self.mT97() - - - - elif alt35 == 74: - # C.g:1:302: T98 - self.mT98() - - - - elif alt35 == 75: - # C.g:1:306: T99 - self.mT99() - - - - elif alt35 == 76: - # C.g:1:310: T100 - self.mT100() - - - - elif alt35 == 77: - # C.g:1:315: T101 - self.mT101() - - - - elif alt35 == 78: - # C.g:1:320: T102 - self.mT102() - - - - elif alt35 == 79: - # C.g:1:325: T103 - self.mT103() - - - - elif alt35 == 80: - # C.g:1:330: T104 - self.mT104() - - - - elif alt35 == 81: - # C.g:1:335: T105 - self.mT105() - - - - elif alt35 == 82: - # C.g:1:340: T106 - self.mT106() - - - - elif alt35 == 83: - # C.g:1:345: T107 - self.mT107() - - - - elif alt35 == 84: - # C.g:1:350: T108 - self.mT108() - - - - elif alt35 == 85: - # C.g:1:355: T109 - self.mT109() - - - - elif alt35 == 86: - # C.g:1:360: T110 - self.mT110() - - - - elif alt35 == 87: - # C.g:1:365: T111 - self.mT111() - - - - elif alt35 == 88: - # C.g:1:370: T112 - self.mT112() - - - - elif alt35 == 89: - # C.g:1:375: T113 - self.mT113() - - - - elif alt35 == 90: - # C.g:1:380: T114 - self.mT114() - - - - elif alt35 == 91: - # C.g:1:385: T115 - self.mT115() - - - - elif alt35 == 92: - # C.g:1:390: T116 - self.mT116() - - - - elif alt35 == 93: - # C.g:1:395: T117 - self.mT117() - - - - elif alt35 == 94: - # C.g:1:400: IDENTIFIER - self.mIDENTIFIER() - - - - elif alt35 == 95: - # C.g:1:411: CHARACTER_LITERAL - self.mCHARACTER_LITERAL() - - - - elif alt35 == 96: - # C.g:1:429: STRING_LITERAL - self.mSTRING_LITERAL() - - - - elif alt35 == 97: - # C.g:1:444: HEX_LITERAL - self.mHEX_LITERAL() - - - - elif alt35 == 98: - # C.g:1:456: DECIMAL_LITERAL - self.mDECIMAL_LITERAL() - - - - elif alt35 == 99: - # C.g:1:472: OCTAL_LITERAL - self.mOCTAL_LITERAL() - - - - elif alt35 == 100: - # C.g:1:486: FLOATING_POINT_LITERAL - self.mFLOATING_POINT_LITERAL() - - - - elif alt35 == 101: - # C.g:1:509: WS - self.mWS() - - - - elif alt35 == 102: - # C.g:1:512: BS - self.mBS() - - - - elif alt35 == 103: - # C.g:1:515: UnicodeVocabulary - self.mUnicodeVocabulary() - - - - elif alt35 == 104: - # C.g:1:533: COMMENT - self.mCOMMENT() - - - - elif alt35 == 105: - # C.g:1:541: LINE_COMMENT - self.mLINE_COMMENT() - - - - elif alt35 == 106: - # C.g:1:554: LINE_COMMAND - self.mLINE_COMMAND() - - - - - - - - - # lookup tables for DFA #25 - - DFA25_eot = DFA.unpack( - u"\7\uffff\1\10\2\uffff" - ) - - DFA25_eof = DFA.unpack( - u"\12\uffff" - ) - - DFA25_min = DFA.unpack( - u"\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff" - ) - - DFA25_max = DFA.unpack( - 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\1\1\uffff\1\4\2\uffff\2\3" - ) - - DFA25_special = DFA.unpack( - u"\12\uffff" - ) - - - DFA25_transition = [ - DFA.unpack(u"\1\2\1\uffff\12\1"), - 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""), - 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" - u"\1\11"), - DFA.unpack(u""), - DFA.unpack(u"") - ] - - # class definition for DFA #25 - - DFA25 = DFA - # lookup tables for DFA #35 - - DFA35_eot = DFA.unpack( - 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"\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\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\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\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"\u0192\uffff" - ) - - - DFA35_transition = [ - 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\75"), - DFA.unpack(u""), - 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\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\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\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\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\u008c\1\uffff\1\u008d"), - DFA.unpack(u"\1\u008e"), - 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\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\u0099"), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\u009a"), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\u009b"), - DFA.unpack(u"\1\u009c"), - DFA.unpack(u"\1\u009d"), - DFA.unpack(u"\1\u009e"), - 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\u00ab"), - DFA.unpack(u"\1\u00ac"), - 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\u00b0"), - DFA.unpack(u"\1\u00b1"), - DFA.unpack(u"\1\u00b2"), - 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\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""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\u00c0"), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u"\1\u00c2"), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - DFA.unpack(u""), - 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\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\u00ca"), - DFA.unpack(u"\1\u00cb"), - DFA.unpack(u"\1\u00cc"), - DFA.unpack(u"\1\u00cd"), - DFA.unpack(u"\1\u00ce"), - DFA.unpack(u"\1\u00cf"), - DFA.unpack(u"\1\u00d0"), - DFA.unpack(u"\1\u00d1"), - DFA.unpack(u"\1\u00d2"), - DFA.unpack(u"\1\u00d3"), - DFA.unpack(u"\1\u00d4"), - DFA.unpack(u"\1\u00d5"), - DFA.unpack(u"\1\u00d6"), - 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\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"\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\u00e4"), - DFA.unpack(u"\1\u00e5"), - DFA.unpack(u""), - DFA.unpack(u"\1\u00e6"), - 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\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\u00ef"), - DFA.unpack(u"\1\u00f0"), - 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\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\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\u00fa"), - DFA.unpack(u"\1\u00fb"), - DFA.unpack(u"\1\u00fc"), - DFA.unpack(u"\1\u00fd"), - 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\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\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""), - DFA.unpack(u"\1\u010f"), - DFA.unpack(u"\1\u0110"), - DFA.unpack(u"\1\u0111"), - DFA.unpack(u"\1\u0112"), - 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"\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\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""), - DFA.unpack(u"\1\u011e"), - DFA.unpack(u"\1\u011f"), - DFA.unpack(u"\1\u0120"), - DFA.unpack(u"\1\u0121"), - DFA.unpack(u"\1\u0122"), - 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\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\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\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\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\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\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\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\u0143"), - 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\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""), - DFA.unpack(u"\1\u014b"), - DFA.unpack(u""), - 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""), - DFA.unpack(u""), - DFA.unpack(u""), - 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\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\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""), - 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""), - 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\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"), - DFA.unpack(u"\1\u0172"), - DFA.unpack(u"\1\u0173"), - DFA.unpack(u"\1\u0174"), - DFA.unpack(u"\1\u0175"), - DFA.unpack(u"\1\u0176"), - DFA.unpack(u"\1\u0177"), - DFA.unpack(u"\1\u0178"), - DFA.unpack(u"\1\u0179"), - DFA.unpack(u"\1\u017a"), - DFA.unpack(u"\1\u017b"), - DFA.unpack(u"\1\u017c"), - DFA.unpack(u"\1\u017d"), - DFA.unpack(u"\1\u017e"), - 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\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\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"") - ] - - # class definition for DFA #35 - - DFA35 = DFA - - +
+
+
+# for convenience in actions
+HIDDEN = BaseRecognizer.HIDDEN
+
+# token types
+T114=114
+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
+T31=31
+LINE_COMMENT=23
+IntegerTypeSuffix=14
+CHARACTER_LITERAL=8
+T49=49
+T48=48
+T100=100
+T43=43
+T42=42
+T102=102
+T41=41
+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
+T53=53
+T56=56
+T55=55
+T58=58
+T57=57
+T75=75
+T76=76
+T73=73
+T74=74
+T79=79
+T77=77
+T78=78
+Exponent=15
+HexDigit=13
+T72=72
+T71=71
+T70=70
+T62=62
+T63=63
+T64=64
+T65=65
+T66=66
+T67=67
+T68=68
+T69=69
+IDENTIFIER=4
+UnicodeVocabulary=21
+HEX_LITERAL=5
+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
+T91=91
+T90=90
+T88=88
+T89=89
+T84=84
+T85=85
+T86=86
+T87=87
+UnicodeEscape=18
+T81=81
+T80=80
+T83=83
+OctalEscape=17
+T82=82
+
+class CLexer(Lexer):
+
+ grammarFileName = "C.g"
+
+ def __init__(self, input=None):
+ Lexer.__init__(self, input)
+ self.dfa25 = self.DFA25(
+ self, 25,
+ eot = self.DFA25_eot,
+ eof = self.DFA25_eof,
+ min = self.DFA25_min,
+ max = self.DFA25_max,
+ accept = self.DFA25_accept,
+ special = self.DFA25_special,
+ transition = self.DFA25_transition
+ )
+ self.dfa35 = self.DFA35(
+ self, 35,
+ eot = self.DFA35_eot,
+ eof = self.DFA35_eof,
+ min = self.DFA35_min,
+ max = self.DFA35_max,
+ accept = self.DFA35_accept,
+ special = self.DFA35_special,
+ transition = self.DFA35_transition
+ )
+
+
+
+
+
+
+ # $ANTLR start T25
+ def mT25(self, ):
+
+ try:
+ self.type = T25
+
+ # C.g:27:5: ( ';' )
+ # C.g:27:7: ';'
+ self.match(u';')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T25
+
+
+
+ # $ANTLR start T26
+ def mT26(self, ):
+
+ try:
+ self.type = T26
+
+ # C.g:28:5: ( 'typedef' )
+ # C.g:28:7: 'typedef'
+ self.match("typedef")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T26
+
+
+
+ # $ANTLR start T27
+ def mT27(self, ):
+
+ try:
+ self.type = T27
+
+ # C.g:29:5: ( ',' )
+ # C.g:29:7: ','
+ self.match(u',')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T27
+
+
+
+ # $ANTLR start T28
+ def mT28(self, ):
+
+ try:
+ self.type = T28
+
+ # C.g:30:5: ( '=' )
+ # C.g:30:7: '='
+ self.match(u'=')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T28
+
+
+
+ # $ANTLR start T29
+ def mT29(self, ):
+
+ try:
+ self.type = T29
+
+ # C.g:31:5: ( 'extern' )
+ # C.g:31:7: 'extern'
+ self.match("extern")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T29
+
+
+
+ # $ANTLR start T30
+ def mT30(self, ):
+
+ try:
+ self.type = T30
+
+ # C.g:32:5: ( 'static' )
+ # C.g:32:7: 'static'
+ self.match("static")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T30
+
+
+
+ # $ANTLR start T31
+ def mT31(self, ):
+
+ try:
+ self.type = T31
+
+ # C.g:33:5: ( 'auto' )
+ # C.g:33:7: 'auto'
+ self.match("auto")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T31
+
+
+
+ # $ANTLR start T32
+ def mT32(self, ):
+
+ try:
+ self.type = T32
+
+ # C.g:34:5: ( 'register' )
+ # C.g:34:7: 'register'
+ self.match("register")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T32
+
+
+
+ # $ANTLR start T33
+ def mT33(self, ):
+
+ try:
+ self.type = T33
+
+ # C.g:35:5: ( 'STATIC' )
+ # C.g:35:7: 'STATIC'
+ self.match("STATIC")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T33
+
+
+
+ # $ANTLR start T34
+ def mT34(self, ):
+
+ try:
+ self.type = T34
+
+ # C.g:36:5: ( 'void' )
+ # C.g:36:7: 'void'
+ self.match("void")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T34
+
+
+
+ # $ANTLR start T35
+ def mT35(self, ):
+
+ try:
+ self.type = T35
+
+ # C.g:37:5: ( 'char' )
+ # C.g:37:7: 'char'
+ self.match("char")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T35
+
+
+
+ # $ANTLR start T36
+ def mT36(self, ):
+
+ try:
+ self.type = T36
+
+ # C.g:38:5: ( 'short' )
+ # C.g:38:7: 'short'
+ self.match("short")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T36
+
+
+
+ # $ANTLR start T37
+ def mT37(self, ):
+
+ try:
+ self.type = T37
+
+ # C.g:39:5: ( 'int' )
+ # C.g:39:7: 'int'
+ self.match("int")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T37
+
+
+
+ # $ANTLR start T38
+ def mT38(self, ):
+
+ try:
+ self.type = T38
+
+ # C.g:40:5: ( 'long' )
+ # C.g:40:7: 'long'
+ self.match("long")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T38
+
+
+
+ # $ANTLR start T39
+ def mT39(self, ):
+
+ try:
+ self.type = T39
+
+ # C.g:41:5: ( 'float' )
+ # C.g:41:7: 'float'
+ self.match("float")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T39
+
+
+
+ # $ANTLR start T40
+ def mT40(self, ):
+
+ try:
+ self.type = T40
+
+ # C.g:42:5: ( 'double' )
+ # C.g:42:7: 'double'
+ self.match("double")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T40
+
+
+
+ # $ANTLR start T41
+ def mT41(self, ):
+
+ try:
+ self.type = T41
+
+ # C.g:43:5: ( 'signed' )
+ # C.g:43:7: 'signed'
+ self.match("signed")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T41
+
+
+
+ # $ANTLR start T42
+ def mT42(self, ):
+
+ try:
+ self.type = T42
+
+ # C.g:44:5: ( 'unsigned' )
+ # C.g:44:7: 'unsigned'
+ self.match("unsigned")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T42
+
+
+
+ # $ANTLR start T43
+ def mT43(self, ):
+
+ try:
+ self.type = T43
+
+ # C.g:45:5: ( '{' )
+ # C.g:45:7: '{'
+ self.match(u'{')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T43
+
+
+
+ # $ANTLR start T44
+ def mT44(self, ):
+
+ try:
+ self.type = T44
+
+ # C.g:46:5: ( '}' )
+ # C.g:46:7: '}'
+ self.match(u'}')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T44
+
+
+
+ # $ANTLR start T45
+ def mT45(self, ):
+
+ try:
+ self.type = T45
+
+ # C.g:47:5: ( 'struct' )
+ # C.g:47:7: 'struct'
+ self.match("struct")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T45
+
+
+
+ # $ANTLR start T46
+ def mT46(self, ):
+
+ try:
+ self.type = T46
+
+ # C.g:48:5: ( 'union' )
+ # C.g:48:7: 'union'
+ self.match("union")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T46
+
+
+
+ # $ANTLR start T47
+ def mT47(self, ):
+
+ try:
+ self.type = T47
+
+ # C.g:49:5: ( ':' )
+ # C.g:49:7: ':'
+ self.match(u':')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T47
+
+
+
+ # $ANTLR start T48
+ def mT48(self, ):
+
+ try:
+ self.type = T48
+
+ # C.g:50:5: ( 'enum' )
+ # C.g:50:7: 'enum'
+ self.match("enum")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T48
+
+
+
+ # $ANTLR start T49
+ def mT49(self, ):
+
+ try:
+ self.type = T49
+
+ # C.g:51:5: ( 'const' )
+ # C.g:51:7: 'const'
+ self.match("const")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T49
+
+
+
+ # $ANTLR start T50
+ def mT50(self, ):
+
+ try:
+ self.type = T50
+
+ # C.g:52:5: ( 'volatile' )
+ # C.g:52:7: 'volatile'
+ self.match("volatile")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T50
+
+
+
+ # $ANTLR start T51
+ def mT51(self, ):
+
+ try:
+ self.type = T51
+
+ # C.g:53:5: ( 'IN' )
+ # C.g:53:7: 'IN'
+ self.match("IN")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T51
+
+
+
+ # $ANTLR start T52
+ def mT52(self, ):
+
+ try:
+ self.type = T52
+
+ # C.g:54:5: ( 'OUT' )
+ # C.g:54:7: 'OUT'
+ self.match("OUT")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T52
+
+
+
+ # $ANTLR start T53
+ def mT53(self, ):
+
+ try:
+ self.type = T53
+
+ # C.g:55:5: ( 'OPTIONAL' )
+ # C.g:55:7: 'OPTIONAL'
+ self.match("OPTIONAL")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T53
+
+
+
+ # $ANTLR start T54
+ def mT54(self, ):
+
+ try:
+ self.type = T54
+
+ # C.g:56:5: ( 'CONST' )
+ # C.g:56:7: 'CONST'
+ self.match("CONST")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T54
+
+
+
+ # $ANTLR start T55
+ def mT55(self, ):
+
+ try:
+ self.type = T55
+
+ # C.g:57:5: ( 'UNALIGNED' )
+ # C.g:57:7: 'UNALIGNED'
+ self.match("UNALIGNED")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T55
+
+
+
+ # $ANTLR start T56
+ def mT56(self, ):
+
+ try:
+ self.type = T56
+
+ # C.g:58:5: ( 'VOLATILE' )
+ # C.g:58:7: 'VOLATILE'
+ self.match("VOLATILE")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T56
+
+
+
+ # $ANTLR start T57
+ def mT57(self, ):
+
+ try:
+ self.type = T57
+
+ # C.g:59:5: ( 'GLOBAL_REMOVE_IF_UNREFERENCED' )
+ # C.g:59:7: 'GLOBAL_REMOVE_IF_UNREFERENCED'
+ self.match("GLOBAL_REMOVE_IF_UNREFERENCED")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T57
+
+
+
+ # $ANTLR start T58
+ def mT58(self, ):
+
+ try:
+ self.type = T58
+
+ # C.g:60:5: ( 'EFIAPI' )
+ # C.g:60:7: 'EFIAPI'
+ self.match("EFIAPI")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T58
+
+
+
+ # $ANTLR start T59
+ def mT59(self, ):
+
+ try:
+ self.type = T59
+
+ # C.g:61:5: ( 'EFI_BOOTSERVICE' )
+ # C.g:61:7: 'EFI_BOOTSERVICE'
+ self.match("EFI_BOOTSERVICE")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T59
+
+
+
+ # $ANTLR start T60
+ def mT60(self, ):
+
+ try:
+ self.type = T60
+
+ # C.g:62:5: ( 'EFI_RUNTIMESERVICE' )
+ # C.g:62:7: 'EFI_RUNTIMESERVICE'
+ self.match("EFI_RUNTIMESERVICE")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T60
+
+
+
+ # $ANTLR start T61
+ def mT61(self, ):
+
+ try:
+ self.type = T61
+
+ # C.g:63:5: ( 'PACKED' )
+ # C.g:63:7: 'PACKED'
+ self.match("PACKED")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T61
+
+
+
+ # $ANTLR start T62
+ def mT62(self, ):
+
+ try:
+ self.type = T62
+
+ # C.g:64:5: ( '(' )
+ # C.g:64:7: '('
+ self.match(u'(')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T62
+
+
+
+ # $ANTLR start T63
+ def mT63(self, ):
+
+ try:
+ self.type = T63
+
+ # C.g:65:5: ( ')' )
+ # C.g:65:7: ')'
+ self.match(u')')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T63
+
+
+
+ # $ANTLR start T64
+ def mT64(self, ):
+
+ try:
+ self.type = T64
+
+ # C.g:66:5: ( '[' )
+ # C.g:66:7: '['
+ self.match(u'[')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T64
+
+
+
+ # $ANTLR start T65
+ def mT65(self, ):
+
+ try:
+ self.type = T65
+
+ # C.g:67:5: ( ']' )
+ # C.g:67:7: ']'
+ self.match(u']')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T65
+
+
+
+ # $ANTLR start T66
+ def mT66(self, ):
+
+ try:
+ self.type = T66
+
+ # C.g:68:5: ( '*' )
+ # C.g:68:7: '*'
+ self.match(u'*')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T66
+
+
+
+ # $ANTLR start T67
+ def mT67(self, ):
+
+ try:
+ self.type = T67
+
+ # C.g:69:5: ( '...' )
+ # C.g:69:7: '...'
+ self.match("...")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T67
+
+
+
+ # $ANTLR start T68
+ def mT68(self, ):
+
+ try:
+ self.type = T68
+
+ # C.g:70:5: ( '+' )
+ # C.g:70:7: '+'
+ self.match(u'+')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T68
+
+
+
+ # $ANTLR start T69
+ def mT69(self, ):
+
+ try:
+ self.type = T69
+
+ # C.g:71:5: ( '-' )
+ # C.g:71:7: '-'
+ self.match(u'-')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T69
+
+
+
+ # $ANTLR start T70
+ def mT70(self, ):
+
+ try:
+ self.type = T70
+
+ # C.g:72:5: ( '/' )
+ # C.g:72:7: '/'
+ self.match(u'/')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T70
+
+
+
+ # $ANTLR start T71
+ def mT71(self, ):
+
+ try:
+ self.type = T71
+
+ # C.g:73:5: ( '%' )
+ # C.g:73:7: '%'
+ self.match(u'%')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T71
+
+
+
+ # $ANTLR start T72
+ def mT72(self, ):
+
+ try:
+ self.type = T72
+
+ # C.g:74:5: ( '++' )
+ # C.g:74:7: '++'
+ self.match("++")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T72
+
+
+
+ # $ANTLR start T73
+ def mT73(self, ):
+
+ try:
+ self.type = T73
+
+ # C.g:75:5: ( '--' )
+ # C.g:75:7: '--'
+ self.match("--")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T73
+
+
+
+ # $ANTLR start T74
+ def mT74(self, ):
+
+ try:
+ self.type = T74
+
+ # C.g:76:5: ( 'sizeof' )
+ # C.g:76:7: 'sizeof'
+ self.match("sizeof")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T74
+
+
+
+ # $ANTLR start T75
+ def mT75(self, ):
+
+ try:
+ self.type = T75
+
+ # C.g:77:5: ( '.' )
+ # C.g:77:7: '.'
+ self.match(u'.')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T75
+
+
+
+ # $ANTLR start T76
+ def mT76(self, ):
+
+ try:
+ self.type = T76
+
+ # C.g:78:5: ( '->' )
+ # C.g:78:7: '->'
+ self.match("->")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T76
+
+
+
+ # $ANTLR start T77
+ def mT77(self, ):
+
+ try:
+ self.type = T77
+
+ # C.g:79:5: ( '&' )
+ # C.g:79:7: '&'
+ self.match(u'&')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T77
+
+
+
+ # $ANTLR start T78
+ def mT78(self, ):
+
+ try:
+ self.type = T78
+
+ # C.g:80:5: ( '~' )
+ # C.g:80:7: '~'
+ self.match(u'~')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T78
+
+
+
+ # $ANTLR start T79
+ def mT79(self, ):
+
+ try:
+ self.type = T79
+
+ # C.g:81:5: ( '!' )
+ # C.g:81:7: '!'
+ self.match(u'!')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T79
+
+
+
+ # $ANTLR start T80
+ def mT80(self, ):
+
+ try:
+ self.type = T80
+
+ # C.g:82:5: ( '*=' )
+ # C.g:82:7: '*='
+ self.match("*=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T80
+
+
+
+ # $ANTLR start T81
+ def mT81(self, ):
+
+ try:
+ self.type = T81
+
+ # C.g:83:5: ( '/=' )
+ # C.g:83:7: '/='
+ self.match("/=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T81
+
+
+
+ # $ANTLR start T82
+ def mT82(self, ):
+
+ try:
+ self.type = T82
+
+ # C.g:84:5: ( '%=' )
+ # C.g:84:7: '%='
+ self.match("%=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T82
+
+
+
+ # $ANTLR start T83
+ def mT83(self, ):
+
+ try:
+ self.type = T83
+
+ # C.g:85:5: ( '+=' )
+ # C.g:85:7: '+='
+ self.match("+=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T83
+
+
+
+ # $ANTLR start T84
+ def mT84(self, ):
+
+ try:
+ self.type = T84
+
+ # C.g:86:5: ( '-=' )
+ # C.g:86:7: '-='
+ self.match("-=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T84
+
+
+
+ # $ANTLR start T85
+ def mT85(self, ):
+
+ try:
+ self.type = T85
+
+ # C.g:87:5: ( '<<=' )
+ # C.g:87:7: '<<='
+ self.match("<<=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T85
+
+
+
+ # $ANTLR start T86
+ def mT86(self, ):
+
+ try:
+ self.type = T86
+
+ # C.g:88:5: ( '>>=' )
+ # C.g:88:7: '>>='
+ self.match(">>=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T86
+
+
+
+ # $ANTLR start T87
+ def mT87(self, ):
+
+ try:
+ self.type = T87
+
+ # C.g:89:5: ( '&=' )
+ # C.g:89:7: '&='
+ self.match("&=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T87
+
+
+
+ # $ANTLR start T88
+ def mT88(self, ):
+
+ try:
+ self.type = T88
+
+ # C.g:90:5: ( '^=' )
+ # C.g:90:7: '^='
+ self.match("^=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T88
+
+
+
+ # $ANTLR start T89
+ def mT89(self, ):
+
+ try:
+ self.type = T89
+
+ # C.g:91:5: ( '|=' )
+ # C.g:91:7: '|='
+ self.match("|=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T89
+
+
+
+ # $ANTLR start T90
+ def mT90(self, ):
+
+ try:
+ self.type = T90
+
+ # C.g:92:5: ( '?' )
+ # C.g:92:7: '?'
+ self.match(u'?')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T90
+
+
+
+ # $ANTLR start T91
+ def mT91(self, ):
+
+ try:
+ self.type = T91
+
+ # C.g:93:5: ( '||' )
+ # C.g:93:7: '||'
+ self.match("||")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T91
+
+
+
+ # $ANTLR start T92
+ def mT92(self, ):
+
+ try:
+ self.type = T92
+
+ # C.g:94:5: ( '&&' )
+ # C.g:94:7: '&&'
+ self.match("&&")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T92
+
+
+
+ # $ANTLR start T93
+ def mT93(self, ):
+
+ try:
+ self.type = T93
+
+ # C.g:95:5: ( '|' )
+ # C.g:95:7: '|'
+ self.match(u'|')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T93
+
+
+
+ # $ANTLR start T94
+ def mT94(self, ):
+
+ try:
+ self.type = T94
+
+ # C.g:96:5: ( '^' )
+ # C.g:96:7: '^'
+ self.match(u'^')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T94
+
+
+
+ # $ANTLR start T95
+ def mT95(self, ):
+
+ try:
+ self.type = T95
+
+ # C.g:97:5: ( '==' )
+ # C.g:97:7: '=='
+ self.match("==")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T95
+
+
+
+ # $ANTLR start T96
+ def mT96(self, ):
+
+ try:
+ self.type = T96
+
+ # C.g:98:5: ( '!=' )
+ # C.g:98:7: '!='
+ self.match("!=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T96
+
+
+
+ # $ANTLR start T97
+ def mT97(self, ):
+
+ try:
+ self.type = T97
+
+ # C.g:99:5: ( '<' )
+ # C.g:99:7: '<'
+ self.match(u'<')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T97
+
+
+
+ # $ANTLR start T98
+ def mT98(self, ):
+
+ try:
+ self.type = T98
+
+ # C.g:100:5: ( '>' )
+ # C.g:100:7: '>'
+ self.match(u'>')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T98
+
+
+
+ # $ANTLR start T99
+ def mT99(self, ):
+
+ try:
+ self.type = T99
+
+ # C.g:101:5: ( '<=' )
+ # C.g:101:7: '<='
+ self.match("<=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T99
+
+
+
+ # $ANTLR start T100
+ def mT100(self, ):
+
+ try:
+ self.type = T100
+
+ # C.g:102:6: ( '>=' )
+ # C.g:102:8: '>='
+ self.match(">=")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T100
+
+
+
+ # $ANTLR start T101
+ def mT101(self, ):
+
+ try:
+ self.type = T101
+
+ # C.g:103:6: ( '<<' )
+ # C.g:103:8: '<<'
+ self.match("<<")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T101
+
+
+
+ # $ANTLR start T102
+ def mT102(self, ):
+
+ try:
+ self.type = T102
+
+ # C.g:104:6: ( '>>' )
+ # C.g:104:8: '>>'
+ self.match(">>")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T102
+
+
+
+ # $ANTLR start T103
+ def mT103(self, ):
+
+ try:
+ self.type = T103
+
+ # C.g:105:6: ( '__asm__' )
+ # C.g:105:8: '__asm__'
+ self.match("__asm__")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T103
+
+
+
+ # $ANTLR start T104
+ def mT104(self, ):
+
+ try:
+ self.type = T104
+
+ # C.g:106:6: ( '_asm' )
+ # C.g:106:8: '_asm'
+ self.match("_asm")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T104
+
+
+
+ # $ANTLR start T105
+ def mT105(self, ):
+
+ try:
+ self.type = T105
+
+ # C.g:107:6: ( '__asm' )
+ # C.g:107:8: '__asm'
+ self.match("__asm")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T105
+
+
+
+ # $ANTLR start T106
+ def mT106(self, ):
+
+ try:
+ self.type = T106
+
+ # C.g:108:6: ( 'case' )
+ # C.g:108:8: 'case'
+ self.match("case")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T106
+
+
+
+ # $ANTLR start T107
+ def mT107(self, ):
+
+ try:
+ self.type = T107
+
+ # C.g:109:6: ( 'default' )
+ # C.g:109:8: 'default'
+ self.match("default")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T107
+
+
+
+ # $ANTLR start T108
+ def mT108(self, ):
+
+ try:
+ self.type = T108
+
+ # C.g:110:6: ( 'if' )
+ # C.g:110:8: 'if'
+ self.match("if")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T108
+
+
+
+ # $ANTLR start T109
+ def mT109(self, ):
+
+ try:
+ self.type = T109
+
+ # C.g:111:6: ( 'else' )
+ # C.g:111:8: 'else'
+ self.match("else")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T109
+
+
+
+ # $ANTLR start T110
+ def mT110(self, ):
+
+ try:
+ self.type = T110
+
+ # C.g:112:6: ( 'switch' )
+ # C.g:112:8: 'switch'
+ self.match("switch")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T110
+
+
+
+ # $ANTLR start T111
+ def mT111(self, ):
+
+ try:
+ self.type = T111
+
+ # C.g:113:6: ( 'while' )
+ # C.g:113:8: 'while'
+ self.match("while")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T111
+
+
+
+ # $ANTLR start T112
+ def mT112(self, ):
+
+ try:
+ self.type = T112
+
+ # C.g:114:6: ( 'do' )
+ # C.g:114:8: 'do'
+ self.match("do")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T112
+
+
+
+ # $ANTLR start T113
+ def mT113(self, ):
+
+ try:
+ self.type = T113
+
+ # C.g:115:6: ( 'for' )
+ # C.g:115:8: 'for'
+ self.match("for")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T113
+
+
+
+ # $ANTLR start T114
+ def mT114(self, ):
+
+ try:
+ self.type = T114
+
+ # C.g:116:6: ( 'goto' )
+ # C.g:116:8: 'goto'
+ self.match("goto")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T114
+
+
+
+ # $ANTLR start T115
+ def mT115(self, ):
+
+ try:
+ self.type = T115
+
+ # C.g:117:6: ( 'continue' )
+ # C.g:117:8: 'continue'
+ self.match("continue")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T115
+
+
+
+ # $ANTLR start T116
+ def mT116(self, ):
+
+ try:
+ self.type = T116
+
+ # C.g:118:6: ( 'break' )
+ # C.g:118:8: 'break'
+ self.match("break")
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end T116
+
+
+
+ # $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:586:2: ( LETTER ( LETTER | '0' .. '9' )* )
+ # C.g:586:4: LETTER ( LETTER | '0' .. '9' )*
+ self.mLETTER()
+
+ # C.g:586:11: ( LETTER | '0' .. '9' )*
+ while True: #loop1
+ alt1 = 2
+ LA1_0 = self.input.LA(1)
+
+ if (LA1_0 == u'$' or (u'0' <= LA1_0 <= u'9') or (u'A' <= LA1_0 <= u'Z') or LA1_0 == u'_' or (u'a' <= LA1_0 <= u'z')) :
+ alt1 = 1
+
+
+ if alt1 == 1:
+ # C.g:
+ if self.input.LA(1) == u'$' or (u'0' <= self.input.LA(1) <= u'9') 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ else:
+ break #loop1
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end IDENTIFIER
+
+
+
+ # $ANTLR start LETTER
+ def mLETTER(self, ):
+
+ try:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end LETTER
+
+
+
+ # $ANTLR start CHARACTER_LITERAL
+ def mCHARACTER_LITERAL(self, ):
+
+ try:
+ self.type = CHARACTER_LITERAL
+
+ # 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:598:10: 'L'
+ self.match(u'L')
+
+
+
+
+ self.match(u'\'')
+
+ # C.g:598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )
+ alt3 = 2
+ LA3_0 = self.input.LA(1)
+
+ if (LA3_0 == u'\\') :
+ alt3 = 1
+ elif ((u'\u0000' <= LA3_0 <= u'&') or (u'(' <= LA3_0 <= u'[') or (u']' <= LA3_0 <= u'\uFFFE')) :
+ alt3 = 2
+ else:
+ nvae = NoViableAltException("598:21: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 3, 0, self.input)
+
+ raise nvae
+
+ if alt3 == 1:
+ # C.g:598:23: EscapeSequence
+ self.mEscapeSequence()
+
+
+
+ elif alt3 == 2:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+ self.match(u'\'')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end CHARACTER_LITERAL
+
+
+
+ # $ANTLR start STRING_LITERAL
+ def mSTRING_LITERAL(self, ):
+
+ try:
+ self.type = STRING_LITERAL
+
+ # 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:602:9: 'L'
+ self.match(u'L')
+
+
+
+
+ self.match(u'"')
+
+ # C.g:602:19: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+ while True: #loop5
+ alt5 = 3
+ LA5_0 = self.input.LA(1)
+
+ if (LA5_0 == u'\\') :
+ alt5 = 1
+ elif ((u'\u0000' <= LA5_0 <= u'!') or (u'#' <= LA5_0 <= u'[') or (u']' <= LA5_0 <= u'\uFFFE')) :
+ alt5 = 2
+
+
+ if alt5 == 1:
+ # C.g:602:21: EscapeSequence
+ self.mEscapeSequence()
+
+
+
+ elif alt5 == 2:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ else:
+ break #loop5
+
+
+ self.match(u'"')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end STRING_LITERAL
+
+
+
+ # $ANTLR start HEX_LITERAL
+ def mHEX_LITERAL(self, ):
+
+ try:
+ self.type = HEX_LITERAL
+
+ # 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':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ # C.g:605:29: ( HexDigit )+
+ cnt6 = 0
+ while True: #loop6
+ alt6 = 2
+ LA6_0 = self.input.LA(1)
+
+ if ((u'0' <= LA6_0 <= u'9') or (u'A' <= LA6_0 <= u'F') or (u'a' <= LA6_0 <= u'f')) :
+ alt6 = 1
+
+
+ if alt6 == 1:
+ # C.g:605:29: HexDigit
+ self.mHexDigit()
+
+
+
+ else:
+ if cnt6 >= 1:
+ break #loop6
+
+ eee = EarlyExitException(6, self.input)
+ raise eee
+
+ cnt6 += 1
+
+
+ # 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:605:39: IntegerTypeSuffix
+ self.mIntegerTypeSuffix()
+
+
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end HEX_LITERAL
+
+
+
+ # $ANTLR start DECIMAL_LITERAL
+ def mDECIMAL_LITERAL(self, ):
+
+ try:
+ self.type = DECIMAL_LITERAL
+
+ # 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)
+
+ if (LA9_0 == u'0') :
+ alt9 = 1
+ elif ((u'1' <= LA9_0 <= u'9')) :
+ alt9 = 2
+ else:
+ nvae = NoViableAltException("607:19: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 9, 0, self.input)
+
+ raise nvae
+
+ if alt9 == 1:
+ # C.g:607:20: '0'
+ self.match(u'0')
+
+
+
+ elif alt9 == 2:
+ # C.g:607:26: '1' .. '9' ( '0' .. '9' )*
+ self.matchRange(u'1', u'9')
+
+ # C.g:607:35: ( '0' .. '9' )*
+ while True: #loop8
+ alt8 = 2
+ LA8_0 = self.input.LA(1)
+
+ if ((u'0' <= LA8_0 <= u'9')) :
+ alt8 = 1
+
+
+ if alt8 == 1:
+ # C.g:607:35: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ break #loop8
+
+
+
+
+
+ # 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:607:46: IntegerTypeSuffix
+ self.mIntegerTypeSuffix()
+
+
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end DECIMAL_LITERAL
+
+
+
+ # $ANTLR start OCTAL_LITERAL
+ def mOCTAL_LITERAL(self, ):
+
+ try:
+ self.type = OCTAL_LITERAL
+
+ # C.g:609:15: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? )
+ # C.g:609:17: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )?
+ self.match(u'0')
+
+ # C.g:609:21: ( '0' .. '7' )+
+ cnt11 = 0
+ while True: #loop11
+ alt11 = 2
+ LA11_0 = self.input.LA(1)
+
+ if ((u'0' <= LA11_0 <= u'7')) :
+ alt11 = 1
+
+
+ if alt11 == 1:
+ # C.g:609:22: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+ else:
+ if cnt11 >= 1:
+ break #loop11
+
+ eee = EarlyExitException(11, self.input)
+ raise eee
+
+ cnt11 += 1
+
+
+ # 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:609:33: IntegerTypeSuffix
+ self.mIntegerTypeSuffix()
+
+
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end OCTAL_LITERAL
+
+
+
+ # $ANTLR start HexDigit
+ def mHexDigit(self, ):
+
+ try:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end HexDigit
+
+
+
+ # $ANTLR start IntegerTypeSuffix
+ def mIntegerTypeSuffix(self, ):
+
+ try:
+ # 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)
+
+ if (LA13_0 == u'U' or LA13_0 == u'u') :
+ LA13_1 = self.input.LA(2)
+
+ if (LA13_1 == u'L' or LA13_1 == u'l') :
+ LA13_3 = self.input.LA(3)
+
+ if (LA13_3 == u'L' or LA13_3 == u'l') :
+ alt13 = 4
+ else:
+ alt13 = 3
+ else:
+ alt13 = 1
+ elif (LA13_0 == u'L' or LA13_0 == u'l') :
+ alt13 = 2
+ else:
+ 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:616:4: ( 'u' | 'U' )
+ if self.input.LA(1) == u'U' or self.input.LA(1) == u'u':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ elif alt13 == 2:
+ # C.g:617:4: ( 'l' | 'L' )
+ if self.input.LA(1) == u'L' or self.input.LA(1) == u'l':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ elif alt13 == 3:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ if self.input.LA(1) == u'L' or self.input.LA(1) == u'l':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ elif alt13 == 4:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ if self.input.LA(1) == u'L' or self.input.LA(1) == u'l':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ if self.input.LA(1) == u'L' or self.input.LA(1) == u'l':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end IntegerTypeSuffix
+
+
+
+ # $ANTLR start FLOATING_POINT_LITERAL
+ def mFLOATING_POINT_LITERAL(self, ):
+
+ try:
+ self.type = FLOATING_POINT_LITERAL
+
+ # 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:623:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
+ # C.g:623:9: ( '0' .. '9' )+
+ cnt14 = 0
+ while True: #loop14
+ alt14 = 2
+ LA14_0 = self.input.LA(1)
+
+ if ((u'0' <= LA14_0 <= u'9')) :
+ alt14 = 1
+
+
+ if alt14 == 1:
+ # C.g:623:10: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ if cnt14 >= 1:
+ break #loop14
+
+ eee = EarlyExitException(14, self.input)
+ raise eee
+
+ cnt14 += 1
+
+
+ self.match(u'.')
+
+ # C.g:623:25: ( '0' .. '9' )*
+ while True: #loop15
+ alt15 = 2
+ LA15_0 = self.input.LA(1)
+
+ if ((u'0' <= LA15_0 <= u'9')) :
+ alt15 = 1
+
+
+ if alt15 == 1:
+ # C.g:623:26: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ break #loop15
+
+
+ # 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:623:37: Exponent
+ self.mExponent()
+
+
+
+
+ # 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:623:47: FloatTypeSuffix
+ self.mFloatTypeSuffix()
+
+
+
+
+
+
+ elif alt25 == 2:
+ # C.g:624:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
+ self.match(u'.')
+
+ # C.g:624:13: ( '0' .. '9' )+
+ cnt18 = 0
+ while True: #loop18
+ alt18 = 2
+ LA18_0 = self.input.LA(1)
+
+ if ((u'0' <= LA18_0 <= u'9')) :
+ alt18 = 1
+
+
+ if alt18 == 1:
+ # C.g:624:14: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ if cnt18 >= 1:
+ break #loop18
+
+ eee = EarlyExitException(18, self.input)
+ raise eee
+
+ cnt18 += 1
+
+
+ # 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:624:25: Exponent
+ self.mExponent()
+
+
+
+
+ # 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:624:35: FloatTypeSuffix
+ self.mFloatTypeSuffix()
+
+
+
+
+
+
+ elif alt25 == 3:
+ # C.g:625:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
+ # C.g:625:9: ( '0' .. '9' )+
+ cnt21 = 0
+ while True: #loop21
+ alt21 = 2
+ LA21_0 = self.input.LA(1)
+
+ if ((u'0' <= LA21_0 <= u'9')) :
+ alt21 = 1
+
+
+ if alt21 == 1:
+ # C.g:625:10: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ if cnt21 >= 1:
+ break #loop21
+
+ eee = EarlyExitException(21, self.input)
+ raise eee
+
+ cnt21 += 1
+
+
+ self.mExponent()
+
+ # 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:625:30: FloatTypeSuffix
+ self.mFloatTypeSuffix()
+
+
+
+
+
+
+ elif alt25 == 4:
+ # C.g:626:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix
+ # C.g:626:9: ( '0' .. '9' )+
+ cnt23 = 0
+ while True: #loop23
+ alt23 = 2
+ LA23_0 = self.input.LA(1)
+
+ if ((u'0' <= LA23_0 <= u'9')) :
+ alt23 = 1
+
+
+ if alt23 == 1:
+ # C.g:626:10: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ if cnt23 >= 1:
+ break #loop23
+
+ eee = EarlyExitException(23, self.input)
+ raise eee
+
+ cnt23 += 1
+
+
+ # 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:626:21: Exponent
+ self.mExponent()
+
+
+
+
+ self.mFloatTypeSuffix()
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end FLOATING_POINT_LITERAL
+
+
+
+ # $ANTLR start Exponent
+ def mExponent(self, ):
+
+ try:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ # C.g:630:22: ( '+' | '-' )?
+ alt26 = 2
+ LA26_0 = self.input.LA(1)
+
+ if (LA26_0 == u'+' or LA26_0 == u'-') :
+ alt26 = 1
+ if alt26 == 1:
+ # C.g:
+ if self.input.LA(1) == u'+' or self.input.LA(1) == u'-':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+ # C.g:630:33: ( '0' .. '9' )+
+ cnt27 = 0
+ while True: #loop27
+ alt27 = 2
+ LA27_0 = self.input.LA(1)
+
+ if ((u'0' <= LA27_0 <= u'9')) :
+ alt27 = 1
+
+
+ if alt27 == 1:
+ # C.g:630:34: '0' .. '9'
+ self.matchRange(u'0', u'9')
+
+
+
+ else:
+ if cnt27 >= 1:
+ break #loop27
+
+ eee = EarlyExitException(27, self.input)
+ raise eee
+
+ cnt27 += 1
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end Exponent
+
+
+
+ # $ANTLR start FloatTypeSuffix
+ def mFloatTypeSuffix(self, ):
+
+ try:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end FloatTypeSuffix
+
+
+
+ # $ANTLR start EscapeSequence
+ def mEscapeSequence(self, ):
+
+ try:
+ # C.g:637:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape )
+ alt28 = 2
+ LA28_0 = self.input.LA(1)
+
+ if (LA28_0 == u'\\') :
+ LA28_1 = self.input.LA(2)
+
+ if (LA28_1 == u'"' or LA28_1 == u'\'' or LA28_1 == u'\\' or LA28_1 == u'b' or LA28_1 == u'f' or LA28_1 == u'n' or LA28_1 == u'r' or LA28_1 == u't') :
+ alt28 = 1
+ elif ((u'0' <= LA28_1 <= u'7')) :
+ alt28 = 2
+ else:
+ nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 1, self.input)
+
+ raise nvae
+
+ else:
+ nvae = NoViableAltException("635:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape );", 28, 0, self.input)
+
+ raise nvae
+
+ if alt28 == 1:
+ # 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':
+ self.input.consume();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ elif alt28 == 2:
+ # C.g:638:9: OctalEscape
+ self.mOctalEscape()
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end EscapeSequence
+
+
+
+ # $ANTLR start OctalEscape
+ def mOctalEscape(self, ):
+
+ try:
+ # C.g:643:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+ alt29 = 3
+ LA29_0 = self.input.LA(1)
+
+ if (LA29_0 == u'\\') :
+ LA29_1 = self.input.LA(2)
+
+ if ((u'0' <= LA29_1 <= u'3')) :
+ LA29_2 = self.input.LA(3)
+
+ if ((u'0' <= LA29_2 <= u'7')) :
+ LA29_4 = self.input.LA(4)
+
+ if ((u'0' <= LA29_4 <= u'7')) :
+ alt29 = 1
+ else:
+ alt29 = 2
+ else:
+ alt29 = 3
+ elif ((u'4' <= LA29_1 <= u'7')) :
+ LA29_3 = self.input.LA(3)
+
+ if ((u'0' <= LA29_3 <= u'7')) :
+ alt29 = 2
+ else:
+ alt29 = 3
+ else:
+ 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("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:643:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+ self.match(u'\\')
+
+ # C.g:643:14: ( '0' .. '3' )
+ # C.g:643:15: '0' .. '3'
+ self.matchRange(u'0', u'3')
+
+
+
+
+ # C.g:643:25: ( '0' .. '7' )
+ # C.g:643:26: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+
+ # C.g:643:36: ( '0' .. '7' )
+ # C.g:643:37: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+
+
+
+ elif alt29 == 2:
+ # C.g:644:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+ self.match(u'\\')
+
+ # C.g:644:14: ( '0' .. '7' )
+ # C.g:644:15: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+
+ # C.g:644:25: ( '0' .. '7' )
+ # C.g:644:26: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+
+
+
+ elif alt29 == 3:
+ # C.g:645:9: '\\\\' ( '0' .. '7' )
+ self.match(u'\\')
+
+ # C.g:645:14: ( '0' .. '7' )
+ # C.g:645:15: '0' .. '7'
+ self.matchRange(u'0', u'7')
+
+
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end OctalEscape
+
+
+
+ # $ANTLR start UnicodeEscape
+ def mUnicodeEscape(self, ):
+
+ try:
+ # 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')
+
+ self.mHexDigit()
+
+ self.mHexDigit()
+
+ self.mHexDigit()
+
+ self.mHexDigit()
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end UnicodeEscape
+
+
+
+ # $ANTLR start WS
+ def mWS(self, ):
+
+ try:
+ self.type = WS
+
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+ #action start
+ self.channel=HIDDEN;
+ #action end
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end WS
+
+
+
+ # $ANTLR start BS
+ def mBS(self, ):
+
+ try:
+ self.type = BS
+
+ # C.g:657:5: ( ( '\\\\' ) )
+ # C.g:657:7: ( '\\\\' )
+ # C.g:657:7: ( '\\\\' )
+ # C.g:657:8: '\\\\'
+ self.match(u'\\')
+
+
+
+
+ #action start
+ self.channel=HIDDEN;
+ #action end
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end BS
+
+
+
+ # $ANTLR start UnicodeVocabulary
+ def mUnicodeVocabulary(self, ):
+
+ try:
+ self.type = UnicodeVocabulary
+
+ # C.g:665:5: ( '\\u0003' .. '\\uFFFE' )
+ # C.g:665:7: '\\u0003' .. '\\uFFFE'
+ self.matchRange(u'\u0003', u'\uFFFE')
+
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end UnicodeVocabulary
+
+
+
+ # $ANTLR start COMMENT
+ def mCOMMENT(self, ):
+
+ try:
+ self.type = COMMENT
+
+ # C.g:668:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ # C.g:668:9: '/*' ( options {greedy=false; } : . )* '*/'
+ self.match("/*")
+
+
+ # C.g:668:14: ( options {greedy=false; } : . )*
+ while True: #loop30
+ alt30 = 2
+ LA30_0 = self.input.LA(1)
+
+ if (LA30_0 == u'*') :
+ LA30_1 = self.input.LA(2)
+
+ if (LA30_1 == u'/') :
+ alt30 = 2
+ elif ((u'\u0000' <= LA30_1 <= u'.') or (u'0' <= LA30_1 <= u'\uFFFE')) :
+ alt30 = 1
+
+
+ elif ((u'\u0000' <= LA30_0 <= u')') or (u'+' <= LA30_0 <= u'\uFFFE')) :
+ alt30 = 1
+
+
+ if alt30 == 1:
+ # C.g:668:42: .
+ self.matchAny()
+
+
+
+ else:
+ break #loop30
+
+
+ self.match("*/")
+
+
+ #action start
+ self.channel=HIDDEN;
+ #action end
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end COMMENT
+
+
+
+ # $ANTLR start LINE_COMMENT
+ def mLINE_COMMENT(self, ):
+
+ try:
+ self.type = LINE_COMMENT
+
+ # C.g:673:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
+ # C.g:673:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
+ self.match("//")
+
+
+ # C.g:673:12: (~ ( '\\n' | '\\r' ) )*
+ while True: #loop31
+ alt31 = 2
+ LA31_0 = self.input.LA(1)
+
+ if ((u'\u0000' <= LA31_0 <= u'\t') or (u'\u000B' <= LA31_0 <= u'\f') or (u'\u000E' <= LA31_0 <= u'\uFFFE')) :
+ alt31 = 1
+
+
+ if alt31 == 1:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ else:
+ break #loop31
+
+
+ # 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:673:26: '\\r'
+ self.match(u'\r')
+
+
+
+
+ self.match(u'\n')
+
+ #action start
+ self.channel=HIDDEN;
+ #action end
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end LINE_COMMENT
+
+
+
+ # $ANTLR start LINE_COMMAND
+ def mLINE_COMMAND(self, ):
+
+ try:
+ self.type = LINE_COMMAND
+
+ # C.g:678:5: ( '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
+ # C.g:678:7: '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
+ self.match(u'#')
+
+ # C.g:678:11: (~ ( '\\n' | '\\r' ) )*
+ while True: #loop33
+ alt33 = 2
+ LA33_0 = self.input.LA(1)
+
+ if ((u'\u0000' <= LA33_0 <= u'\t') or (u'\u000B' <= LA33_0 <= u'\f') or (u'\u000E' <= LA33_0 <= u'\uFFFE')) :
+ alt33 = 1
+
+
+ if alt33 == 1:
+ # 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();
+
+ else:
+ mse = MismatchedSetException(None, self.input)
+ self.recover(mse)
+ raise mse
+
+
+
+
+ else:
+ break #loop33
+
+
+ # 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:678:25: '\\r'
+ self.match(u'\r')
+
+
+
+
+ self.match(u'\n')
+
+ #action start
+ self.channel=HIDDEN;
+ #action end
+
+
+
+
+ finally:
+
+ pass
+
+ # $ANTLR end LINE_COMMAND
+
+
+
+ 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 | 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
+ self.mT25()
+
+
+
+ elif alt35 == 2:
+ # C.g:1:14: T26
+ self.mT26()
+
+
+
+ elif alt35 == 3:
+ # C.g:1:18: T27
+ self.mT27()
+
+
+
+ elif alt35 == 4:
+ # C.g:1:22: T28
+ self.mT28()
+
+
+
+ elif alt35 == 5:
+ # C.g:1:26: T29
+ self.mT29()
+
+
+
+ elif alt35 == 6:
+ # C.g:1:30: T30
+ self.mT30()
+
+
+
+ elif alt35 == 7:
+ # C.g:1:34: T31
+ self.mT31()
+
+
+
+ elif alt35 == 8:
+ # C.g:1:38: T32
+ self.mT32()
+
+
+
+ elif alt35 == 9:
+ # C.g:1:42: T33
+ self.mT33()
+
+
+
+ elif alt35 == 10:
+ # C.g:1:46: T34
+ self.mT34()
+
+
+
+ elif alt35 == 11:
+ # C.g:1:50: T35
+ self.mT35()
+
+
+
+ elif alt35 == 12:
+ # C.g:1:54: T36
+ self.mT36()
+
+
+
+ elif alt35 == 13:
+ # C.g:1:58: T37
+ self.mT37()
+
+
+
+ elif alt35 == 14:
+ # C.g:1:62: T38
+ self.mT38()
+
+
+
+ elif alt35 == 15:
+ # C.g:1:66: T39
+ self.mT39()
+
+
+
+ elif alt35 == 16:
+ # C.g:1:70: T40
+ self.mT40()
+
+
+
+ elif alt35 == 17:
+ # C.g:1:74: T41
+ self.mT41()
+
+
+
+ elif alt35 == 18:
+ # C.g:1:78: T42
+ self.mT42()
+
+
+
+ elif alt35 == 19:
+ # C.g:1:82: T43
+ self.mT43()
+
+
+
+ elif alt35 == 20:
+ # C.g:1:86: T44
+ self.mT44()
+
+
+
+ elif alt35 == 21:
+ # C.g:1:90: T45
+ self.mT45()
+
+
+
+ elif alt35 == 22:
+ # C.g:1:94: T46
+ self.mT46()
+
+
+
+ elif alt35 == 23:
+ # C.g:1:98: T47
+ self.mT47()
+
+
+
+ elif alt35 == 24:
+ # C.g:1:102: T48
+ self.mT48()
+
+
+
+ elif alt35 == 25:
+ # C.g:1:106: T49
+ self.mT49()
+
+
+
+ elif alt35 == 26:
+ # C.g:1:110: T50
+ self.mT50()
+
+
+
+ elif alt35 == 27:
+ # C.g:1:114: T51
+ self.mT51()
+
+
+
+ elif alt35 == 28:
+ # C.g:1:118: T52
+ self.mT52()
+
+
+
+ elif alt35 == 29:
+ # C.g:1:122: T53
+ self.mT53()
+
+
+
+ elif alt35 == 30:
+ # C.g:1:126: T54
+ self.mT54()
+
+
+
+ elif alt35 == 31:
+ # C.g:1:130: T55
+ self.mT55()
+
+
+
+ elif alt35 == 32:
+ # C.g:1:134: T56
+ self.mT56()
+
+
+
+ elif alt35 == 33:
+ # C.g:1:138: T57
+ self.mT57()
+
+
+
+ elif alt35 == 34:
+ # C.g:1:142: T58
+ self.mT58()
+
+
+
+ elif alt35 == 35:
+ # C.g:1:146: T59
+ self.mT59()
+
+
+
+ elif alt35 == 36:
+ # C.g:1:150: T60
+ self.mT60()
+
+
+
+ elif alt35 == 37:
+ # C.g:1:154: T61
+ self.mT61()
+
+
+
+ elif alt35 == 38:
+ # C.g:1:158: T62
+ self.mT62()
+
+
+
+ elif alt35 == 39:
+ # C.g:1:162: T63
+ self.mT63()
+
+
+
+ elif alt35 == 40:
+ # C.g:1:166: T64
+ self.mT64()
+
+
+
+ elif alt35 == 41:
+ # C.g:1:170: T65
+ self.mT65()
+
+
+
+ elif alt35 == 42:
+ # C.g:1:174: T66
+ self.mT66()
+
+
+
+ elif alt35 == 43:
+ # C.g:1:178: T67
+ self.mT67()
+
+
+
+ elif alt35 == 44:
+ # C.g:1:182: T68
+ self.mT68()
+
+
+
+ elif alt35 == 45:
+ # C.g:1:186: T69
+ self.mT69()
+
+
+
+ elif alt35 == 46:
+ # C.g:1:190: T70
+ self.mT70()
+
+
+
+ elif alt35 == 47:
+ # C.g:1:194: T71
+ self.mT71()
+
+
+
+ elif alt35 == 48:
+ # C.g:1:198: T72
+ self.mT72()
+
+
+
+ elif alt35 == 49:
+ # C.g:1:202: T73
+ self.mT73()
+
+
+
+ elif alt35 == 50:
+ # C.g:1:206: T74
+ self.mT74()
+
+
+
+ elif alt35 == 51:
+ # C.g:1:210: T75
+ self.mT75()
+
+
+
+ elif alt35 == 52:
+ # C.g:1:214: T76
+ self.mT76()
+
+
+
+ elif alt35 == 53:
+ # C.g:1:218: T77
+ self.mT77()
+
+
+
+ elif alt35 == 54:
+ # C.g:1:222: T78
+ self.mT78()
+
+
+
+ elif alt35 == 55:
+ # C.g:1:226: T79
+ self.mT79()
+
+
+
+ elif alt35 == 56:
+ # C.g:1:230: T80
+ self.mT80()
+
+
+
+ elif alt35 == 57:
+ # C.g:1:234: T81
+ self.mT81()
+
+
+
+ elif alt35 == 58:
+ # C.g:1:238: T82
+ self.mT82()
+
+
+
+ elif alt35 == 59:
+ # C.g:1:242: T83
+ self.mT83()
+
+
+
+ elif alt35 == 60:
+ # C.g:1:246: T84
+ self.mT84()
+
+
+
+ elif alt35 == 61:
+ # C.g:1:250: T85
+ self.mT85()
+
+
+
+ elif alt35 == 62:
+ # C.g:1:254: T86
+ self.mT86()
+
+
+
+ elif alt35 == 63:
+ # C.g:1:258: T87
+ self.mT87()
+
+
+
+ elif alt35 == 64:
+ # C.g:1:262: T88
+ self.mT88()
+
+
+
+ elif alt35 == 65:
+ # C.g:1:266: T89
+ self.mT89()
+
+
+
+ elif alt35 == 66:
+ # C.g:1:270: T90
+ self.mT90()
+
+
+
+ elif alt35 == 67:
+ # C.g:1:274: T91
+ self.mT91()
+
+
+
+ elif alt35 == 68:
+ # C.g:1:278: T92
+ self.mT92()
+
+
+
+ elif alt35 == 69:
+ # C.g:1:282: T93
+ self.mT93()
+
+
+
+ elif alt35 == 70:
+ # C.g:1:286: T94
+ self.mT94()
+
+
+
+ elif alt35 == 71:
+ # C.g:1:290: T95
+ self.mT95()
+
+
+
+ elif alt35 == 72:
+ # C.g:1:294: T96
+ self.mT96()
+
+
+
+ elif alt35 == 73:
+ # C.g:1:298: T97
+ self.mT97()
+
+
+
+ elif alt35 == 74:
+ # C.g:1:302: T98
+ self.mT98()
+
+
+
+ elif alt35 == 75:
+ # C.g:1:306: T99
+ self.mT99()
+
+
+
+ elif alt35 == 76:
+ # C.g:1:310: T100
+ self.mT100()
+
+
+
+ elif alt35 == 77:
+ # C.g:1:315: T101
+ self.mT101()
+
+
+
+ elif alt35 == 78:
+ # C.g:1:320: T102
+ self.mT102()
+
+
+
+ elif alt35 == 79:
+ # C.g:1:325: T103
+ self.mT103()
+
+
+
+ elif alt35 == 80:
+ # C.g:1:330: T104
+ self.mT104()
+
+
+
+ elif alt35 == 81:
+ # C.g:1:335: T105
+ self.mT105()
+
+
+
+ elif alt35 == 82:
+ # C.g:1:340: T106
+ self.mT106()
+
+
+
+ elif alt35 == 83:
+ # C.g:1:345: T107
+ self.mT107()
+
+
+
+ elif alt35 == 84:
+ # C.g:1:350: T108
+ self.mT108()
+
+
+
+ elif alt35 == 85:
+ # C.g:1:355: T109
+ self.mT109()
+
+
+
+ elif alt35 == 86:
+ # C.g:1:360: T110
+ self.mT110()
+
+
+
+ elif alt35 == 87:
+ # C.g:1:365: T111
+ self.mT111()
+
+
+
+ elif alt35 == 88:
+ # C.g:1:370: T112
+ self.mT112()
+
+
+
+ elif alt35 == 89:
+ # C.g:1:375: T113
+ self.mT113()
+
+
+
+ elif alt35 == 90:
+ # C.g:1:380: T114
+ self.mT114()
+
+
+
+ elif alt35 == 91:
+ # C.g:1:385: T115
+ self.mT115()
+
+
+
+ elif alt35 == 92:
+ # C.g:1:390: T116
+ self.mT116()
+
+
+
+ elif alt35 == 93:
+ # C.g:1:395: T117
+ self.mT117()
+
+
+
+ elif alt35 == 94:
+ # C.g:1:400: IDENTIFIER
+ self.mIDENTIFIER()
+
+
+
+ elif alt35 == 95:
+ # C.g:1:411: CHARACTER_LITERAL
+ self.mCHARACTER_LITERAL()
+
+
+
+ elif alt35 == 96:
+ # C.g:1:429: STRING_LITERAL
+ self.mSTRING_LITERAL()
+
+
+
+ elif alt35 == 97:
+ # C.g:1:444: HEX_LITERAL
+ self.mHEX_LITERAL()
+
+
+
+ elif alt35 == 98:
+ # C.g:1:456: DECIMAL_LITERAL
+ self.mDECIMAL_LITERAL()
+
+
+
+ elif alt35 == 99:
+ # C.g:1:472: OCTAL_LITERAL
+ self.mOCTAL_LITERAL()
+
+
+
+ elif alt35 == 100:
+ # C.g:1:486: FLOATING_POINT_LITERAL
+ self.mFLOATING_POINT_LITERAL()
+
+
+
+ elif alt35 == 101:
+ # C.g:1:509: WS
+ self.mWS()
+
+
+
+ elif alt35 == 102:
+ # C.g:1:512: BS
+ self.mBS()
+
+
+
+ elif alt35 == 103:
+ # C.g:1:515: UnicodeVocabulary
+ self.mUnicodeVocabulary()
+
+
+
+ elif alt35 == 104:
+ # C.g:1:533: COMMENT
+ self.mCOMMENT()
+
+
+
+ elif alt35 == 105:
+ # C.g:1:541: LINE_COMMENT
+ self.mLINE_COMMENT()
+
+
+
+ elif alt35 == 106:
+ # C.g:1:554: LINE_COMMAND
+ self.mLINE_COMMAND()
+
+
+
+
+
+
+
+
+ # lookup tables for DFA #25
+
+ DFA25_eot = DFA.unpack(
+ u"\7\uffff\1\10\2\uffff"
+ )
+
+ DFA25_eof = DFA.unpack(
+ u"\12\uffff"
+ )
+
+ DFA25_min = DFA.unpack(
+ u"\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff"
+ )
+
+ DFA25_max = DFA.unpack(
+ 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\1\1\uffff\1\4\2\uffff\2\3"
+ )
+
+ DFA25_special = DFA.unpack(
+ u"\12\uffff"
+ )
+
+
+ DFA25_transition = [
+ DFA.unpack(u"\1\2\1\uffff\12\1"),
+ 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""),
+ 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"
+ u"\1\11"),
+ DFA.unpack(u""),
+ DFA.unpack(u"")
+ ]
+
+ # class definition for DFA #25
+
+ DFA25 = DFA
+ # lookup tables for DFA #35
+
+ DFA35_eot = DFA.unpack(
+ 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"\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\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\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\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"\u0192\uffff"
+ )
+
+
+ DFA35_transition = [
+ 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\75"),
+ DFA.unpack(u""),
+ 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\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\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\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\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\u008c\1\uffff\1\u008d"),
+ DFA.unpack(u"\1\u008e"),
+ 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\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\u0099"),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u"\1\u009a"),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u"\1\u009b"),
+ DFA.unpack(u"\1\u009c"),
+ DFA.unpack(u"\1\u009d"),
+ DFA.unpack(u"\1\u009e"),
+ 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\u00ab"),
+ DFA.unpack(u"\1\u00ac"),
+ 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\u00b0"),
+ DFA.unpack(u"\1\u00b1"),
+ DFA.unpack(u"\1\u00b2"),
+ 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\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""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u"\1\u00c0"),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u"\1\u00c2"),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ 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\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\u00ca"),
+ DFA.unpack(u"\1\u00cb"),
+ DFA.unpack(u"\1\u00cc"),
+ DFA.unpack(u"\1\u00cd"),
+ DFA.unpack(u"\1\u00ce"),
+ DFA.unpack(u"\1\u00cf"),
+ DFA.unpack(u"\1\u00d0"),
+ DFA.unpack(u"\1\u00d1"),
+ DFA.unpack(u"\1\u00d2"),
+ DFA.unpack(u"\1\u00d3"),
+ DFA.unpack(u"\1\u00d4"),
+ DFA.unpack(u"\1\u00d5"),
+ DFA.unpack(u"\1\u00d6"),
+ 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\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"\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\u00e4"),
+ DFA.unpack(u"\1\u00e5"),
+ DFA.unpack(u""),
+ DFA.unpack(u"\1\u00e6"),
+ 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\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\u00ef"),
+ DFA.unpack(u"\1\u00f0"),
+ 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\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\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\u00fa"),
+ DFA.unpack(u"\1\u00fb"),
+ DFA.unpack(u"\1\u00fc"),
+ DFA.unpack(u"\1\u00fd"),
+ 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\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\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""),
+ DFA.unpack(u"\1\u010f"),
+ DFA.unpack(u"\1\u0110"),
+ DFA.unpack(u"\1\u0111"),
+ DFA.unpack(u"\1\u0112"),
+ 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"\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\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""),
+ DFA.unpack(u"\1\u011e"),
+ DFA.unpack(u"\1\u011f"),
+ DFA.unpack(u"\1\u0120"),
+ DFA.unpack(u"\1\u0121"),
+ DFA.unpack(u"\1\u0122"),
+ 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\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\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\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\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\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\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\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\u0143"),
+ 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\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""),
+ DFA.unpack(u"\1\u014b"),
+ DFA.unpack(u""),
+ 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""),
+ DFA.unpack(u""),
+ DFA.unpack(u""),
+ 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\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\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""),
+ 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""),
+ 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\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"),
+ DFA.unpack(u"\1\u0172"),
+ DFA.unpack(u"\1\u0173"),
+ DFA.unpack(u"\1\u0174"),
+ DFA.unpack(u"\1\u0175"),
+ DFA.unpack(u"\1\u0176"),
+ DFA.unpack(u"\1\u0177"),
+ DFA.unpack(u"\1\u0178"),
+ DFA.unpack(u"\1\u0179"),
+ DFA.unpack(u"\1\u017a"),
+ DFA.unpack(u"\1\u017b"),
+ DFA.unpack(u"\1\u017c"),
+ DFA.unpack(u"\1\u017d"),
+ DFA.unpack(u"\1\u017e"),
+ 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\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\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"")
+ ]
+
+ # class definition for DFA #35
+
+ DFA35 = DFA
+
+
diff --git a/BaseTools/Source/Python/Ecc/CParser.py b/BaseTools/Source/Python/Ecc/CParser.py index 511d429f26..baa521f43c 100644 --- a/BaseTools/Source/Python/Ecc/CParser.py +++ b/BaseTools/Source/Python/Ecc/CParser.py @@ -1,7 +1,7 @@ -# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 - -from antlr3 import * -from antlr3.compat import set, frozenset +# $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.
@@ -24,88 +24,88 @@ from antlr3.compat import set, frozenset import CodeFragment
import FileProfile
- - - -# for convenience in actions -HIDDEN = BaseRecognizer.HIDDEN - -# token types -BS=20 -LINE_COMMENT=23 -FloatTypeSuffix=16 -IntegerTypeSuffix=14 -LETTER=11 -OCTAL_LITERAL=6 -CHARACTER_LITERAL=8 -Exponent=15 -EOF=-1 -HexDigit=13 -STRING_LITERAL=9 -WS=19 -FLOATING_POINT_LITERAL=10 -IDENTIFIER=4 -UnicodeEscape=18 -LINE_COMMAND=24 -UnicodeVocabulary=21 -HEX_LITERAL=5 -COMMENT=22 -DECIMAL_LITERAL=7 -EscapeSequence=12 -OctalEscape=17 - -# token names -tokenNames = [ - "<invalid>", "<EOR>", "<DOWN>", "<UP>", - "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL", - "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence", - "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape", - "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT", - "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'", - "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'", - "'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'", "'PACKED'", - "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'", - "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='", - "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", - "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='", - "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'", - "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'", - "'goto'", "'continue'", "'break'", "'return'" -] - - -class function_definition_scope(object): - def __init__(self): - self.ModifierText = None - self.DeclText = None - self.LBLine = None - self.LBOffset = None - self.DeclLine = None - self.DeclOffset = None -class postfix_expression_scope(object): - def __init__(self): - self.FuncCallText = None - - -class CParser(Parser): - grammarFileName = "C.g" - tokenNames = tokenNames - - def __init__(self, input): - Parser.__init__(self, input) - self.ruleMemo = {} - - self.function_definition_stack = [] - self.postfix_expression_stack = [] - - - - - - +
+
+
+# for convenience in actions
+HIDDEN = BaseRecognizer.HIDDEN
+
+# token types
+BS=20
+LINE_COMMENT=23
+FloatTypeSuffix=16
+IntegerTypeSuffix=14
+LETTER=11
+OCTAL_LITERAL=6
+CHARACTER_LITERAL=8
+Exponent=15
+EOF=-1
+HexDigit=13
+STRING_LITERAL=9
+WS=19
+FLOATING_POINT_LITERAL=10
+IDENTIFIER=4
+UnicodeEscape=18
+LINE_COMMAND=24
+UnicodeVocabulary=21
+HEX_LITERAL=5
+COMMENT=22
+DECIMAL_LITERAL=7
+EscapeSequence=12
+OctalEscape=17
+
+# token names
+tokenNames = [
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>",
+ "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
+ "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
+ "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
+ "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
+ "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
+ "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
+ "'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'", "'PACKED'",
+ "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
+ "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
+ "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
+ "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
+ "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
+ "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
+ "'goto'", "'continue'", "'break'", "'return'"
+]
+
+
+class function_definition_scope(object):
+ def __init__(self):
+ self.ModifierText = None
+ self.DeclText = None
+ self.LBLine = None
+ self.LBOffset = None
+ self.DeclLine = None
+ self.DeclOffset = None
+class postfix_expression_scope(object):
+ def __init__(self):
+ self.FuncCallText = None
+
+
+class CParser(Parser):
+ grammarFileName = "C.g"
+ tokenNames = tokenNames
+
+ def __init__(self, input):
+ Parser.__init__(self, input)
+ self.ruleMemo = {}
+
+ self.function_definition_stack = []
+ self.postfix_expression_stack = []
+
+
+
+
+
+
def printTokenInfo(self, line, offset, tokenText):
@@ -139,442 +139,442 @@ class CParser(Parser): FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))
FileProfile.FunctionCallingList.append(FuncCall)
- - - - # $ANTLR start translation_unit - # C.g:102:1: translation_unit : ( external_declaration )* ; - def translation_unit(self, ): - - translation_unit_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1): - return - - # 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 <= 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_unit74) - self.external_declaration() - self.following.pop() - if self.failed: - return - - - else: - break #loop1 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 1, translation_unit_StartIndex) - - pass - - return - - # $ANTLR end translation_unit - - - # $ANTLR start external_declaration - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2): - return - - # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? ) - alt3 = 3 - LA3_0 = self.input.LA(1) - - if ((29 <= LA3_0 <= 33)) : - LA3_1 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input) - - raise nvae - - elif (LA3_0 == 34) : - LA3_2 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input) - - raise nvae - - elif (LA3_0 == 35) : - LA3_3 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input) - - raise nvae - - elif (LA3_0 == 36) : - LA3_4 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input) - - raise nvae - - elif (LA3_0 == 37) : - LA3_5 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input) - - raise nvae - - elif (LA3_0 == 38) : - LA3_6 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input) - - raise nvae - - elif (LA3_0 == 39) : - LA3_7 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input) - - raise nvae - - elif (LA3_0 == 40) : - LA3_8 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input) - - raise nvae - - elif (LA3_0 == 41) : - LA3_9 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input) - - raise nvae - - elif (LA3_0 == 42) : - LA3_10 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input) - - raise nvae - - elif ((45 <= LA3_0 <= 46)) : - LA3_11 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input) - - raise nvae - - elif (LA3_0 == 48) : - LA3_12 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input) - - raise nvae - - elif (LA3_0 == IDENTIFIER) : - LA3_13 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - elif (True) : - alt3 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input) - - raise nvae - - elif (LA3_0 == 58) : - LA3_14 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 66) and (self.synpred4()): - alt3 = 1 - elif (LA3_0 == 59) : - LA3_16 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input) - - raise nvae - - elif (LA3_0 == 60) : - LA3_17 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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) or LA3_0 == 61) : - LA3_18 = self.input.LA(2) - - if (self.synpred4()) : - alt3 = 1 - elif (self.synpred5()) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 62) and (self.synpred4()): - alt3 = 1 - elif (LA3_0 == 26) : - alt3 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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: - return - - - elif alt3 == 2: - # C.g:120:4: declaration - self.following.append(self.FOLLOW_declaration_in_external_declaration118) - self.declaration() - self.following.pop() - if self.failed: - return - - - elif alt3 == 3: - # 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:121:20: ( ';' )? - alt2 = 2 - LA2_0 = self.input.LA(1) - - if (LA2_0 == 25) : - alt2 = 1 - if alt2 == 1: - # C.g:121:21: ';' - self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126) - if self.failed: - return - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 2, external_declaration_StartIndex) - - pass - - return - - # $ANTLR end external_declaration - - class function_definition_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start function_definition - # 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() - retval.start = self.input.LT(1) - function_definition_StartIndex = self.input.index() - d = None - - a = None - - b = None - - declarator1 = None - - +
+
+
+ # $ANTLR start translation_unit
+ # C.g:102:1: translation_unit : ( external_declaration )* ;
+ def translation_unit(self, ):
+
+ translation_unit_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 1):
+ return
+
+ # 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 <= 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_unit74)
+ self.external_declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop1
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 1, translation_unit_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end translation_unit
+
+
+ # $ANTLR start external_declaration
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
+ return
+
+ # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
+ alt3 = 3
+ LA3_0 = self.input.LA(1)
+
+ if ((29 <= LA3_0 <= 33)) :
+ LA3_1 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 34) :
+ LA3_2 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 35) :
+ LA3_3 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 36) :
+ LA3_4 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 37) :
+ LA3_5 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 38) :
+ LA3_6 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 39) :
+ LA3_7 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 40) :
+ LA3_8 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 41) :
+ LA3_9 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 42) :
+ LA3_10 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
+
+ raise nvae
+
+ elif ((45 <= LA3_0 <= 46)) :
+ LA3_11 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 48) :
+ LA3_12 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == IDENTIFIER) :
+ LA3_13 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ elif (True) :
+ alt3 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 58) :
+ LA3_14 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 66) and (self.synpred4()):
+ alt3 = 1
+ elif (LA3_0 == 59) :
+ LA3_16 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
+
+ raise nvae
+
+ elif (LA3_0 == 60) :
+ LA3_17 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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) or LA3_0 == 61) :
+ LA3_18 = self.input.LA(2)
+
+ if (self.synpred4()) :
+ alt3 = 1
+ elif (self.synpred5()) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 62) and (self.synpred4()):
+ alt3 = 1
+ elif (LA3_0 == 26) :
+ alt3 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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:
+ return
+
+
+ elif alt3 == 2:
+ # C.g:120:4: declaration
+ self.following.append(self.FOLLOW_declaration_in_external_declaration118)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt3 == 3:
+ # 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:121:20: ( ';' )?
+ alt2 = 2
+ LA2_0 = self.input.LA(1)
+
+ if (LA2_0 == 25) :
+ alt2 = 1
+ if alt2 == 1:
+ # C.g:121:21: ';'
+ self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
+ if self.failed:
+ return
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 2, external_declaration_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end external_declaration
+
+ class function_definition_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start function_definition
+ # 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()
+ retval.start = self.input.LT(1)
+ function_definition_StartIndex = self.input.index()
+ d = None
+
+ a = None
+
+ b = None
+
+ declarator1 = None
+
+
self.function_definition_stack[-1].ModifierText = ''
self.function_definition_stack[-1].DeclText = ''
@@ -582,213 +582,213 @@ class CParser(Parser): self.function_definition_stack[-1].LBOffset = 0
self.function_definition_stack[-1].DeclLine = 0
self.function_definition_stack[-1].DeclOffset = 0
- - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3): - return retval - - # 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 or LA4 == 61: - alt4 = 1 - elif LA4 == IDENTIFIER: - LA4 = self.input.LA(2) - if LA4 == 66: - alt4 = 1 - elif LA4 == 58: - LA4_21 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 59: - LA4_22 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 60: - LA4_23 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == IDENTIFIER: - LA4_24 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 62: - LA4_25 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33: - LA4_26 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 34: - LA4_27 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 35: - LA4_28 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 36: - LA4_29 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 37: - LA4_30 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 38: - LA4_31 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 39: - LA4_32 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 40: - LA4_33 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 41: - LA4_34 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 42: - LA4_35 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 45 or LA4 == 46: - LA4_36 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 48: - LA4_37 = self.input.LA(3) - - 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 or LA4 == 61: - LA4_38 = self.input.LA(3) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 58: - LA4_14 = self.input.LA(2) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 59: - LA4_16 = self.input.LA(2) - - if (self.synpred7()) : - alt4 = 1 - elif LA4 == 60: - LA4_17 = self.input.LA(2) - - if (self.synpred7()) : - alt4 = 1 - if alt4 == 1: - # C.g:0:0: d= declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157) - d = self.declaration_specifiers() - self.following.pop() - if self.failed: - return retval - - - - self.following.append(self.FOLLOW_declarator_in_function_definition160) - declarator1 = self.declarator() - self.following.pop() - if self.failed: - return retval - # 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 <= 61)) : - alt6 = 1 - elif (LA6_0 == 43) : - alt6 = 2 - else: - if self.backtracking > 0: - self.failed = True - return retval - - nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input) - - raise nvae - - if alt6 == 1: - # 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 <= 61)) : - alt5 = 1 - - - if alt5 == 1: - # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_function_definition166) - self.declaration() - self.following.pop() - if self.failed: - return retval - - - else: - if cnt5 >= 1: - break #loop5 - - if self.backtracking > 0: - self.failed = True - return retval - - eee = EarlyExitException(5, self.input) - raise eee - - cnt5 += 1 - - - self.following.append(self.FOLLOW_compound_statement_in_function_definition171) - a = self.compound_statement() - self.following.pop() - if self.failed: - return retval - - - elif alt6 == 2: - # 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: - return retval - - - - if self.backtracking == 0: +
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 3):
+ return retval
+
+ # 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 or LA4 == 61:
+ alt4 = 1
+ elif LA4 == IDENTIFIER:
+ LA4 = self.input.LA(2)
+ if LA4 == 66:
+ alt4 = 1
+ elif LA4 == 58:
+ LA4_21 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 59:
+ LA4_22 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 60:
+ LA4_23 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == IDENTIFIER:
+ LA4_24 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 62:
+ LA4_25 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 29 or LA4 == 30 or LA4 == 31 or LA4 == 32 or LA4 == 33:
+ LA4_26 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 34:
+ LA4_27 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 35:
+ LA4_28 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 36:
+ LA4_29 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 37:
+ LA4_30 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 38:
+ LA4_31 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 39:
+ LA4_32 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 40:
+ LA4_33 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 41:
+ LA4_34 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 42:
+ LA4_35 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 45 or LA4 == 46:
+ LA4_36 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 48:
+ LA4_37 = self.input.LA(3)
+
+ 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 or LA4 == 61:
+ LA4_38 = self.input.LA(3)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 58:
+ LA4_14 = self.input.LA(2)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 59:
+ LA4_16 = self.input.LA(2)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ elif LA4 == 60:
+ LA4_17 = self.input.LA(2)
+
+ if (self.synpred7()) :
+ alt4 = 1
+ if alt4 == 1:
+ # C.g:0:0: d= declaration_specifiers
+ self.following.append(self.FOLLOW_declaration_specifiers_in_function_definition157)
+ d = self.declaration_specifiers()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+
+ self.following.append(self.FOLLOW_declarator_in_function_definition160)
+ declarator1 = self.declarator()
+ self.following.pop()
+ if self.failed:
+ return retval
+ # 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 <= 61)) :
+ alt6 = 1
+ elif (LA6_0 == 43) :
+ alt6 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ nvae = NoViableAltException("147:3: ( ( declaration )+ a= compound_statement | b= compound_statement )", 6, 0, self.input)
+
+ raise nvae
+
+ if alt6 == 1:
+ # 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 <= 61)) :
+ alt5 = 1
+
+
+ if alt5 == 1:
+ # C.g:0:0: declaration
+ self.following.append(self.FOLLOW_declaration_in_function_definition166)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ else:
+ if cnt5 >= 1:
+ break #loop5
+
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ eee = EarlyExitException(5, self.input)
+ raise eee
+
+ cnt5 += 1
+
+
+ self.following.append(self.FOLLOW_compound_statement_in_function_definition171)
+ a = self.compound_statement()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ elif alt6 == 2:
+ # 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:
+ return retval
+
+
+
+ if self.backtracking == 0:
if d != None:
self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)
@@ -803,18042 +803,18042 @@ class CParser(Parser): else:
self.function_definition_stack[-1].LBLine = b.start.line
self.function_definition_stack[-1].LBOffset = b.start.charPositionInLine
- - - - - - retval.stop = self.input.LT(-1) - - if self.backtracking == 0: +
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+ if self.backtracking == 0:
self.StoreFunctionDefinition(retval.start.line, retval.start.charPositionInLine, retval.stop.line, retval.stop.charPositionInLine, self.function_definition_stack[-1].ModifierText, self.function_definition_stack[-1].DeclText, self.function_definition_stack[-1].LBLine, self.function_definition_stack[-1].LBOffset, self.function_definition_stack[-1].DeclLine, self.function_definition_stack[-1].DeclOffset)
- - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 3, function_definition_StartIndex) - - self.function_definition_stack.pop() - pass - - return retval - - # $ANTLR end function_definition - - - # $ANTLR start declaration - # 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() - a = None - d = None - e = None - b = None - - c = None - - s = None - - t = None - - - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4): - return - - # 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 <= 61)) : - alt9 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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_declaration203) - if self.failed: - return - # 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 or LA7 == 61: - alt7 = 1 - elif LA7 == IDENTIFIER: - LA7_13 = self.input.LA(2) - - 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) - - if (self.synpred10()) : - alt7 = 1 - elif LA7 == 59: - LA7_16 = self.input.LA(2) - - if (self.synpred10()) : - alt7 = 1 - elif LA7 == 60: - LA7_17 = self.input.LA(2) - - if (self.synpred10()) : - alt7 = 1 - if alt7 == 1: - # C.g:0:0: b= declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207) - b = self.declaration_specifiers() - self.following.pop() - if self.failed: - return - - - - 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_declaration220) - if self.failed: - return - if self.backtracking == 0: +
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 3, function_definition_StartIndex)
+
+ self.function_definition_stack.pop()
+ pass
+
+ return retval
+
+ # $ANTLR end function_definition
+
+
+ # $ANTLR start declaration
+ # 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()
+ a = None
+ d = None
+ e = None
+ b = None
+
+ c = None
+
+ s = None
+
+ t = None
+
+
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
+ return
+
+ # 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 <= 61)) :
+ alt9 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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_declaration203)
+ if self.failed:
+ return
+ # 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 or LA7 == 61:
+ alt7 = 1
+ elif LA7 == IDENTIFIER:
+ LA7_13 = self.input.LA(2)
+
+ 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)
+
+ if (self.synpred10()) :
+ alt7 = 1
+ elif LA7 == 59:
+ LA7_16 = self.input.LA(2)
+
+ if (self.synpred10()) :
+ alt7 = 1
+ elif LA7 == 60:
+ LA7_17 = self.input.LA(2)
+
+ if (self.synpred10()) :
+ alt7 = 1
+ if alt7 == 1:
+ # C.g:0:0: b= declaration_specifiers
+ self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
+ b = self.declaration_specifiers()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ 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_declaration220)
+ if self.failed:
+ return
+ if self.backtracking == 0:
if b != None:
self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
else:
self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
- - - - - elif alt9 == 2: - # 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:175:30: (t= init_declarator_list )? - alt8 = 2 - LA8_0 = self.input.LA(1) - - 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_declaration238) - t = self.init_declarator_list() - self.following.pop() - if self.failed: - return - - - - e = self.input.LT(1) - self.match(self.input, 25, self.FOLLOW_25_in_declaration243) - if self.failed: - return - if self.backtracking == 0: +
+
+
+
+ elif alt9 == 2:
+ # 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:175:30: (t= init_declarator_list )?
+ alt8 = 2
+ LA8_0 = self.input.LA(1)
+
+ 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_declaration238)
+ t = self.init_declarator_list()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ e = self.input.LT(1)
+ self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
+ if self.failed:
+ return
+ if self.backtracking == 0:
if t != None:
self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))
- - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 4, declaration_StartIndex) - - pass - - return - - # $ANTLR end declaration - - class declaration_specifiers_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start declaration_specifiers - # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ; - def declaration_specifiers(self, ): - - retval = self.declaration_specifiers_return() - retval.start = self.input.LT(1) - declaration_specifiers_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5): - return retval - - # 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 - LA10 = self.input.LA(1) - if LA10 == 58: - LA10_2 = self.input.LA(2) - - if (self.synpred15()) : - alt10 = 3 - - - elif LA10 == 59: - LA10_3 = self.input.LA(2) - - if (self.synpred15()) : - alt10 = 3 - - - elif LA10 == 60: - LA10_4 = self.input.LA(2) - - if (self.synpred15()) : - alt10 = 3 - - - elif LA10 == IDENTIFIER: - LA10_5 = self.input.LA(2) - - if (self.synpred14()) : - alt10 = 2 - - - elif LA10 == 53: - LA10_9 = self.input.LA(2) - - if (self.synpred15()) : - alt10 = 3 - - - elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33: - 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 or LA10 == 61: - alt10 = 3 - - if alt10 == 1: - # 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: - return retval - - - elif alt10 == 2: - # 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: - return retval - - - elif alt10 == 3: - # 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: - return retval - - - else: - if cnt10 >= 1: - break #loop10 - - if self.backtracking > 0: - self.failed = True - return retval - - eee = EarlyExitException(10, self.input) - raise eee - - cnt10 += 1 - - - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 5, declaration_specifiers_StartIndex) - - pass - - return retval - - # $ANTLR end declaration_specifiers - - class init_declarator_list_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start init_declarator_list - # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ; - def init_declarator_list(self, ): - - retval = self.init_declarator_list_return() - retval.start = self.input.LT(1) - init_declarator_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6): - return retval - - # 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:190:20: ( ',' init_declarator )* - while True: #loop11 - alt11 = 2 - LA11_0 = self.input.LA(1) - - if (LA11_0 == 27) : - alt11 = 1 - - - if alt11 == 1: - # 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_list313) - self.init_declarator() - self.following.pop() - if self.failed: - return retval - - - else: - break #loop11 - - - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 6, init_declarator_list_StartIndex) - - pass - - return retval - - # $ANTLR end init_declarator_list - - - # $ANTLR start init_declarator - # C.g:193:1: init_declarator : declarator ( '=' initializer )? ; - def init_declarator(self, ): - - init_declarator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7): - return - - # 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:194:15: ( '=' initializer )? - alt12 = 2 - LA12_0 = self.input.LA(1) - - if (LA12_0 == 28) : - alt12 = 1 - if alt12 == 1: - # 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_declarator331) - self.initializer() - self.following.pop() - if self.failed: - return - - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 7, init_declarator_StartIndex) - - pass - - return - - # $ANTLR end init_declarator - - - # $ANTLR start storage_class_specifier - # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ); - def storage_class_specifier(self, ): - - storage_class_specifier_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8): - return - - # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' ) - # C.g: - if (29 <= self.input.LA(1) <= 33): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_storage_class_specifier0 - ) - raise mse - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 8, storage_class_specifier_StartIndex) - - pass - - return - - # $ANTLR end storage_class_specifier - - - # $ANTLR start type_specifier - # 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() - s = None - - e = None - - - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9): - return - - # 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) - - if (LA13_0 == 34) : - alt13 = 1 - elif (LA13_0 == 35) : - alt13 = 2 - elif (LA13_0 == 36) : - alt13 = 3 - elif (LA13_0 == 37) : - alt13 = 4 - elif (LA13_0 == 38) : - alt13 = 5 - elif (LA13_0 == 39) : - alt13 = 6 - elif (LA13_0 == 40) : - alt13 = 7 - elif (LA13_0 == 41) : - alt13 = 8 - elif (LA13_0 == 42) : - alt13 = 9 - elif ((45 <= LA13_0 <= 46)) : - alt13 = 10 - elif (LA13_0 == 48) : - alt13 = 11 - elif (LA13_0 == IDENTIFIER) and (self.synpred34()): - alt13 = 12 - else: - if self.backtracking > 0: - self.failed = True - return - - 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:206:4: 'void' - self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376) - if self.failed: - return - - - elif alt13 == 2: - # 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:208:4: 'short' - self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386) - if self.failed: - return - - - elif alt13 == 4: - # 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:210:4: 'long' - self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396) - if self.failed: - return - - - elif alt13 == 6: - # 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:212:4: 'double' - self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406) - if self.failed: - return - - - elif alt13 == 8: - # 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:214:4: 'unsigned' - self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416) - if self.failed: - return - - - elif alt13 == 10: - # 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: - return - if self.backtracking == 0: +
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 4, declaration_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end declaration
+
+ class declaration_specifiers_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start declaration_specifiers
+ # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
+ def declaration_specifiers(self, ):
+
+ retval = self.declaration_specifiers_return()
+ retval.start = self.input.LT(1)
+ declaration_specifiers_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
+ return retval
+
+ # 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
+ LA10 = self.input.LA(1)
+ if LA10 == 58:
+ LA10_2 = self.input.LA(2)
+
+ if (self.synpred15()) :
+ alt10 = 3
+
+
+ elif LA10 == 59:
+ LA10_3 = self.input.LA(2)
+
+ if (self.synpred15()) :
+ alt10 = 3
+
+
+ elif LA10 == 60:
+ LA10_4 = self.input.LA(2)
+
+ if (self.synpred15()) :
+ alt10 = 3
+
+
+ elif LA10 == IDENTIFIER:
+ LA10_5 = self.input.LA(2)
+
+ if (self.synpred14()) :
+ alt10 = 2
+
+
+ elif LA10 == 53:
+ LA10_9 = self.input.LA(2)
+
+ if (self.synpred15()) :
+ alt10 = 3
+
+
+ elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
+ 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 or LA10 == 61:
+ alt10 = 3
+
+ if alt10 == 1:
+ # 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:
+ return retval
+
+
+ elif alt10 == 2:
+ # 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:
+ return retval
+
+
+ elif alt10 == 3:
+ # 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:
+ return retval
+
+
+ else:
+ if cnt10 >= 1:
+ break #loop10
+
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ eee = EarlyExitException(10, self.input)
+ raise eee
+
+ cnt10 += 1
+
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 5, declaration_specifiers_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end declaration_specifiers
+
+ class init_declarator_list_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start init_declarator_list
+ # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
+ def init_declarator_list(self, ):
+
+ retval = self.init_declarator_list_return()
+ retval.start = self.input.LT(1)
+ init_declarator_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
+ return retval
+
+ # 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:190:20: ( ',' init_declarator )*
+ while True: #loop11
+ alt11 = 2
+ LA11_0 = self.input.LA(1)
+
+ if (LA11_0 == 27) :
+ alt11 = 1
+
+
+ if alt11 == 1:
+ # 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_list313)
+ self.init_declarator()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ else:
+ break #loop11
+
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 6, init_declarator_list_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end init_declarator_list
+
+
+ # $ANTLR start init_declarator
+ # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
+ def init_declarator(self, ):
+
+ init_declarator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
+ return
+
+ # 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:194:15: ( '=' initializer )?
+ alt12 = 2
+ LA12_0 = self.input.LA(1)
+
+ if (LA12_0 == 28) :
+ alt12 = 1
+ if alt12 == 1:
+ # 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_declarator331)
+ self.initializer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 7, init_declarator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end init_declarator
+
+
+ # $ANTLR start storage_class_specifier
+ # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
+ def storage_class_specifier(self, ):
+
+ storage_class_specifier_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
+ return
+
+ # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
+ # C.g:
+ if (29 <= self.input.LA(1) <= 33):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
+ )
+ raise mse
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 8, storage_class_specifier_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end storage_class_specifier
+
+
+ # $ANTLR start type_specifier
+ # 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()
+ s = None
+
+ e = None
+
+
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
+ return
+
+ # 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)
+
+ if (LA13_0 == 34) :
+ alt13 = 1
+ elif (LA13_0 == 35) :
+ alt13 = 2
+ elif (LA13_0 == 36) :
+ alt13 = 3
+ elif (LA13_0 == 37) :
+ alt13 = 4
+ elif (LA13_0 == 38) :
+ alt13 = 5
+ elif (LA13_0 == 39) :
+ alt13 = 6
+ elif (LA13_0 == 40) :
+ alt13 = 7
+ elif (LA13_0 == 41) :
+ alt13 = 8
+ elif (LA13_0 == 42) :
+ alt13 = 9
+ elif ((45 <= LA13_0 <= 46)) :
+ alt13 = 10
+ elif (LA13_0 == 48) :
+ alt13 = 11
+ elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
+ alt13 = 12
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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:206:4: 'void'
+ self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
+ if self.failed:
+ return
+
+
+ elif alt13 == 2:
+ # 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:208:4: 'short'
+ self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
+ if self.failed:
+ return
+
+
+ elif alt13 == 4:
+ # 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:210:4: 'long'
+ self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
+ if self.failed:
+ return
+
+
+ elif alt13 == 6:
+ # 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:212:4: 'double'
+ self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
+ if self.failed:
+ return
+
+
+ elif alt13 == 8:
+ # 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:214:4: 'unsigned'
+ self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
+ if self.failed:
+ return
+
+
+ elif alt13 == 10:
+ # 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:
+ return
+ if self.backtracking == 0:
if s.stop != None:
self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
- - - - - elif alt13 == 11: - # 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: - return - if self.backtracking == 0: +
+
+
+
+ elif alt13 == 11:
+ # 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:
+ return
+ if self.backtracking == 0:
if e.stop != None:
self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
- - - - - elif alt13 == 12: - # 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: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 9, type_specifier_StartIndex) - - pass - - return - - # $ANTLR end type_specifier - - - # $ANTLR start type_id - # C.g:228:1: type_id : IDENTIFIER ; - def type_id(self, ): - - type_id_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10): - return - - # 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 - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 10, type_id_StartIndex) - - pass - - return - - # $ANTLR end type_id - - class struct_or_union_specifier_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start struct_or_union_specifier - # 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() - retval.start = self.input.LT(1) - struct_or_union_specifier_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11): - return retval - - # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER ) - alt15 = 2 - LA15_0 = self.input.LA(1) - - if ((45 <= LA15_0 <= 46)) : - LA15_1 = self.input.LA(2) - - if (LA15_1 == IDENTIFIER) : - LA15_2 = self.input.LA(3) - - 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 <= 64) or LA15_2 == 66) : - alt15 = 2 - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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 - - elif (LA15_1 == 43) : - alt15 = 1 - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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 - - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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: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:235:20: ( IDENTIFIER )? - alt14 = 2 - LA14_0 = self.input.LA(1) - - if (LA14_0 == IDENTIFIER) : - alt14 = 1 - if alt14 == 1: - # C.g:0:0: IDENTIFIER - 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_specifier499) - if self.failed: - return retval - 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_specifier503) - if self.failed: - return retval - - - elif alt15 == 2: - # 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_specifier510) - if self.failed: - return retval - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 11, struct_or_union_specifier_StartIndex) - - pass - - return retval - - # $ANTLR end struct_or_union_specifier - - - # $ANTLR start struct_or_union - # C.g:239:1: struct_or_union : ( 'struct' | 'union' ); - def struct_or_union(self, ): - - struct_or_union_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12): - return - - # C.g:240:2: ( 'struct' | 'union' ) - # C.g: - if (45 <= self.input.LA(1) <= 46): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_struct_or_union0 - ) - raise mse - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 12, struct_or_union_StartIndex) - - pass - - return - - # $ANTLR end struct_or_union - - - # $ANTLR start struct_declaration_list - # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ; - def struct_declaration_list(self, ): - - struct_declaration_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13): - return - - # 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 <= 61)) : - alt16 = 1 - - - if alt16 == 1: - # C.g:0:0: struct_declaration - self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537) - self.struct_declaration() - self.following.pop() - if self.failed: - return - - - else: - if cnt16 >= 1: - break #loop16 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(16, self.input) - raise eee - - cnt16 += 1 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 13, struct_declaration_list_StartIndex) - - pass - - return - - # $ANTLR end struct_declaration_list - - - # $ANTLR start struct_declaration - # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ; - def struct_declaration(self, ): - - struct_declaration_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14): - return - - # 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_declaration551) - self.struct_declarator_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553) - if self.failed: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 14, struct_declaration_StartIndex) - - pass - - return - - # $ANTLR end struct_declaration - - - # $ANTLR start specifier_qualifier_list - # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ; - def specifier_qualifier_list(self, ): - - specifier_qualifier_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15): - return - - # 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 - LA17 = self.input.LA(1) - if LA17 == 58: - LA17_2 = self.input.LA(2) - - if (self.synpred39()) : - alt17 = 1 - - - elif LA17 == 59: - LA17_3 = self.input.LA(2) - - if (self.synpred39()) : - alt17 = 1 - - - elif LA17 == 60: - LA17_4 = self.input.LA(2) - - if (self.synpred39()) : - alt17 = 1 - - - 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 == 61 or LA17 == 63 or LA17 == 66: - alt17 = 2 - elif LA17 == 62: - LA17_94 = self.input.LA(3) - - if (self.synpred40()) : - alt17 = 2 - - - elif LA17 == 47: - LA17_95 = self.input.LA(3) - - if (self.synpred40()) : - alt17 = 2 - - - elif LA17 == 64: - LA17_96 = self.input.LA(3) - - if (self.synpred40()) : - alt17 = 2 - - - - elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 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:253:6: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566) - self.type_qualifier() - self.following.pop() - if self.failed: - return - - - elif alt17 == 2: - # 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: - return - - - else: - if cnt17 >= 1: - break #loop17 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(17, self.input) - raise eee - - cnt17 += 1 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 15, specifier_qualifier_list_StartIndex) - - pass - - return - - # $ANTLR end specifier_qualifier_list - - - # $ANTLR start struct_declarator_list - # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ; - def struct_declarator_list(self, ): - - struct_declarator_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16): - return - - # 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:257:22: ( ',' struct_declarator )* - while True: #loop18 - alt18 = 2 - LA18_0 = self.input.LA(1) - - if (LA18_0 == 27) : - alt18 = 1 - - - if alt18 == 1: - # 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_list589) - self.struct_declarator() - self.following.pop() - if self.failed: - return - - - else: - break #loop18 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 16, struct_declarator_list_StartIndex) - - pass - - return - - # $ANTLR end struct_declarator_list - - - # $ANTLR start struct_declarator - # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression ); - def struct_declarator(self, ): - - struct_declarator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17): - return - - # 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 <= 60) or LA20_0 == 62 or LA20_0 == 66) : - alt20 = 1 - elif (LA20_0 == 47) : - alt20 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input) - - raise nvae - - if alt20 == 1: - # 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:261:15: ( ':' constant_expression )? - alt19 = 2 - LA19_0 = self.input.LA(1) - - if (LA19_0 == 47) : - alt19 = 1 - if alt19 == 1: - # 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_declarator607) - self.constant_expression() - self.following.pop() - if self.failed: - return - - - - - - elif alt20 == 2: - # 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_declarator616) - self.constant_expression() - self.following.pop() - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 17, struct_declarator_StartIndex) - - pass - - return - - # $ANTLR end struct_declarator - - class enum_specifier_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start enum_specifier - # 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() - retval.start = self.input.LT(1) - enum_specifier_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18): - return retval - - # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER ) - alt23 = 3 - LA23_0 = self.input.LA(1) - - if (LA23_0 == 48) : - LA23_1 = self.input.LA(2) - - if (LA23_1 == IDENTIFIER) : - LA23_2 = self.input.LA(3) - - 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 <= 64) or LA23_2 == 66) : - alt23 = 3 - else: - if self.backtracking > 0: - self.failed = True - return retval - - nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input) - - raise nvae - - elif (LA23_1 == 43) : - alt23 = 1 - else: - if self.backtracking > 0: - self.failed = True - return retval - - nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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: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_specifier636) - if self.failed: - return retval - self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638) - self.enumerator_list() - self.following.pop() - if self.failed: - return retval - # C.g:267:31: ( ',' )? - alt21 = 2 - LA21_0 = self.input.LA(1) - - if (LA21_0 == 27) : - alt21 = 1 - if alt21 == 1: - # C.g:0:0: ',' - 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_specifier643) - if self.failed: - return retval - - - elif alt23 == 2: - # 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_specifier650) - if self.failed: - return retval - 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_specifier654) - self.enumerator_list() - self.following.pop() - if self.failed: - return retval - # C.g:268:42: ( ',' )? - alt22 = 2 - LA22_0 = self.input.LA(1) - - if (LA22_0 == 27) : - alt22 = 1 - if alt22 == 1: - # C.g:0:0: ',' - 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_specifier659) - if self.failed: - return retval - - - elif alt23 == 3: - # 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_specifier666) - if self.failed: - return retval - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 18, enum_specifier_StartIndex) - - pass - - return retval - - # $ANTLR end enum_specifier - - - # $ANTLR start enumerator_list - # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ; - def enumerator_list(self, ): - - enumerator_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19): - return - - # 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:273:15: ( ',' enumerator )* - while True: #loop24 - alt24 = 2 - LA24_0 = self.input.LA(1) - - if (LA24_0 == 27) : - LA24_1 = self.input.LA(2) - - if (LA24_1 == IDENTIFIER) : - alt24 = 1 - - - - - if alt24 == 1: - # 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_list682) - self.enumerator() - self.following.pop() - if self.failed: - return - - - else: - break #loop24 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 19, enumerator_list_StartIndex) - - pass - - return - - # $ANTLR end enumerator_list - - - # $ANTLR start enumerator - # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ; - def enumerator(self, ): - - enumerator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20): - return - - # 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:277:15: ( '=' constant_expression )? - alt25 = 2 - LA25_0 = self.input.LA(1) - - if (LA25_0 == 28) : - alt25 = 1 - if alt25 == 1: - # 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_enumerator700) - self.constant_expression() - self.following.pop() - if self.failed: - return - - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 20, enumerator_StartIndex) - - pass - - return - - # $ANTLR end enumerator - - - # $ANTLR start type_qualifier - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21): - return - - # 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) <= 61): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_type_qualifier0 - ) - raise mse - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 21, type_qualifier_StartIndex) - - pass - - return - - # $ANTLR end type_qualifier - - class declarator_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start declarator - # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ); - def declarator(self, ): - - retval = self.declarator_return() - retval.start = self.input.LT(1) - declarator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22): - return retval - - # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer ) - alt30 = 2 - LA30_0 = self.input.LA(1) - - if (LA30_0 == 66) : - LA30_1 = self.input.LA(2) - - if (self.synpred66()) : - alt30 = 1 - elif (True) : - alt30 = 2 - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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 <= 60) or LA30_0 == 62) : - alt30 = 1 - else: - if self.backtracking > 0: - self.failed = True - return retval - - 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: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 == 66) : - alt26 = 1 - if alt26 == 1: - # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_declarator784) - self.pointer() - self.following.pop() - if self.failed: - return retval - - - - # C.g:297:13: ( 'EFIAPI' )? - alt27 = 2 - LA27_0 = self.input.LA(1) - - if (LA27_0 == 58) : - alt27 = 1 - if alt27 == 1: - # C.g:297:14: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_declarator788) - if self.failed: - return retval - - - - # 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:297:26: 'EFI_BOOTSERVICE' - self.match(self.input, 59, self.FOLLOW_59_in_declarator793) - if self.failed: - return retval - - - - # 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: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_declarator802) - self.direct_declarator() - self.following.pop() - if self.failed: - return retval - - - elif alt30 == 2: - # C.g:299:4: pointer - self.following.append(self.FOLLOW_pointer_in_declarator808) - self.pointer() - self.following.pop() - if self.failed: - return retval - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 22, declarator_StartIndex) - - pass - - return retval - - # $ANTLR end declarator - - - # $ANTLR start direct_declarator - # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ ); - def direct_declarator(self, ): - - direct_declarator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23): - return - - # 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 == 62) : - alt34 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input) - - raise nvae - - if alt34 == 1: - # C.g:303:4: IDENTIFIER ( declarator_suffix )* - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819) - if self.failed: - return - # C.g:303:15: ( declarator_suffix )* - while True: #loop31 - alt31 = 2 - LA31_0 = self.input.LA(1) - - if (LA31_0 == 62) : - LA31 = self.input.LA(2) - if LA31 == 63: - LA31_30 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 58: - LA31_31 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 66: - LA31_32 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 59: - LA31_33 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 60: - LA31_34 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == IDENTIFIER: - LA31_35 = self.input.LA(3) - - 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.synpred67()) : - alt31 = 1 - - - elif LA31 == 34: - LA31_38 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 35: - LA31_39 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 36: - LA31_40 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 37: - LA31_41 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 38: - LA31_42 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 39: - LA31_43 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 40: - LA31_44 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 41: - LA31_45 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 42: - LA31_46 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 45 or LA31 == 46: - LA31_47 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 48: - LA31_48 = self.input.LA(3) - - 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 or LA31 == 61: - LA31_49 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - - elif (LA31_0 == 64) : - LA31 = self.input.LA(2) - if LA31 == 65: - LA31_51 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 62: - LA31_52 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == IDENTIFIER: - LA31_53 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == HEX_LITERAL: - LA31_54 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == OCTAL_LITERAL: - LA31_55 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == DECIMAL_LITERAL: - LA31_56 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == CHARACTER_LITERAL: - LA31_57 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == STRING_LITERAL: - LA31_58 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == FLOATING_POINT_LITERAL: - LA31_59 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 72: - LA31_60 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - elif LA31 == 73: - LA31_61 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - 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.synpred67()) : - alt31 = 1 - - - elif LA31 == 74: - LA31_63 = self.input.LA(3) - - if (self.synpred67()) : - alt31 = 1 - - - - - - if alt31 == 1: - # C.g:0:0: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821) - self.declarator_suffix() - self.following.pop() - if self.failed: - return - - - else: - break #loop31 - - - - - elif alt34 == 2: - # 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:304:8: ( 'EFIAPI' )? - alt32 = 2 - LA32_0 = self.input.LA(1) - - if (LA32_0 == 58) : - LA32_1 = self.input.LA(2) - - if (self.synpred69()) : - alt32 = 1 - if alt32 == 1: - # 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_declarator834) - self.declarator() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836) - if self.failed: - return - # C.g:304:35: ( declarator_suffix )+ - cnt33 = 0 - while True: #loop33 - alt33 = 2 - LA33_0 = self.input.LA(1) - - if (LA33_0 == 62) : - LA33 = self.input.LA(2) - if LA33 == 63: - LA33_30 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 58: - LA33_31 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 66: - LA33_32 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 59: - LA33_33 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 60: - LA33_34 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == IDENTIFIER: - LA33_35 = self.input.LA(3) - - 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.synpred70()) : - alt33 = 1 - - - elif LA33 == 34: - LA33_38 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 35: - LA33_39 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 36: - LA33_40 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 37: - LA33_41 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 38: - LA33_42 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 39: - LA33_43 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 40: - LA33_44 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 41: - LA33_45 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 42: - LA33_46 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 45 or LA33 == 46: - LA33_47 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 48: - LA33_48 = self.input.LA(3) - - 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 or LA33 == 61: - LA33_49 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - - elif (LA33_0 == 64) : - LA33 = self.input.LA(2) - if LA33 == 65: - LA33_51 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 62: - LA33_52 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == IDENTIFIER: - LA33_53 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == HEX_LITERAL: - LA33_54 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == OCTAL_LITERAL: - LA33_55 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == DECIMAL_LITERAL: - LA33_56 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == CHARACTER_LITERAL: - LA33_57 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == STRING_LITERAL: - LA33_58 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == FLOATING_POINT_LITERAL: - LA33_59 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 72: - LA33_60 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - elif LA33 == 73: - LA33_61 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - 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.synpred70()) : - alt33 = 1 - - - elif LA33 == 74: - LA33_63 = self.input.LA(3) - - if (self.synpred70()) : - alt33 = 1 - - - - - - if alt33 == 1: - # C.g:0:0: declarator_suffix - self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838) - self.declarator_suffix() - self.following.pop() - if self.failed: - return - - - else: - if cnt33 >= 1: - break #loop33 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(33, self.input) - raise eee - - cnt33 += 1 - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 23, direct_declarator_StartIndex) - - pass - - return - - # $ANTLR end direct_declarator - - - # $ANTLR start declarator_suffix - # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ); - def declarator_suffix(self, ): - - declarator_suffix_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24): - return - - # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' ) - alt35 = 5 - LA35_0 = self.input.LA(1) - - if (LA35_0 == 64) : - LA35_1 = self.input.LA(2) - - if (LA35_1 == 65) : - alt35 = 2 - 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("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input) - - raise nvae - - elif (LA35_0 == 62) : - LA35 = self.input.LA(2) - 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_29 = self.input.LA(3) - - if (self.synpred73()) : - alt35 = 3 - elif (self.synpred74()) : - alt35 = 4 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input) - - raise nvae - - if alt35 == 1: - # 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_suffix854) - self.constant_expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856) - if self.failed: - return - - - elif alt35 == 2: - # C.g:309:9: '[' ']' - self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866) - if self.failed: - return - self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868) - if self.failed: - return - - - elif alt35 == 3: - # 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_suffix880) - self.parameter_type_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882) - if self.failed: - return - - - elif alt35 == 4: - # 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_suffix894) - self.identifier_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896) - if self.failed: - return - - - elif alt35 == 5: - # C.g:312:9: '(' ')' - self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906) - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 24, declarator_suffix_StartIndex) - - pass - - return - - # $ANTLR end declarator_suffix - - - # $ANTLR start pointer - # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ); - def pointer(self, ): - - pointer_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25): - return - - # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' ) - alt38 = 3 - LA38_0 = self.input.LA(1) - - if (LA38_0 == 66) : - LA38 = self.input.LA(2) - if LA38 == 66: - LA38_2 = self.input.LA(3) - - if (self.synpred78()) : - alt38 = 2 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input) - - raise nvae - - elif LA38 == 58: - LA38_3 = self.input.LA(3) - - if (self.synpred77()) : - alt38 = 1 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input) - - raise nvae - - elif LA38 == 59: - LA38_4 = self.input.LA(3) - - if (self.synpred77()) : - alt38 = 1 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input) - - raise nvae - - elif LA38 == 60: - LA38_5 = self.input.LA(3) - - if (self.synpred77()) : - alt38 = 1 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, 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 == 62 or LA38 == 63 or LA38 == 64: - alt38 = 3 - elif LA38 == 53: - LA38_21 = self.input.LA(3) - - if (self.synpred77()) : - alt38 = 1 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, 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 or LA38 == 61: - LA38_29 = self.input.LA(3) - - if (self.synpred77()) : - alt38 = 1 - elif (True) : - alt38 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input) - - raise nvae - - if alt38 == 1: - # C.g:316:4: '*' ( type_qualifier )+ ( pointer )? - self.match(self.input, 66, self.FOLLOW_66_in_pointer919) - if self.failed: - return - # C.g:316:8: ( type_qualifier )+ - cnt36 = 0 - while True: #loop36 - alt36 = 2 - LA36 = self.input.LA(1) - if LA36 == 58: - LA36_2 = self.input.LA(2) - - if (self.synpred75()) : - alt36 = 1 - - - elif LA36 == 59: - LA36_3 = self.input.LA(2) - - if (self.synpred75()) : - alt36 = 1 - - - elif LA36 == 60: - LA36_4 = self.input.LA(2) - - if (self.synpred75()) : - alt36 = 1 - - - elif LA36 == 53: - LA36_20 = self.input.LA(2) - - 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 or LA36 == 61: - LA36_28 = self.input.LA(2) - - if (self.synpred75()) : - alt36 = 1 - - - - if alt36 == 1: - # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_pointer921) - self.type_qualifier() - self.following.pop() - if self.failed: - return - - - else: - if cnt36 >= 1: - break #loop36 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(36, self.input) - raise eee - - cnt36 += 1 - - - # C.g:316:24: ( pointer )? - alt37 = 2 - LA37_0 = self.input.LA(1) - - if (LA37_0 == 66) : - LA37_1 = self.input.LA(2) - - if (self.synpred76()) : - alt37 = 1 - if alt37 == 1: - # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_pointer924) - self.pointer() - self.following.pop() - if self.failed: - return - - - - - - elif alt38 == 2: - # 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_pointer932) - self.pointer() - self.following.pop() - if self.failed: - return - - - elif alt38 == 3: - # C.g:318:4: '*' - self.match(self.input, 66, self.FOLLOW_66_in_pointer937) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 25, pointer_StartIndex) - - pass - - return - - # $ANTLR end pointer - - - # $ANTLR start parameter_type_list - # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ; - def parameter_type_list(self, ): - - parameter_type_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26): - return - - # 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:322:19: ( ',' ( 'OPTIONAL' )? '...' )? - alt40 = 2 - LA40_0 = self.input.LA(1) - - if (LA40_0 == 27) : - alt40 = 1 - if alt40 == 1: - # C.g:322:20: ',' ( 'OPTIONAL' )? '...' - self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951) - if self.failed: - return - # C.g:322:24: ( 'OPTIONAL' )? - alt39 = 2 - LA39_0 = self.input.LA(1) - - if (LA39_0 == 53) : - alt39 = 1 - if alt39 == 1: - # 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, 67, self.FOLLOW_67_in_parameter_type_list958) - if self.failed: - return - - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 26, parameter_type_list_StartIndex) - - pass - - return - - # $ANTLR end parameter_type_list - - - # $ANTLR start parameter_list - # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ; - def parameter_list(self, ): - - parameter_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27): - return - - # 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:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )* - while True: #loop42 - alt42 = 2 - LA42_0 = self.input.LA(1) - - if (LA42_0 == 27) : - LA42_1 = self.input.LA(2) - - if (LA42_1 == 53) : - LA42_3 = self.input.LA(3) - - 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 <= 61) or LA42_1 == 66) : - alt42 = 1 - - - - - if alt42 == 1: - # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration - self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974) - if self.failed: - return - # 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.synpred81()) : - alt41 = 1 - if alt41 == 1: - # 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_list981) - self.parameter_declaration() - self.following.pop() - if self.failed: - return - - - else: - break #loop42 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 27, parameter_list_StartIndex) - - pass - - return - - # $ANTLR end parameter_list - - - # $ANTLR start parameter_declaration - # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER ); - def parameter_declaration(self, ): - - parameter_declaration_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28): - return - - # 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 or LA46 == 61: - alt46 = 1 - elif LA46 == IDENTIFIER: - LA46_13 = self.input.LA(2) - - if (self.synpred86()) : - alt46 = 1 - elif (True) : - alt46 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input) - - raise nvae - - elif LA46 == 66: - alt46 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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:330:27: ( declarator | abstract_declarator )* - while True: #loop43 - alt43 = 3 - LA43 = self.input.LA(1) - if LA43 == 66: - LA43_5 = self.input.LA(2) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60: - alt43 = 1 - 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 == 61 or LA43 == 63 or LA43 == 64: - alt43 = 2 - elif LA43 == IDENTIFIER: - LA43_37 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == 58: - LA43_38 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == 66: - LA43_39 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == 59: - LA43_40 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == 60: - LA43_41 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - elif LA43 == 62: - LA43_43 = self.input.LA(3) - - if (self.synpred83()) : - alt43 = 1 - elif (self.synpred84()) : - alt43 = 2 - - - - elif LA43 == 64: - alt43 = 2 - - if alt43 == 1: - # C.g:330:28: declarator - self.following.append(self.FOLLOW_declarator_in_parameter_declaration997) - self.declarator() - self.following.pop() - if self.failed: - return - - - elif alt43 == 2: - # 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: - return - - - else: - break #loop43 - - - # C.g:330:61: ( 'OPTIONAL' )? - alt44 = 2 - LA44_0 = self.input.LA(1) - - if (LA44_0 == 53) : - alt44 = 1 - if alt44 == 1: - # C.g:330:62: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004) - if self.failed: - return - - - - - - elif alt46 == 2: - # 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 == 66) : - alt45 = 1 - - - if alt45 == 1: - # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013) - self.pointer() - self.following.pop() - if self.failed: - return - - - else: - break #loop45 - - - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 28, parameter_declaration_StartIndex) - - pass - - return - - # $ANTLR end parameter_declaration - - - # $ANTLR start identifier_list - # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ; - def identifier_list(self, ): - - identifier_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29): - return - - # 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:337:2: ( ',' IDENTIFIER )* - while True: #loop47 - alt47 = 2 - LA47_0 = self.input.LA(1) - - if (LA47_0 == 27) : - alt47 = 1 - - - if alt47 == 1: - # 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_list1033) - if self.failed: - return - - - else: - break #loop47 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 29, identifier_list_StartIndex) - - pass - - return - - # $ANTLR end identifier_list - - - # $ANTLR start type_name - # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id ); - def type_name(self, ): - - type_name_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30): - return - - # 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 <= 61)) : - alt49 = 1 - elif (LA49_0 == IDENTIFIER) : - LA49_13 = self.input.LA(2) - - if (self.synpred90()) : - alt49 = 1 - elif (True) : - alt49 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input) - - raise nvae - - if alt49 == 1: - # 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:341:29: ( abstract_declarator )? - alt48 = 2 - LA48_0 = self.input.LA(1) - - 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_name1048) - self.abstract_declarator() - self.following.pop() - if self.failed: - return - - - - - - elif alt49 == 2: - # 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: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 30, type_name_StartIndex) - - pass - - return - - # $ANTLR end type_name - - - # $ANTLR start 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31): - return - - # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator ) - alt51 = 2 - LA51_0 = self.input.LA(1) - - if (LA51_0 == 66) : - alt51 = 1 - elif (LA51_0 == 62 or LA51_0 == 64) : - alt51 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input) - - raise nvae - - if alt51 == 1: - # 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:346:12: ( direct_abstract_declarator )? - alt50 = 2 - LA50_0 = self.input.LA(1) - - if (LA50_0 == 62) : - LA50 = self.input.LA(2) - if LA50 == 63: - LA50_12 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 58: - LA50_13 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 66: - LA50_14 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 59: - LA50_15 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 60: - LA50_16 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == IDENTIFIER: - LA50_17 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 62: - LA50_18 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 64: - LA50_19 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33: - LA50_20 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 34: - LA50_21 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 35: - LA50_22 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 36: - LA50_23 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 37: - LA50_24 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 38: - LA50_25 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 39: - LA50_26 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 40: - LA50_27 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 41: - LA50_28 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 42: - LA50_29 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 45 or LA50 == 46: - LA50_30 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 48: - LA50_31 = self.input.LA(3) - - 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 or LA50 == 61: - LA50_32 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif (LA50_0 == 64) : - LA50 = self.input.LA(2) - if LA50 == 65: - LA50_33 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 62: - LA50_34 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == IDENTIFIER: - LA50_35 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == HEX_LITERAL: - LA50_36 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == OCTAL_LITERAL: - LA50_37 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == DECIMAL_LITERAL: - LA50_38 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == CHARACTER_LITERAL: - LA50_39 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == STRING_LITERAL: - LA50_40 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == FLOATING_POINT_LITERAL: - LA50_41 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 72: - LA50_42 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - elif LA50 == 73: - LA50_43 = self.input.LA(3) - - if (self.synpred91()) : - alt50 = 1 - 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.synpred91()) : - alt50 = 1 - elif LA50 == 74: - LA50_45 = self.input.LA(3) - - 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_declarator1067) - self.direct_abstract_declarator() - self.following.pop() - if self.failed: - return - - - - - - elif alt51 == 2: - # 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: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 31, abstract_declarator_StartIndex) - - pass - - return - - # $ANTLR end abstract_declarator - - - # $ANTLR start direct_abstract_declarator - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32): - return - - # 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 == 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 == 61 or LA52 == 63: - alt52 = 2 - elif LA52 == 66: - LA52_18 = self.input.LA(3) - - if (self.synpred93()) : - alt52 = 1 - elif (True) : - alt52 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input) - - raise nvae - - elif LA52 == 62 or LA52 == 64: - alt52 = 1 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input) - - raise nvae - - elif (LA52_0 == 64) : - alt52 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input) - - raise nvae - - if alt52 == 1: - # 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_declarator1088) - self.abstract_declarator() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090) - if self.failed: - return - - - elif alt52 == 2: - # 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: - return - - - - # C.g:351:65: ( abstract_declarator_suffix )* - while True: #loop53 - alt53 = 2 - LA53_0 = self.input.LA(1) - - if (LA53_0 == 62) : - LA53 = self.input.LA(2) - if LA53 == 63: - LA53_12 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 58: - LA53_13 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 66: - LA53_14 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 59: - LA53_15 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 60: - LA53_16 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == IDENTIFIER: - LA53_17 = self.input.LA(3) - - 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.synpred94()) : - alt53 = 1 - - - elif LA53 == 34: - LA53_20 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 35: - LA53_21 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 36: - LA53_22 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 37: - LA53_23 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 38: - LA53_24 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 39: - LA53_25 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 40: - LA53_26 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 41: - LA53_27 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 42: - LA53_28 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 45 or LA53 == 46: - LA53_29 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 48: - LA53_30 = self.input.LA(3) - - 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 or LA53 == 61: - LA53_31 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - - elif (LA53_0 == 64) : - LA53 = self.input.LA(2) - if LA53 == 65: - LA53_33 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 62: - LA53_34 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == IDENTIFIER: - LA53_35 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == HEX_LITERAL: - LA53_36 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == OCTAL_LITERAL: - LA53_37 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == DECIMAL_LITERAL: - LA53_38 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == CHARACTER_LITERAL: - LA53_39 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == STRING_LITERAL: - LA53_40 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == FLOATING_POINT_LITERAL: - LA53_41 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 72: - LA53_42 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - elif LA53 == 73: - LA53_43 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - 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.synpred94()) : - alt53 = 1 - - - elif LA53 == 74: - LA53_45 = self.input.LA(3) - - if (self.synpred94()) : - alt53 = 1 - - - - - - if alt53 == 1: - # C.g:0:0: abstract_declarator_suffix - self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098) - self.abstract_declarator_suffix() - self.following.pop() - if self.failed: - return - - - else: - break #loop53 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 32, direct_abstract_declarator_StartIndex) - - pass - - return - - # $ANTLR end direct_abstract_declarator - - - # $ANTLR start abstract_declarator_suffix - # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ); - def abstract_declarator_suffix(self, ): - - abstract_declarator_suffix_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33): - return - - # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' ) - alt54 = 4 - LA54_0 = self.input.LA(1) - - if (LA54_0 == 64) : - LA54_1 = self.input.LA(2) - - if (LA54_1 == 65) : - alt54 = 1 - 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("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input) - - raise nvae - - elif (LA54_0 == 62) : - LA54_2 = self.input.LA(2) - - if (LA54_2 == 63) : - alt54 = 3 - 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("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input) - - raise nvae - - if alt54 == 1: - # C.g:355:4: '[' ']' - self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110) - if self.failed: - return - self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112) - if self.failed: - return - - - elif alt54 == 2: - # 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_suffix1119) - self.constant_expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121) - if self.failed: - return - - - elif alt54 == 3: - # C.g:357:4: '(' ')' - self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126) - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128) - if self.failed: - return - - - elif alt54 == 4: - # 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_suffix1135) - self.parameter_type_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex) - - pass - - return - - # $ANTLR end abstract_declarator_suffix - - - # $ANTLR start initializer - # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' ); - def initializer(self, ): - - initializer_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34): - return - - # 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 == 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 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input) - - raise nvae - - if alt56 == 1: - # C.g:363:4: assignment_expression - self.following.append(self.FOLLOW_assignment_expression_in_initializer1150) - self.assignment_expression() - self.following.pop() - if self.failed: - return - - - elif alt56 == 2: - # 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_initializer1157) - self.initializer_list() - self.following.pop() - if self.failed: - return - # C.g:364:25: ( ',' )? - alt55 = 2 - LA55_0 = self.input.LA(1) - - if (LA55_0 == 27) : - alt55 = 1 - if alt55 == 1: - # C.g:0:0: ',' - self.match(self.input, 27, self.FOLLOW_27_in_initializer1159) - if self.failed: - return - - - - self.match(self.input, 44, self.FOLLOW_44_in_initializer1162) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 34, initializer_StartIndex) - - pass - - return - - # $ANTLR end initializer - - - # $ANTLR start initializer_list - # C.g:367:1: initializer_list : initializer ( ',' initializer )* ; - def initializer_list(self, ): - - initializer_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35): - return - - # 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:368:16: ( ',' initializer )* - while True: #loop57 - alt57 = 2 - LA57_0 = self.input.LA(1) - - if (LA57_0 == 27) : - LA57_1 = self.input.LA(2) - - 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: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_list1178) - self.initializer() - self.following.pop() - if self.failed: - return - - - else: - break #loop57 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 35, initializer_list_StartIndex) - - pass - - return - - # $ANTLR end initializer_list - - class argument_expression_list_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start argument_expression_list - # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ; - def argument_expression_list(self, ): - - retval = self.argument_expression_list_return() - retval.start = self.input.LT(1) - argument_expression_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36): - return retval - - # 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:374:28: ( 'OPTIONAL' )? - alt58 = 2 - LA58_0 = self.input.LA(1) - - if (LA58_0 == 53) : - alt58 = 1 - if alt58 == 1: - # C.g:374:29: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199) - if self.failed: - return retval - - - - # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )* - while True: #loop60 - alt60 = 2 - LA60_0 = self.input.LA(1) - - if (LA60_0 == 27) : - alt60 = 1 - - - if alt60 == 1: - # 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_list1206) - self.assignment_expression() - self.following.pop() - if self.failed: - return retval - # C.g:374:69: ( 'OPTIONAL' )? - alt59 = 2 - LA59_0 = self.input.LA(1) - - if (LA59_0 == 53) : - alt59 = 1 - if alt59 == 1: - # C.g:374:70: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209) - if self.failed: - return retval - - - - - - else: - break #loop60 - - - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 36, argument_expression_list_StartIndex) - - pass - - return retval - - # $ANTLR end argument_expression_list - - - # $ANTLR start additive_expression - # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ; - def additive_expression(self, ): - - additive_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37): - return - - # 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: - return - - - - # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )* - while True: #loop61 - alt61 = 3 - LA61_0 = self.input.LA(1) - - if (LA61_0 == 68) : - alt61 = 1 - elif (LA61_0 == 69) : - alt61 = 2 - - - if alt61 == 1: - # 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_expression1231) - self.multiplicative_expression() - self.following.pop() - if self.failed: - return - - - elif alt61 == 2: - # 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_expression1237) - self.multiplicative_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop61 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 37, additive_expression_StartIndex) - - pass - - return - - # $ANTLR end additive_expression - - - # $ANTLR start multiplicative_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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38): - return - - # 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: - return - - - - # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* - while True: #loop62 - alt62 = 4 - LA62 = self.input.LA(1) - if LA62 == 66: - alt62 = 1 - elif LA62 == 70: - alt62 = 2 - elif LA62 == 71: - alt62 = 3 - - if alt62 == 1: - # 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_expression1257) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - elif alt62 == 2: - # 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_expression1263) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - elif alt62 == 3: - # 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_expression1269) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop62 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 38, multiplicative_expression_StartIndex) - - pass - - return - - # $ANTLR end multiplicative_expression - - - # $ANTLR start cast_expression - # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression ); - def cast_expression(self, ): - - cast_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39): - return - - # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression ) - alt63 = 2 - LA63_0 = self.input.LA(1) - - if (LA63_0 == 62) : - LA63 = self.input.LA(2) - 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.synpred109()) : - alt63 = 1 - elif (True) : - alt63 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input) - - raise nvae - - if alt63 == 1: - # 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_expression1284) - self.type_name() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286) - if self.failed: - return - self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - elif alt63 == 2: - # 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: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 39, cast_expression_StartIndex) - - pass - - return - - # $ANTLR end cast_expression - - - # $ANTLR start unary_expression - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40): - return - - # 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 == 62: - alt64 = 1 - elif LA64 == 72: - alt64 = 2 - elif LA64 == 73: - alt64 = 3 - elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79: - alt64 = 4 - elif LA64 == 74: - LA64_12 = self.input.LA(2) - - if (LA64_12 == 62) : - LA64_13 = self.input.LA(3) - - if (self.synpred114()) : - alt64 = 5 - elif (True) : - alt64 = 6 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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("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 - - else: - if self.backtracking > 0: - self.failed = True - return - - 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:391:4: postfix_expression - self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304) - self.postfix_expression() - self.following.pop() - if self.failed: - return - - - elif alt64 == 2: - # 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_expression1311) - self.unary_expression() - self.following.pop() - if self.failed: - return - - - elif alt64 == 3: - # 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_expression1318) - self.unary_expression() - self.following.pop() - if self.failed: - return - - - elif alt64 == 4: - # 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_expression1325) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - elif alt64 == 5: - # 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_expression1332) - self.unary_expression() - self.following.pop() - if self.failed: - return - - - elif alt64 == 6: - # 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, 62, self.FOLLOW_62_in_unary_expression1339) - if self.failed: - return - self.following.append(self.FOLLOW_type_name_in_unary_expression1341) - self.type_name() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 40, unary_expression_StartIndex) - - pass - - return - - # $ANTLR end unary_expression - - - # $ANTLR start postfix_expression - # 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() - a = None - b = None - x = None - y = None - z = None - p = None - - c = None - - +
+
+
+
+ elif alt13 == 12:
+ # 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:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 9, type_specifier_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end type_specifier
+
+
+ # $ANTLR start type_id
+ # C.g:228:1: type_id : IDENTIFIER ;
+ def type_id(self, ):
+
+ type_id_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
+ return
+
+ # 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
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 10, type_id_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end type_id
+
+ class struct_or_union_specifier_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start struct_or_union_specifier
+ # 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()
+ retval.start = self.input.LT(1)
+ struct_or_union_specifier_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
+ return retval
+
+ # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
+ alt15 = 2
+ LA15_0 = self.input.LA(1)
+
+ if ((45 <= LA15_0 <= 46)) :
+ LA15_1 = self.input.LA(2)
+
+ if (LA15_1 == IDENTIFIER) :
+ LA15_2 = self.input.LA(3)
+
+ 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 <= 64) or LA15_2 == 66) :
+ alt15 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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
+
+ elif (LA15_1 == 43) :
+ alt15 = 1
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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: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:235:20: ( IDENTIFIER )?
+ alt14 = 2
+ LA14_0 = self.input.LA(1)
+
+ if (LA14_0 == IDENTIFIER) :
+ alt14 = 1
+ if alt14 == 1:
+ # C.g:0:0: IDENTIFIER
+ 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_specifier499)
+ if self.failed:
+ return retval
+ 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_specifier503)
+ if self.failed:
+ return retval
+
+
+ elif alt15 == 2:
+ # 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_specifier510)
+ if self.failed:
+ return retval
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end struct_or_union_specifier
+
+
+ # $ANTLR start struct_or_union
+ # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
+ def struct_or_union(self, ):
+
+ struct_or_union_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
+ return
+
+ # C.g:240:2: ( 'struct' | 'union' )
+ # C.g:
+ if (45 <= self.input.LA(1) <= 46):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_struct_or_union0
+ )
+ raise mse
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 12, struct_or_union_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end struct_or_union
+
+
+ # $ANTLR start struct_declaration_list
+ # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
+ def struct_declaration_list(self, ):
+
+ struct_declaration_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
+ return
+
+ # 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 <= 61)) :
+ alt16 = 1
+
+
+ if alt16 == 1:
+ # C.g:0:0: struct_declaration
+ self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
+ self.struct_declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ if cnt16 >= 1:
+ break #loop16
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(16, self.input)
+ raise eee
+
+ cnt16 += 1
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 13, struct_declaration_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end struct_declaration_list
+
+
+ # $ANTLR start struct_declaration
+ # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
+ def struct_declaration(self, ):
+
+ struct_declaration_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
+ return
+
+ # 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_declaration551)
+ self.struct_declarator_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
+ if self.failed:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 14, struct_declaration_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end struct_declaration
+
+
+ # $ANTLR start specifier_qualifier_list
+ # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
+ def specifier_qualifier_list(self, ):
+
+ specifier_qualifier_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
+ return
+
+ # 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
+ LA17 = self.input.LA(1)
+ if LA17 == 58:
+ LA17_2 = self.input.LA(2)
+
+ if (self.synpred39()) :
+ alt17 = 1
+
+
+ elif LA17 == 59:
+ LA17_3 = self.input.LA(2)
+
+ if (self.synpred39()) :
+ alt17 = 1
+
+
+ elif LA17 == 60:
+ LA17_4 = self.input.LA(2)
+
+ if (self.synpred39()) :
+ alt17 = 1
+
+
+ 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 == 61 or LA17 == 63 or LA17 == 66:
+ alt17 = 2
+ elif LA17 == 62:
+ LA17_94 = self.input.LA(3)
+
+ if (self.synpred40()) :
+ alt17 = 2
+
+
+ elif LA17 == 47:
+ LA17_95 = self.input.LA(3)
+
+ if (self.synpred40()) :
+ alt17 = 2
+
+
+ elif LA17 == 64:
+ LA17_96 = self.input.LA(3)
+
+ if (self.synpred40()) :
+ alt17 = 2
+
+
+
+ elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 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:253:6: type_qualifier
+ self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
+ self.type_qualifier()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt17 == 2:
+ # 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:
+ return
+
+
+ else:
+ if cnt17 >= 1:
+ break #loop17
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(17, self.input)
+ raise eee
+
+ cnt17 += 1
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end specifier_qualifier_list
+
+
+ # $ANTLR start struct_declarator_list
+ # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
+ def struct_declarator_list(self, ):
+
+ struct_declarator_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
+ return
+
+ # 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:257:22: ( ',' struct_declarator )*
+ while True: #loop18
+ alt18 = 2
+ LA18_0 = self.input.LA(1)
+
+ if (LA18_0 == 27) :
+ alt18 = 1
+
+
+ if alt18 == 1:
+ # 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_list589)
+ self.struct_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop18
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 16, struct_declarator_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end struct_declarator_list
+
+
+ # $ANTLR start struct_declarator
+ # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
+ def struct_declarator(self, ):
+
+ struct_declarator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
+ return
+
+ # 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 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
+ alt20 = 1
+ elif (LA20_0 == 47) :
+ alt20 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
+
+ raise nvae
+
+ if alt20 == 1:
+ # 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:261:15: ( ':' constant_expression )?
+ alt19 = 2
+ LA19_0 = self.input.LA(1)
+
+ if (LA19_0 == 47) :
+ alt19 = 1
+ if alt19 == 1:
+ # 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_declarator607)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt20 == 2:
+ # 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_declarator616)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 17, struct_declarator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end struct_declarator
+
+ class enum_specifier_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start enum_specifier
+ # 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()
+ retval.start = self.input.LT(1)
+ enum_specifier_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
+ return retval
+
+ # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
+ alt23 = 3
+ LA23_0 = self.input.LA(1)
+
+ if (LA23_0 == 48) :
+ LA23_1 = self.input.LA(2)
+
+ if (LA23_1 == IDENTIFIER) :
+ LA23_2 = self.input.LA(3)
+
+ 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 <= 64) or LA23_2 == 66) :
+ alt23 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
+
+ raise nvae
+
+ elif (LA23_1 == 43) :
+ alt23 = 1
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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: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_specifier636)
+ if self.failed:
+ return retval
+ self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
+ self.enumerator_list()
+ self.following.pop()
+ if self.failed:
+ return retval
+ # C.g:267:31: ( ',' )?
+ alt21 = 2
+ LA21_0 = self.input.LA(1)
+
+ if (LA21_0 == 27) :
+ alt21 = 1
+ if alt21 == 1:
+ # C.g:0:0: ','
+ 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_specifier643)
+ if self.failed:
+ return retval
+
+
+ elif alt23 == 2:
+ # 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_specifier650)
+ if self.failed:
+ return retval
+ 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_specifier654)
+ self.enumerator_list()
+ self.following.pop()
+ if self.failed:
+ return retval
+ # C.g:268:42: ( ',' )?
+ alt22 = 2
+ LA22_0 = self.input.LA(1)
+
+ if (LA22_0 == 27) :
+ alt22 = 1
+ if alt22 == 1:
+ # C.g:0:0: ','
+ 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_specifier659)
+ if self.failed:
+ return retval
+
+
+ elif alt23 == 3:
+ # 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_specifier666)
+ if self.failed:
+ return retval
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 18, enum_specifier_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end enum_specifier
+
+
+ # $ANTLR start enumerator_list
+ # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
+ def enumerator_list(self, ):
+
+ enumerator_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
+ return
+
+ # 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:273:15: ( ',' enumerator )*
+ while True: #loop24
+ alt24 = 2
+ LA24_0 = self.input.LA(1)
+
+ if (LA24_0 == 27) :
+ LA24_1 = self.input.LA(2)
+
+ if (LA24_1 == IDENTIFIER) :
+ alt24 = 1
+
+
+
+
+ if alt24 == 1:
+ # 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_list682)
+ self.enumerator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop24
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 19, enumerator_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end enumerator_list
+
+
+ # $ANTLR start enumerator
+ # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
+ def enumerator(self, ):
+
+ enumerator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
+ return
+
+ # 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:277:15: ( '=' constant_expression )?
+ alt25 = 2
+ LA25_0 = self.input.LA(1)
+
+ if (LA25_0 == 28) :
+ alt25 = 1
+ if alt25 == 1:
+ # 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_enumerator700)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 20, enumerator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end enumerator
+
+
+ # $ANTLR start type_qualifier
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
+ return
+
+ # 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) <= 61):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_type_qualifier0
+ )
+ raise mse
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 21, type_qualifier_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end type_qualifier
+
+ class declarator_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start declarator
+ # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
+ def declarator(self, ):
+
+ retval = self.declarator_return()
+ retval.start = self.input.LT(1)
+ declarator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
+ return retval
+
+ # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
+ alt30 = 2
+ LA30_0 = self.input.LA(1)
+
+ if (LA30_0 == 66) :
+ LA30_1 = self.input.LA(2)
+
+ if (self.synpred66()) :
+ alt30 = 1
+ elif (True) :
+ alt30 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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 <= 60) or LA30_0 == 62) :
+ alt30 = 1
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ 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: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 == 66) :
+ alt26 = 1
+ if alt26 == 1:
+ # C.g:0:0: pointer
+ self.following.append(self.FOLLOW_pointer_in_declarator784)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+
+ # C.g:297:13: ( 'EFIAPI' )?
+ alt27 = 2
+ LA27_0 = self.input.LA(1)
+
+ if (LA27_0 == 58) :
+ alt27 = 1
+ if alt27 == 1:
+ # C.g:297:14: 'EFIAPI'
+ self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
+ if self.failed:
+ return retval
+
+
+
+ # 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:297:26: 'EFI_BOOTSERVICE'
+ self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
+ if self.failed:
+ return retval
+
+
+
+ # 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: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_declarator802)
+ self.direct_declarator()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ elif alt30 == 2:
+ # C.g:299:4: pointer
+ self.following.append(self.FOLLOW_pointer_in_declarator808)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 22, declarator_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end declarator
+
+
+ # $ANTLR start direct_declarator
+ # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
+ def direct_declarator(self, ):
+
+ direct_declarator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
+ return
+
+ # 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 == 62) :
+ alt34 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
+
+ raise nvae
+
+ if alt34 == 1:
+ # C.g:303:4: IDENTIFIER ( declarator_suffix )*
+ self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
+ if self.failed:
+ return
+ # C.g:303:15: ( declarator_suffix )*
+ while True: #loop31
+ alt31 = 2
+ LA31_0 = self.input.LA(1)
+
+ if (LA31_0 == 62) :
+ LA31 = self.input.LA(2)
+ if LA31 == 63:
+ LA31_30 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 58:
+ LA31_31 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 66:
+ LA31_32 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 59:
+ LA31_33 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 60:
+ LA31_34 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == IDENTIFIER:
+ LA31_35 = self.input.LA(3)
+
+ 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.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 34:
+ LA31_38 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 35:
+ LA31_39 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 36:
+ LA31_40 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 37:
+ LA31_41 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 38:
+ LA31_42 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 39:
+ LA31_43 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 40:
+ LA31_44 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 41:
+ LA31_45 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 42:
+ LA31_46 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 45 or LA31 == 46:
+ LA31_47 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 48:
+ LA31_48 = self.input.LA(3)
+
+ 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 or LA31 == 61:
+ LA31_49 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+
+ elif (LA31_0 == 64) :
+ LA31 = self.input.LA(2)
+ if LA31 == 65:
+ LA31_51 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 62:
+ LA31_52 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == IDENTIFIER:
+ LA31_53 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == HEX_LITERAL:
+ LA31_54 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == OCTAL_LITERAL:
+ LA31_55 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == DECIMAL_LITERAL:
+ LA31_56 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == CHARACTER_LITERAL:
+ LA31_57 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == STRING_LITERAL:
+ LA31_58 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == FLOATING_POINT_LITERAL:
+ LA31_59 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 72:
+ LA31_60 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 73:
+ LA31_61 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+ 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.synpred67()) :
+ alt31 = 1
+
+
+ elif LA31 == 74:
+ LA31_63 = self.input.LA(3)
+
+ if (self.synpred67()) :
+ alt31 = 1
+
+
+
+
+
+ if alt31 == 1:
+ # C.g:0:0: declarator_suffix
+ self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
+ self.declarator_suffix()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop31
+
+
+
+
+ elif alt34 == 2:
+ # 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:304:8: ( 'EFIAPI' )?
+ alt32 = 2
+ LA32_0 = self.input.LA(1)
+
+ if (LA32_0 == 58) :
+ LA32_1 = self.input.LA(2)
+
+ if (self.synpred69()) :
+ alt32 = 1
+ if alt32 == 1:
+ # 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_declarator834)
+ self.declarator()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
+ if self.failed:
+ return
+ # C.g:304:35: ( declarator_suffix )+
+ cnt33 = 0
+ while True: #loop33
+ alt33 = 2
+ LA33_0 = self.input.LA(1)
+
+ if (LA33_0 == 62) :
+ LA33 = self.input.LA(2)
+ if LA33 == 63:
+ LA33_30 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 58:
+ LA33_31 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 66:
+ LA33_32 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 59:
+ LA33_33 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 60:
+ LA33_34 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == IDENTIFIER:
+ LA33_35 = self.input.LA(3)
+
+ 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.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 34:
+ LA33_38 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 35:
+ LA33_39 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 36:
+ LA33_40 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 37:
+ LA33_41 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 38:
+ LA33_42 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 39:
+ LA33_43 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 40:
+ LA33_44 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 41:
+ LA33_45 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 42:
+ LA33_46 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 45 or LA33 == 46:
+ LA33_47 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 48:
+ LA33_48 = self.input.LA(3)
+
+ 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 or LA33 == 61:
+ LA33_49 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+
+ elif (LA33_0 == 64) :
+ LA33 = self.input.LA(2)
+ if LA33 == 65:
+ LA33_51 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 62:
+ LA33_52 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == IDENTIFIER:
+ LA33_53 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == HEX_LITERAL:
+ LA33_54 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == OCTAL_LITERAL:
+ LA33_55 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == DECIMAL_LITERAL:
+ LA33_56 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == CHARACTER_LITERAL:
+ LA33_57 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == STRING_LITERAL:
+ LA33_58 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == FLOATING_POINT_LITERAL:
+ LA33_59 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 72:
+ LA33_60 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 73:
+ LA33_61 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+ 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.synpred70()) :
+ alt33 = 1
+
+
+ elif LA33 == 74:
+ LA33_63 = self.input.LA(3)
+
+ if (self.synpred70()) :
+ alt33 = 1
+
+
+
+
+
+ if alt33 == 1:
+ # C.g:0:0: declarator_suffix
+ self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
+ self.declarator_suffix()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ if cnt33 >= 1:
+ break #loop33
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(33, self.input)
+ raise eee
+
+ cnt33 += 1
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 23, direct_declarator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end direct_declarator
+
+
+ # $ANTLR start declarator_suffix
+ # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
+ def declarator_suffix(self, ):
+
+ declarator_suffix_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
+ return
+
+ # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
+ alt35 = 5
+ LA35_0 = self.input.LA(1)
+
+ if (LA35_0 == 64) :
+ LA35_1 = self.input.LA(2)
+
+ if (LA35_1 == 65) :
+ alt35 = 2
+ 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("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
+
+ raise nvae
+
+ elif (LA35_0 == 62) :
+ LA35 = self.input.LA(2)
+ 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_29 = self.input.LA(3)
+
+ if (self.synpred73()) :
+ alt35 = 3
+ elif (self.synpred74()) :
+ alt35 = 4
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
+
+ raise nvae
+
+ if alt35 == 1:
+ # 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_suffix854)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
+ if self.failed:
+ return
+
+
+ elif alt35 == 2:
+ # C.g:309:9: '[' ']'
+ self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
+ if self.failed:
+ return
+ self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
+ if self.failed:
+ return
+
+
+ elif alt35 == 3:
+ # 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_suffix880)
+ self.parameter_type_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
+ if self.failed:
+ return
+
+
+ elif alt35 == 4:
+ # 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_suffix894)
+ self.identifier_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
+ if self.failed:
+ return
+
+
+ elif alt35 == 5:
+ # C.g:312:9: '(' ')'
+ self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 24, declarator_suffix_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end declarator_suffix
+
+
+ # $ANTLR start pointer
+ # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
+ def pointer(self, ):
+
+ pointer_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
+ return
+
+ # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
+ alt38 = 3
+ LA38_0 = self.input.LA(1)
+
+ if (LA38_0 == 66) :
+ LA38 = self.input.LA(2)
+ if LA38 == 66:
+ LA38_2 = self.input.LA(3)
+
+ if (self.synpred78()) :
+ alt38 = 2
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
+
+ raise nvae
+
+ elif LA38 == 58:
+ LA38_3 = self.input.LA(3)
+
+ if (self.synpred77()) :
+ alt38 = 1
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
+
+ raise nvae
+
+ elif LA38 == 59:
+ LA38_4 = self.input.LA(3)
+
+ if (self.synpred77()) :
+ alt38 = 1
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
+
+ raise nvae
+
+ elif LA38 == 60:
+ LA38_5 = self.input.LA(3)
+
+ if (self.synpred77()) :
+ alt38 = 1
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, 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 == 62 or LA38 == 63 or LA38 == 64:
+ alt38 = 3
+ elif LA38 == 53:
+ LA38_21 = self.input.LA(3)
+
+ if (self.synpred77()) :
+ alt38 = 1
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, 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 or LA38 == 61:
+ LA38_29 = self.input.LA(3)
+
+ if (self.synpred77()) :
+ alt38 = 1
+ elif (True) :
+ alt38 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
+
+ raise nvae
+
+ if alt38 == 1:
+ # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
+ self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
+ if self.failed:
+ return
+ # C.g:316:8: ( type_qualifier )+
+ cnt36 = 0
+ while True: #loop36
+ alt36 = 2
+ LA36 = self.input.LA(1)
+ if LA36 == 58:
+ LA36_2 = self.input.LA(2)
+
+ if (self.synpred75()) :
+ alt36 = 1
+
+
+ elif LA36 == 59:
+ LA36_3 = self.input.LA(2)
+
+ if (self.synpred75()) :
+ alt36 = 1
+
+
+ elif LA36 == 60:
+ LA36_4 = self.input.LA(2)
+
+ if (self.synpred75()) :
+ alt36 = 1
+
+
+ elif LA36 == 53:
+ LA36_20 = self.input.LA(2)
+
+ 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 or LA36 == 61:
+ LA36_28 = self.input.LA(2)
+
+ if (self.synpred75()) :
+ alt36 = 1
+
+
+
+ if alt36 == 1:
+ # C.g:0:0: type_qualifier
+ self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
+ self.type_qualifier()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ if cnt36 >= 1:
+ break #loop36
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(36, self.input)
+ raise eee
+
+ cnt36 += 1
+
+
+ # C.g:316:24: ( pointer )?
+ alt37 = 2
+ LA37_0 = self.input.LA(1)
+
+ if (LA37_0 == 66) :
+ LA37_1 = self.input.LA(2)
+
+ if (self.synpred76()) :
+ alt37 = 1
+ if alt37 == 1:
+ # C.g:0:0: pointer
+ self.following.append(self.FOLLOW_pointer_in_pointer924)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt38 == 2:
+ # 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_pointer932)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt38 == 3:
+ # C.g:318:4: '*'
+ self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 25, pointer_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end pointer
+
+
+ # $ANTLR start parameter_type_list
+ # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
+ def parameter_type_list(self, ):
+
+ parameter_type_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
+ return
+
+ # 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:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
+ alt40 = 2
+ LA40_0 = self.input.LA(1)
+
+ if (LA40_0 == 27) :
+ alt40 = 1
+ if alt40 == 1:
+ # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
+ self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
+ if self.failed:
+ return
+ # C.g:322:24: ( 'OPTIONAL' )?
+ alt39 = 2
+ LA39_0 = self.input.LA(1)
+
+ if (LA39_0 == 53) :
+ alt39 = 1
+ if alt39 == 1:
+ # 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, 67, self.FOLLOW_67_in_parameter_type_list958)
+ if self.failed:
+ return
+
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 26, parameter_type_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end parameter_type_list
+
+
+ # $ANTLR start parameter_list
+ # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
+ def parameter_list(self, ):
+
+ parameter_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
+ return
+
+ # 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:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
+ while True: #loop42
+ alt42 = 2
+ LA42_0 = self.input.LA(1)
+
+ if (LA42_0 == 27) :
+ LA42_1 = self.input.LA(2)
+
+ if (LA42_1 == 53) :
+ LA42_3 = self.input.LA(3)
+
+ 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 <= 61) or LA42_1 == 66) :
+ alt42 = 1
+
+
+
+
+ if alt42 == 1:
+ # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
+ self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
+ if self.failed:
+ return
+ # 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.synpred81()) :
+ alt41 = 1
+ if alt41 == 1:
+ # 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_list981)
+ self.parameter_declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop42
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 27, parameter_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end parameter_list
+
+
+ # $ANTLR start parameter_declaration
+ # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
+ def parameter_declaration(self, ):
+
+ parameter_declaration_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
+ return
+
+ # 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 or LA46 == 61:
+ alt46 = 1
+ elif LA46 == IDENTIFIER:
+ LA46_13 = self.input.LA(2)
+
+ if (self.synpred86()) :
+ alt46 = 1
+ elif (True) :
+ alt46 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
+
+ raise nvae
+
+ elif LA46 == 66:
+ alt46 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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:330:27: ( declarator | abstract_declarator )*
+ while True: #loop43
+ alt43 = 3
+ LA43 = self.input.LA(1)
+ if LA43 == 66:
+ LA43_5 = self.input.LA(2)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
+ alt43 = 1
+ 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 == 61 or LA43 == 63 or LA43 == 64:
+ alt43 = 2
+ elif LA43 == IDENTIFIER:
+ LA43_37 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == 58:
+ LA43_38 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == 66:
+ LA43_39 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == 59:
+ LA43_40 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == 60:
+ LA43_41 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+ elif LA43 == 62:
+ LA43_43 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt43 = 1
+ elif (self.synpred84()) :
+ alt43 = 2
+
+
+
+ elif LA43 == 64:
+ alt43 = 2
+
+ if alt43 == 1:
+ # C.g:330:28: declarator
+ self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
+ self.declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt43 == 2:
+ # 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:
+ return
+
+
+ else:
+ break #loop43
+
+
+ # C.g:330:61: ( 'OPTIONAL' )?
+ alt44 = 2
+ LA44_0 = self.input.LA(1)
+
+ if (LA44_0 == 53) :
+ alt44 = 1
+ if alt44 == 1:
+ # C.g:330:62: 'OPTIONAL'
+ self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt46 == 2:
+ # 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 == 66) :
+ alt45 = 1
+
+
+ if alt45 == 1:
+ # C.g:0:0: pointer
+ self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop45
+
+
+ self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 28, parameter_declaration_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end parameter_declaration
+
+
+ # $ANTLR start identifier_list
+ # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
+ def identifier_list(self, ):
+
+ identifier_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
+ return
+
+ # 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:337:2: ( ',' IDENTIFIER )*
+ while True: #loop47
+ alt47 = 2
+ LA47_0 = self.input.LA(1)
+
+ if (LA47_0 == 27) :
+ alt47 = 1
+
+
+ if alt47 == 1:
+ # 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_list1033)
+ if self.failed:
+ return
+
+
+ else:
+ break #loop47
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 29, identifier_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end identifier_list
+
+
+ # $ANTLR start type_name
+ # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
+ def type_name(self, ):
+
+ type_name_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
+ return
+
+ # 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 <= 61)) :
+ alt49 = 1
+ elif (LA49_0 == IDENTIFIER) :
+ LA49_13 = self.input.LA(2)
+
+ if (self.synpred90()) :
+ alt49 = 1
+ elif (True) :
+ alt49 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
+
+ raise nvae
+
+ if alt49 == 1:
+ # 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:341:29: ( abstract_declarator )?
+ alt48 = 2
+ LA48_0 = self.input.LA(1)
+
+ 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_name1048)
+ self.abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt49 == 2:
+ # 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:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 30, type_name_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end type_name
+
+
+ # $ANTLR start 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
+ return
+
+ # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
+ alt51 = 2
+ LA51_0 = self.input.LA(1)
+
+ if (LA51_0 == 66) :
+ alt51 = 1
+ elif (LA51_0 == 62 or LA51_0 == 64) :
+ alt51 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
+
+ raise nvae
+
+ if alt51 == 1:
+ # 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:346:12: ( direct_abstract_declarator )?
+ alt50 = 2
+ LA50_0 = self.input.LA(1)
+
+ if (LA50_0 == 62) :
+ LA50 = self.input.LA(2)
+ if LA50 == 63:
+ LA50_12 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 58:
+ LA50_13 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 66:
+ LA50_14 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 59:
+ LA50_15 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 60:
+ LA50_16 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == IDENTIFIER:
+ LA50_17 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 62:
+ LA50_18 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 64:
+ LA50_19 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
+ LA50_20 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 34:
+ LA50_21 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 35:
+ LA50_22 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 36:
+ LA50_23 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 37:
+ LA50_24 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 38:
+ LA50_25 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 39:
+ LA50_26 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 40:
+ LA50_27 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 41:
+ LA50_28 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 42:
+ LA50_29 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 45 or LA50 == 46:
+ LA50_30 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 48:
+ LA50_31 = self.input.LA(3)
+
+ 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 or LA50 == 61:
+ LA50_32 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif (LA50_0 == 64) :
+ LA50 = self.input.LA(2)
+ if LA50 == 65:
+ LA50_33 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 62:
+ LA50_34 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == IDENTIFIER:
+ LA50_35 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == HEX_LITERAL:
+ LA50_36 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == OCTAL_LITERAL:
+ LA50_37 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == DECIMAL_LITERAL:
+ LA50_38 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == CHARACTER_LITERAL:
+ LA50_39 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == STRING_LITERAL:
+ LA50_40 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == FLOATING_POINT_LITERAL:
+ LA50_41 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 72:
+ LA50_42 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ elif LA50 == 73:
+ LA50_43 = self.input.LA(3)
+
+ if (self.synpred91()) :
+ alt50 = 1
+ 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.synpred91()) :
+ alt50 = 1
+ elif LA50 == 74:
+ LA50_45 = self.input.LA(3)
+
+ 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_declarator1067)
+ self.direct_abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt51 == 2:
+ # 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:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 31, abstract_declarator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end abstract_declarator
+
+
+ # $ANTLR start direct_abstract_declarator
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
+ return
+
+ # 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 == 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 == 61 or LA52 == 63:
+ alt52 = 2
+ elif LA52 == 66:
+ LA52_18 = self.input.LA(3)
+
+ if (self.synpred93()) :
+ alt52 = 1
+ elif (True) :
+ alt52 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
+
+ raise nvae
+
+ elif LA52 == 62 or LA52 == 64:
+ alt52 = 1
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
+
+ raise nvae
+
+ elif (LA52_0 == 64) :
+ alt52 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
+
+ raise nvae
+
+ if alt52 == 1:
+ # 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_declarator1088)
+ self.abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
+ if self.failed:
+ return
+
+
+ elif alt52 == 2:
+ # 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:
+ return
+
+
+
+ # C.g:351:65: ( abstract_declarator_suffix )*
+ while True: #loop53
+ alt53 = 2
+ LA53_0 = self.input.LA(1)
+
+ if (LA53_0 == 62) :
+ LA53 = self.input.LA(2)
+ if LA53 == 63:
+ LA53_12 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 58:
+ LA53_13 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 66:
+ LA53_14 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 59:
+ LA53_15 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 60:
+ LA53_16 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == IDENTIFIER:
+ LA53_17 = self.input.LA(3)
+
+ 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.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 34:
+ LA53_20 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 35:
+ LA53_21 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 36:
+ LA53_22 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 37:
+ LA53_23 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 38:
+ LA53_24 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 39:
+ LA53_25 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 40:
+ LA53_26 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 41:
+ LA53_27 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 42:
+ LA53_28 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 45 or LA53 == 46:
+ LA53_29 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 48:
+ LA53_30 = self.input.LA(3)
+
+ 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 or LA53 == 61:
+ LA53_31 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+
+ elif (LA53_0 == 64) :
+ LA53 = self.input.LA(2)
+ if LA53 == 65:
+ LA53_33 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 62:
+ LA53_34 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == IDENTIFIER:
+ LA53_35 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == HEX_LITERAL:
+ LA53_36 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == OCTAL_LITERAL:
+ LA53_37 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == DECIMAL_LITERAL:
+ LA53_38 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == CHARACTER_LITERAL:
+ LA53_39 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == STRING_LITERAL:
+ LA53_40 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == FLOATING_POINT_LITERAL:
+ LA53_41 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 72:
+ LA53_42 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 73:
+ LA53_43 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+ 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.synpred94()) :
+ alt53 = 1
+
+
+ elif LA53 == 74:
+ LA53_45 = self.input.LA(3)
+
+ if (self.synpred94()) :
+ alt53 = 1
+
+
+
+
+
+ if alt53 == 1:
+ # C.g:0:0: abstract_declarator_suffix
+ self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
+ self.abstract_declarator_suffix()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop53
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end direct_abstract_declarator
+
+
+ # $ANTLR start abstract_declarator_suffix
+ # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
+ def abstract_declarator_suffix(self, ):
+
+ abstract_declarator_suffix_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
+ return
+
+ # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
+ alt54 = 4
+ LA54_0 = self.input.LA(1)
+
+ if (LA54_0 == 64) :
+ LA54_1 = self.input.LA(2)
+
+ if (LA54_1 == 65) :
+ alt54 = 1
+ 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("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
+
+ raise nvae
+
+ elif (LA54_0 == 62) :
+ LA54_2 = self.input.LA(2)
+
+ if (LA54_2 == 63) :
+ alt54 = 3
+ 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("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
+
+ raise nvae
+
+ if alt54 == 1:
+ # C.g:355:4: '[' ']'
+ self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
+ if self.failed:
+ return
+ self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
+ if self.failed:
+ return
+
+
+ elif alt54 == 2:
+ # 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_suffix1119)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
+ if self.failed:
+ return
+
+
+ elif alt54 == 3:
+ # C.g:357:4: '(' ')'
+ self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
+ if self.failed:
+ return
+
+
+ elif alt54 == 4:
+ # 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_suffix1135)
+ self.parameter_type_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end abstract_declarator_suffix
+
+
+ # $ANTLR start initializer
+ # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
+ def initializer(self, ):
+
+ initializer_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
+ return
+
+ # 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 == 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
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
+
+ raise nvae
+
+ if alt56 == 1:
+ # C.g:363:4: assignment_expression
+ self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
+ self.assignment_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt56 == 2:
+ # 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_initializer1157)
+ self.initializer_list()
+ self.following.pop()
+ if self.failed:
+ return
+ # C.g:364:25: ( ',' )?
+ alt55 = 2
+ LA55_0 = self.input.LA(1)
+
+ if (LA55_0 == 27) :
+ alt55 = 1
+ if alt55 == 1:
+ # C.g:0:0: ','
+ self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
+ if self.failed:
+ return
+
+
+
+ self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 34, initializer_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end initializer
+
+
+ # $ANTLR start initializer_list
+ # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
+ def initializer_list(self, ):
+
+ initializer_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
+ return
+
+ # 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:368:16: ( ',' initializer )*
+ while True: #loop57
+ alt57 = 2
+ LA57_0 = self.input.LA(1)
+
+ if (LA57_0 == 27) :
+ LA57_1 = self.input.LA(2)
+
+ 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: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_list1178)
+ self.initializer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop57
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 35, initializer_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end initializer_list
+
+ class argument_expression_list_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start argument_expression_list
+ # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
+ def argument_expression_list(self, ):
+
+ retval = self.argument_expression_list_return()
+ retval.start = self.input.LT(1)
+ argument_expression_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
+ return retval
+
+ # 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:374:28: ( 'OPTIONAL' )?
+ alt58 = 2
+ LA58_0 = self.input.LA(1)
+
+ if (LA58_0 == 53) :
+ alt58 = 1
+ if alt58 == 1:
+ # C.g:374:29: 'OPTIONAL'
+ self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
+ if self.failed:
+ return retval
+
+
+
+ # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
+ while True: #loop60
+ alt60 = 2
+ LA60_0 = self.input.LA(1)
+
+ if (LA60_0 == 27) :
+ alt60 = 1
+
+
+ if alt60 == 1:
+ # 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_list1206)
+ self.assignment_expression()
+ self.following.pop()
+ if self.failed:
+ return retval
+ # C.g:374:69: ( 'OPTIONAL' )?
+ alt59 = 2
+ LA59_0 = self.input.LA(1)
+
+ if (LA59_0 == 53) :
+ alt59 = 1
+ if alt59 == 1:
+ # C.g:374:70: 'OPTIONAL'
+ self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
+ if self.failed:
+ return retval
+
+
+
+
+
+ else:
+ break #loop60
+
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 36, argument_expression_list_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end argument_expression_list
+
+
+ # $ANTLR start additive_expression
+ # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
+ def additive_expression(self, ):
+
+ additive_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
+ return
+
+ # 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:
+ return
+
+
+
+ # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
+ while True: #loop61
+ alt61 = 3
+ LA61_0 = self.input.LA(1)
+
+ if (LA61_0 == 68) :
+ alt61 = 1
+ elif (LA61_0 == 69) :
+ alt61 = 2
+
+
+ if alt61 == 1:
+ # 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_expression1231)
+ self.multiplicative_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt61 == 2:
+ # 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_expression1237)
+ self.multiplicative_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop61
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 37, additive_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end additive_expression
+
+
+ # $ANTLR start multiplicative_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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
+ return
+
+ # 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:
+ return
+
+
+
+ # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
+ while True: #loop62
+ alt62 = 4
+ LA62 = self.input.LA(1)
+ if LA62 == 66:
+ alt62 = 1
+ elif LA62 == 70:
+ alt62 = 2
+ elif LA62 == 71:
+ alt62 = 3
+
+ if alt62 == 1:
+ # 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_expression1257)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt62 == 2:
+ # 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_expression1263)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt62 == 3:
+ # 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_expression1269)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop62
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 38, multiplicative_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end multiplicative_expression
+
+
+ # $ANTLR start cast_expression
+ # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
+ def cast_expression(self, ):
+
+ cast_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
+ return
+
+ # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
+ alt63 = 2
+ LA63_0 = self.input.LA(1)
+
+ if (LA63_0 == 62) :
+ LA63 = self.input.LA(2)
+ 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.synpred109()) :
+ alt63 = 1
+ elif (True) :
+ alt63 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
+
+ raise nvae
+
+ if alt63 == 1:
+ # 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_expression1284)
+ self.type_name()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt63 == 2:
+ # 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:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 39, cast_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end cast_expression
+
+
+ # $ANTLR start unary_expression
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
+ return
+
+ # 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 == 62:
+ alt64 = 1
+ elif LA64 == 72:
+ alt64 = 2
+ elif LA64 == 73:
+ alt64 = 3
+ elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
+ alt64 = 4
+ elif LA64 == 74:
+ LA64_12 = self.input.LA(2)
+
+ if (LA64_12 == 62) :
+ LA64_13 = self.input.LA(3)
+
+ if (self.synpred114()) :
+ alt64 = 5
+ elif (True) :
+ alt64 = 6
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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("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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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:391:4: postfix_expression
+ self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
+ self.postfix_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt64 == 2:
+ # 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_expression1311)
+ self.unary_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt64 == 3:
+ # 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_expression1318)
+ self.unary_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt64 == 4:
+ # 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_expression1325)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt64 == 5:
+ # 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_expression1332)
+ self.unary_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt64 == 6:
+ # 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, 62, self.FOLLOW_62_in_unary_expression1339)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
+ self.type_name()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 40, unary_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end unary_expression
+
+
+ # $ANTLR start postfix_expression
+ # 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()
+ a = None
+ b = None
+ x = None
+ y = None
+ z = None
+ p = None
+
+ c = None
+
+
self.postfix_expression_stack[-1].FuncCallText = ''
- - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41): - return - - # 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: - return - if self.backtracking == 0: - self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop) - - # 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 == 66: - LA65_1 = self.input.LA(2) - - if (LA65_1 == IDENTIFIER) : - LA65_30 = self.input.LA(3) - - if (self.synpred120()) : - alt65 = 6 - - - - - elif LA65 == 64: - alt65 = 1 - elif LA65 == 62: - LA65 = self.input.LA(2) - 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_55 = self.input.LA(3) - - if (self.synpred117()) : - alt65 = 3 - elif (self.synpred118()) : - alt65 = 4 - - - elif LA65 == 66: - LA65_57 = self.input.LA(3) - - if (self.synpred117()) : - alt65 = 3 - 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 == 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 == 75: - alt65 = 5 - elif LA65 == 76: - alt65 = 7 - elif LA65 == 72: - alt65 = 8 - elif LA65 == 73: - alt65 = 9 - - if alt65 == 1: - # 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_expression1385) - self.expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387) - if self.failed: - return - - - elif alt65 == 2: - # 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, 63, self.FOLLOW_63_in_postfix_expression1405) - if self.failed: - return - if self.backtracking == 0: - self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '') - - - - elif alt65 == 3: - # 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_expression1424) - c = self.argument_expression_list() - self.following.pop() - if self.failed: - return - b = self.input.LT(1) - self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428) - if self.failed: - return - if self.backtracking == 0: - self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop)) - - - - elif alt65 == 4: - # 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_expression1446) - self.macro_parameter_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448) - if self.failed: - return - - - elif alt65 == 5: - # 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_expression1466) - if self.failed: - return - if self.backtracking == 0: - self.postfix_expression_stack[-1].FuncCallText += '.' + x.text - - - - elif alt65 == 6: - # 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_expression1486) - if self.failed: - return - if self.backtracking == 0: - self.postfix_expression_stack[-1].FuncCallText = y.text - - - - elif alt65 == 7: - # 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_expression1506) - if self.failed: - return - if self.backtracking == 0: - self.postfix_expression_stack[-1].FuncCallText += '->' + z.text - - - - elif alt65 == 8: - # C.g:414:13: '++' - self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522) - if self.failed: - return - - - elif alt65 == 9: - # C.g:415:13: '--' - self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536) - if self.failed: - return - - - else: - break #loop65 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 41, postfix_expression_StartIndex) - - self.postfix_expression_stack.pop() - pass - - return - - # $ANTLR end postfix_expression - - - # $ANTLR start macro_parameter_list - # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ; - def macro_parameter_list(self, ): - - macro_parameter_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42): - return - - # 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:420:26: ( ',' parameter_declaration )* - while True: #loop66 - alt66 = 2 - LA66_0 = self.input.LA(1) - - if (LA66_0 == 27) : - alt66 = 1 - - - if alt66 == 1: - # 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_list1564) - self.parameter_declaration() - self.following.pop() - if self.failed: - return - - - else: - break #loop66 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 42, macro_parameter_list_StartIndex) - - pass - - return - - # $ANTLR end macro_parameter_list - - - # $ANTLR start unary_operator - # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' ); - def unary_operator(self, ): - - unary_operator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43): - return - - # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' ) - # C.g: - 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 - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_unary_operator0 - ) - raise mse - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 43, unary_operator_StartIndex) - - pass - - return - - # $ANTLR end unary_operator - - class primary_expression_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start primary_expression - # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' ); - def primary_expression(self, ): - - retval = self.primary_expression_return() - retval.start = self.input.LT(1) - primary_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44): - return retval - - # 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 == 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("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 == 62: - alt67 = 3 - else: - if self.backtracking > 0: - self.failed = True - return retval - - nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input) - - raise nvae - - if alt67 == 1: - # 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:434:4: constant - self.following.append(self.FOLLOW_constant_in_primary_expression1618) - self.constant() - self.following.pop() - if self.failed: - return retval - - - elif alt67 == 3: - # 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_expression1625) - self.expression() - self.following.pop() - if self.failed: - return retval - self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627) - if self.failed: - return retval - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 44, primary_expression_StartIndex) - - pass - - return retval - - # $ANTLR end primary_expression - - - # $ANTLR start constant - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45): - return - - # 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: - alt72 = 1 - elif LA72 == OCTAL_LITERAL: - alt72 = 2 - elif LA72 == DECIMAL_LITERAL: - alt72 = 3 - elif LA72 == CHARACTER_LITERAL: - alt72 = 4 - elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL: - alt72 = 5 - elif LA72 == FLOATING_POINT_LITERAL: - alt72 = 6 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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: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: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: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:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* - # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ - cnt70 = 0 - while True: #loop70 - alt70 = 2 - LA70_0 = self.input.LA(1) - - if (LA70_0 == IDENTIFIER) : - LA70_1 = self.input.LA(2) - - if (LA70_1 == STRING_LITERAL) : - alt70 = 1 - elif (LA70_1 == IDENTIFIER) : - LA70_33 = self.input.LA(3) - - if (self.synpred138()) : - alt70 = 1 - - - - - elif (LA70_0 == STRING_LITERAL) : - alt70 = 1 - - - if alt70 == 1: - # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+ - # C.g:443:8: ( IDENTIFIER )* - while True: #loop68 - alt68 = 2 - LA68_0 = self.input.LA(1) - - if (LA68_0 == IDENTIFIER) : - alt68 = 1 - - - if alt68 == 1: - # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680) - if self.failed: - return - - - else: - break #loop68 - - - # C.g:443:20: ( STRING_LITERAL )+ - cnt69 = 0 - while True: #loop69 - alt69 = 2 - LA69_0 = self.input.LA(1) - - if (LA69_0 == STRING_LITERAL) : - LA69_31 = self.input.LA(2) - - if (self.synpred137()) : - alt69 = 1 - - - - - if alt69 == 1: - # C.g:0:0: STRING_LITERAL - self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683) - if self.failed: - return - - - else: - if cnt69 >= 1: - break #loop69 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(69, self.input) - raise eee - - cnt69 += 1 - - - - - else: - if cnt70 >= 1: - break #loop70 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(70, self.input) - raise eee - - cnt70 += 1 - - - # C.g:443:38: ( IDENTIFIER )* - while True: #loop71 - alt71 = 2 - LA71_0 = self.input.LA(1) - - if (LA71_0 == IDENTIFIER) : - alt71 = 1 - - - if alt71 == 1: - # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688) - if self.failed: - return - - - else: - break #loop71 - - - - - elif alt72 == 6: - # 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 - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 45, constant_StartIndex) - - pass - - return - - # $ANTLR end constant - - class expression_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start expression - # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ; - def expression(self, ): - - retval = self.expression_return() - retval.start = self.input.LT(1) - expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46): - return retval - - # 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:450:26: ( ',' assignment_expression )* - while True: #loop73 - alt73 = 2 - LA73_0 = self.input.LA(1) - - if (LA73_0 == 27) : - alt73 = 1 - - - if alt73 == 1: - # 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_expression1720) - self.assignment_expression() - self.following.pop() - if self.failed: - return retval - - - else: - break #loop73 - - - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 46, expression_StartIndex) - - pass - - return retval - - # $ANTLR end expression - - - # $ANTLR start constant_expression - # C.g:453:1: constant_expression : conditional_expression ; - def constant_expression(self, ): - - constant_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47): - return - - # 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: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 47, constant_expression_StartIndex) - - pass - - return - - # $ANTLR end constant_expression - - - # $ANTLR start assignment_expression - # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression ); - def assignment_expression(self, ): - - assignment_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48): - return - - # 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 == 64: - LA74_13 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input) - - raise nvae - - elif LA74 == 62: - LA74_14 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input) - - raise nvae - - elif LA74 == 75: - LA74_15 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input) - - raise nvae - - elif LA74 == 66: - LA74_16 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input) - - raise nvae - - elif LA74 == 76: - LA74_17 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input) - - raise nvae - - elif LA74 == 72: - LA74_18 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input) - - raise nvae - - elif LA74 == 73: - LA74_19 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input) - - raise nvae - - elif LA74 == IDENTIFIER: - LA74_22 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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("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 == 64: - LA74_44 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input) - - raise nvae - - elif LA74 == 62: - LA74_45 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input) - - raise nvae - - elif LA74 == 75: - LA74_46 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input) - - raise nvae - - elif LA74 == 66: - LA74_47 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input) - - raise nvae - - elif LA74 == 76: - LA74_48 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input) - - raise nvae - - elif LA74 == 72: - LA74_49 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input) - - raise nvae - - elif LA74 == 73: - LA74_50 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input) - - raise nvae - - 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("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 == 64: - LA74_73 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input) - - raise nvae - - elif LA74 == 62: - LA74_74 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input) - - raise nvae - - elif LA74 == 75: - LA74_75 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input) - - raise nvae - - elif LA74 == 66: - LA74_76 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input) - - raise nvae - - elif LA74 == 76: - LA74_77 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input) - - raise nvae - - elif LA74 == 72: - LA74_78 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input) - - raise nvae - - elif LA74 == 73: - LA74_79 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input) - - raise nvae - - 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 == 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("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 == 64: - LA74_102 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input) - - raise nvae - - elif LA74 == 62: - LA74_103 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input) - - raise nvae - - elif LA74 == 75: - LA74_104 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input) - - raise nvae - - elif LA74 == 66: - LA74_105 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input) - - raise nvae - - elif LA74 == 76: - LA74_106 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input) - - raise nvae - - elif LA74 == 72: - LA74_107 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input) - - raise nvae - - elif LA74 == 73: - LA74_108 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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("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 == 64: - LA74_131 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input) - - raise nvae - - elif LA74 == 62: - LA74_132 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input) - - raise nvae - - elif LA74 == 75: - LA74_133 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input) - - raise nvae - - elif LA74 == 66: - LA74_134 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input) - - raise nvae - - elif LA74 == 76: - LA74_135 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input) - - raise nvae - - elif LA74 == 72: - LA74_136 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input) - - raise nvae - - elif LA74 == 73: - LA74_137 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input) - - raise nvae - - 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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input) - - raise nvae - - elif LA74 == STRING_LITERAL: - LA74 = self.input.LA(2) - if LA74 == IDENTIFIER: - LA74_160 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input) - - raise nvae - - elif LA74 == 64: - LA74_161 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input) - - raise nvae - - elif LA74 == 62: - LA74_162 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input) - - raise nvae - - elif LA74 == 75: - LA74_163 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input) - - raise nvae - - elif LA74 == 66: - LA74_164 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input) - - raise nvae - - elif LA74 == 76: - LA74_165 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input) - - raise nvae - - elif LA74 == 72: - LA74_166 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input) - - raise nvae - - elif LA74 == 73: - LA74_167 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input) - - raise nvae - - 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_189 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input) - - raise nvae - - 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("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 == 64: - LA74_191 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input) - - raise nvae - - elif LA74 == 62: - LA74_192 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input) - - raise nvae - - elif LA74 == 75: - LA74_193 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input) - - raise nvae - - elif LA74 == 66: - LA74_194 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input) - - raise nvae - - elif LA74 == 76: - LA74_195 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input) - - raise nvae - - elif LA74 == 72: - LA74_196 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input) - - raise nvae - - elif LA74 == 73: - LA74_197 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input) - - raise nvae - - elif LA74 == 62: - LA74 = self.input.LA(2) - if LA74 == IDENTIFIER: - LA74_220 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input) - - raise nvae - - elif LA74 == 62: - LA74_227 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input) - - raise nvae - - elif LA74 == 72: - LA74_228 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input) - - raise nvae - - elif LA74 == 73: - LA74_229 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input) - - raise nvae - - elif LA74 == 74: - LA74_231 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 or LA74 == 61: - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input) - - raise nvae - - elif LA74 == 72: - LA74 = self.input.LA(2) - if LA74 == IDENTIFIER: - LA74_244 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input) - - raise nvae - - elif LA74 == 62: - LA74_251 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input) - - raise nvae - - elif LA74 == 72: - LA74_252 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input) - - raise nvae - - elif LA74 == 73: - LA74_253 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input) - - raise nvae - - elif LA74 == 74: - LA74_255 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input) - - raise nvae - - elif LA74 == 73: - LA74 = self.input.LA(2) - if LA74 == IDENTIFIER: - LA74_256 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input) - - raise nvae - - elif LA74 == 62: - LA74_263 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input) - - raise nvae - - elif LA74 == 72: - LA74_264 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input) - - raise nvae - - elif LA74 == 73: - LA74_265 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input) - - raise nvae - - elif LA74 == 74: - LA74_267 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input) - - raise nvae - - 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 == 62: - LA74_268 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input) - - raise nvae - - elif LA74 == 72: - LA74_276 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input) - - raise nvae - - elif LA74 == 73: - LA74_277 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input) - - raise nvae - - elif LA74 == 74: - LA74_279 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input) - - raise nvae - - elif LA74 == 74: - LA74 = self.input.LA(2) - if LA74 == 62: - LA74_280 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input) - - raise nvae - - elif LA74 == 72: - LA74_288 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input) - - raise nvae - - elif LA74 == 73: - LA74_289 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input) - - raise nvae - - 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.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input) - - raise nvae - - elif LA74 == 74: - LA74_291 = self.input.LA(3) - - if (self.synpred142()) : - alt74 = 1 - elif (True) : - alt74 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input) - - raise nvae - - if alt74 == 1: - # 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_expression1746) - self.assignment_operator() - self.following.pop() - if self.failed: - return - self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748) - self.assignment_expression() - self.following.pop() - if self.failed: - return - - - elif alt74 == 2: - # 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: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 48, assignment_expression_StartIndex) - - pass - - return - - # $ANTLR end assignment_expression - - - # $ANTLR start lvalue - # C.g:462:1: lvalue : unary_expression ; - def lvalue(self, ): - - lvalue_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49): - return - - # 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: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 49, lvalue_StartIndex) - - pass - - return - - # $ANTLR end lvalue - - - # $ANTLR start assignment_operator - # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ); - def assignment_operator(self, ): - - assignment_operator_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50): - return - - # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' ) - # C.g: - if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_assignment_operator0 - ) - raise mse - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 50, assignment_operator_StartIndex) - - pass - - return - - # $ANTLR end assignment_operator - - - # $ANTLR start 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() - e = None - - - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51): - return - - # 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:481:28: ( '?' expression ':' conditional_expression )? - alt75 = 2 - LA75_0 = self.input.LA(1) - - if (LA75_0 == 90) : - alt75 = 1 - if alt75 == 1: - # 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_expression1844) - self.expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846) - if self.failed: - return - self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848) - self.conditional_expression() - self.following.pop() - 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)) - - - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 51, conditional_expression_StartIndex) - - pass - - return - - # $ANTLR end conditional_expression - - class logical_or_expression_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start logical_or_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() - retval.start = self.input.LT(1) - logical_or_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52): - return retval - - # 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:485:27: ( '||' logical_and_expression )* - while True: #loop76 - alt76 = 2 - LA76_0 = self.input.LA(1) - - if (LA76_0 == 91) : - alt76 = 1 - - - if alt76 == 1: - # 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_expression1868) - self.logical_and_expression() - self.following.pop() - if self.failed: - return retval - - - else: - break #loop76 - - - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 52, logical_or_expression_StartIndex) - - pass - - return retval - - # $ANTLR end logical_or_expression - - - # $ANTLR start logical_and_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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53): - return - - # 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:489:28: ( '&&' inclusive_or_expression )* - while True: #loop77 - alt77 = 2 - LA77_0 = self.input.LA(1) - - if (LA77_0 == 92) : - alt77 = 1 - - - if alt77 == 1: - # 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_expression1886) - self.inclusive_or_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop77 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 53, logical_and_expression_StartIndex) - - pass - - return - - # $ANTLR end logical_and_expression - - - # $ANTLR start inclusive_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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54): - return - - # 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:493:28: ( '|' exclusive_or_expression )* - while True: #loop78 - alt78 = 2 - LA78_0 = self.input.LA(1) - - if (LA78_0 == 93) : - alt78 = 1 - - - if alt78 == 1: - # 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_expression1904) - self.exclusive_or_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop78 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 54, inclusive_or_expression_StartIndex) - - pass - - return - - # $ANTLR end inclusive_or_expression - - - # $ANTLR start exclusive_or_expression - # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ; - def exclusive_or_expression(self, ): - - exclusive_or_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55): - return - - # 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:497:19: ( '^' and_expression )* - while True: #loop79 - alt79 = 2 - LA79_0 = self.input.LA(1) - - if (LA79_0 == 94) : - alt79 = 1 - - - if alt79 == 1: - # 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_expression1922) - self.and_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop79 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 55, exclusive_or_expression_StartIndex) - - pass - - return - - # $ANTLR end exclusive_or_expression - - - # $ANTLR start and_expression - # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ; - def and_expression(self, ): - - and_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56): - return - - # 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:501:24: ( '&' equality_expression )* - while True: #loop80 - alt80 = 2 - LA80_0 = self.input.LA(1) - - if (LA80_0 == 77) : - alt80 = 1 - - - if alt80 == 1: - # 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_expression1940) - self.equality_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop80 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 56, and_expression_StartIndex) - - pass - - return - - # $ANTLR end and_expression - - - # $ANTLR start equality_expression - # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ; - def equality_expression(self, ): - - equality_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57): - return - - # 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:504:26: ( ( '==' | '!=' ) relational_expression )* - while True: #loop81 - alt81 = 2 - LA81_0 = self.input.LA(1) - - if ((95 <= LA81_0 <= 96)) : - alt81 = 1 - - - if alt81 == 1: - # C.g:504:27: ( '==' | '!=' ) relational_expression - if (95 <= self.input.LA(1) <= 96): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_equality_expression1955 - ) - raise mse - - - self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961) - self.relational_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop81 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 57, equality_expression_StartIndex) - - pass - - return - - # $ANTLR end equality_expression - - - # $ANTLR start relational_expression - # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ; - def relational_expression(self, ): - - relational_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58): - return - - # 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:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* - while True: #loop82 - alt82 = 2 - LA82_0 = self.input.LA(1) - - if ((97 <= LA82_0 <= 100)) : - alt82 = 1 - - - if alt82 == 1: - # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression - if (97 <= self.input.LA(1) <= 100): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_relational_expression1978 - ) - raise mse - - - self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988) - self.shift_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop82 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 58, relational_expression_StartIndex) - - pass - - return - - # $ANTLR end relational_expression - - - # $ANTLR start shift_expression - # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ; - def shift_expression(self, ): - - shift_expression_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59): - return - - # 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:512:24: ( ( '<<' | '>>' ) additive_expression )* - while True: #loop83 - alt83 = 2 - LA83_0 = self.input.LA(1) - - if ((101 <= LA83_0 <= 102)) : - alt83 = 1 - - - if alt83 == 1: - # C.g:512:25: ( '<<' | '>>' ) additive_expression - if (101 <= self.input.LA(1) <= 102): - self.input.consume(); - self.errorRecovery = False - self.failed = False - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_shift_expression2004 - ) - raise mse - - - self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010) - self.additive_expression() - self.following.pop() - if self.failed: - return - - - else: - break #loop83 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 59, shift_expression_StartIndex) - - pass - - return - - # $ANTLR end shift_expression - - - # $ANTLR start statement - # 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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60): - return - - # 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 == 62: - LA84_43 = self.input.LA(3) - - if (self.synpred169()) : - alt84 = 3 - elif (self.synpred173()) : - alt84 = 7 - elif (self.synpred174()) : - alt84 = 8 - elif (True) : - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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 == 66: - LA84_47 = self.input.LA(3) - - if (self.synpred169()) : - alt84 = 3 - elif (True) : - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == IDENTIFIER: - LA84_53 = self.input.LA(3) - - if (self.synpred169()) : - alt84 = 3 - elif (True) : - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 25: - LA84_68 = self.input.LA(3) - - if (self.synpred169()) : - alt84 = 3 - elif (True) : - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 or LA84 == 61: - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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 == 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 == 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 == 108 or LA84 == 110: - alt84 = 4 - elif LA84 == 111 or LA84 == 112 or LA84 == 113: - alt84 = 5 - elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117: - alt84 = 6 - elif LA84 == 103: - 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 or LA84 == 61: - alt84 = 11 - else: - if self.backtracking > 0: - self.failed = True - return - - 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:518:4: labeled_statement - self.following.append(self.FOLLOW_labeled_statement_in_statement2025) - self.labeled_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 2: - # C.g:519:4: compound_statement - self.following.append(self.FOLLOW_compound_statement_in_statement2030) - self.compound_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 3: - # C.g:520:4: expression_statement - self.following.append(self.FOLLOW_expression_statement_in_statement2035) - self.expression_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 4: - # C.g:521:4: selection_statement - self.following.append(self.FOLLOW_selection_statement_in_statement2040) - self.selection_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 5: - # C.g:522:4: iteration_statement - self.following.append(self.FOLLOW_iteration_statement_in_statement2045) - self.iteration_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 6: - # C.g:523:4: jump_statement - self.following.append(self.FOLLOW_jump_statement_in_statement2050) - self.jump_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 7: - # C.g:524:4: macro_statement - self.following.append(self.FOLLOW_macro_statement_in_statement2055) - self.macro_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 8: - # C.g:525:4: asm2_statement - self.following.append(self.FOLLOW_asm2_statement_in_statement2060) - self.asm2_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 9: - # C.g:526:4: asm1_statement - self.following.append(self.FOLLOW_asm1_statement_in_statement2065) - self.asm1_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 10: - # C.g:527:4: asm_statement - self.following.append(self.FOLLOW_asm_statement_in_statement2070) - self.asm_statement() - self.following.pop() - if self.failed: - return - - - elif alt84 == 11: - # C.g:528:4: declaration - self.following.append(self.FOLLOW_declaration_in_statement2075) - self.declaration() - self.following.pop() - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 60, statement_StartIndex) - - pass - - return - - # $ANTLR end statement - - - # $ANTLR start asm2_statement - # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ; - def asm2_statement(self, ): - - asm2_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61): - return - - # 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 == 103) : - alt85 = 1 - if alt85 == 1: - # C.g:0:0: '__asm__' - 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_statement2089) - if self.failed: - return - self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091) - if self.failed: - return - # C.g:532:30: (~ ( ';' ) )* - while True: #loop86 - alt86 = 2 - LA86_0 = self.input.LA(1) - - if (LA86_0 == 63) : - LA86_1 = self.input.LA(2) - - if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) : - alt86 = 1 - - - elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) : - alt86 = 1 - - - if alt86 == 1: - # 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 - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm2_statement2094 - ) - raise mse - - - - - else: - break #loop86 - - - 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_statement2103) - if self.failed: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 61, asm2_statement_StartIndex) - - pass - - return - - # $ANTLR end asm2_statement - - - # $ANTLR start asm1_statement - # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ; - def asm1_statement(self, ): - - asm1_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62): - return - - # 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_statement2117) - if self.failed: - return - # C.g:536:15: (~ ( '}' ) )* - while True: #loop87 - alt87 = 2 - LA87_0 = self.input.LA(1) - - if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) : - alt87 = 1 - - - if alt87 == 1: - # 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 - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm1_statement2120 - ) - raise mse - - - - - else: - break #loop87 - - - self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127) - if self.failed: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 62, asm1_statement_StartIndex) - - pass - - return - - # $ANTLR end asm1_statement - - - # $ANTLR start asm_statement - # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ; - def asm_statement(self, ): - - asm_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63): - return - - # 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_statement2140) - if self.failed: - return - # C.g:540:16: (~ ( '}' ) )* - while True: #loop88 - alt88 = 2 - LA88_0 = self.input.LA(1) - - if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) : - alt88 = 1 - - - if alt88 == 1: - # 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 - - else: - if self.backtracking > 0: - self.failed = True - return - - mse = MismatchedSetException(None, self.input) - self.recoverFromMismatchedSet( - self.input, mse, self.FOLLOW_set_in_asm_statement2143 - ) - raise mse - - - - - else: - break #loop88 - - - self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150) - if self.failed: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 63, asm_statement_StartIndex) - - pass - - return - - # $ANTLR end asm_statement - - - # $ANTLR start macro_statement - # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ; - def macro_statement(self, ): - - macro_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64): - return - - # 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, 62, self.FOLLOW_62_in_macro_statement2164) - if self.failed: - return - # 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 == 62: - LA89_45 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_47 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 66: - LA89_50 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_68 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_71 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_72 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_73 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: - LA89_74 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_75 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_76 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_77 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_78 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_79 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_80 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_81 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_82 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_83 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_84 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_85 = self.input.LA(3) - - 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 == 61: - LA89_86 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 26: - LA89 = self.input.LA(2) - if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33: - LA89_87 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_88 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_89 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_90 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_91 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_92 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_93 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_94 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_95 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_96 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_97 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_98 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_99 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_100 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 66: - LA89_101 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_102 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_103 = self.input.LA(3) - - 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 == 61: - LA89_104 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_105 = self.input.LA(3) - - 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 == 66: - LA89_106 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_107 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_108 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_109 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_110 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_111 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_112 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_114 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_115 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_116 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_117 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_118 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_119 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_120 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_121 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_122 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_123 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_124 = self.input.LA(3) - - 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 == 61: - LA89_125 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 34: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_126 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_127 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_128 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_129 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_130 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_131 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_132 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_134 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_135 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_136 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_137 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_138 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_139 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_140 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_141 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_142 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_143 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_144 = self.input.LA(3) - - 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 == 61: - LA89_145 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 35: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_146 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_147 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_148 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_149 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_150 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_151 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_152 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_154 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_155 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_156 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_157 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_158 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_159 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_160 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_161 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_162 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_163 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_164 = self.input.LA(3) - - 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 == 61: - LA89_165 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 36: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_166 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_167 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_168 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_169 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_170 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_171 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_172 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_174 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_175 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_176 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_177 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_178 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_179 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_180 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_181 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_182 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_183 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_184 = self.input.LA(3) - - 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 == 61: - LA89_185 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 37: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_186 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_187 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_188 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_189 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_190 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_191 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_192 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_194 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_195 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_196 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_197 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_198 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_199 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_200 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_201 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_202 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_203 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_204 = self.input.LA(3) - - 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 == 61: - LA89_205 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 38: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_206 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_207 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_208 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_209 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_210 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_211 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_212 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_214 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_215 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_216 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_217 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_218 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_219 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_220 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_221 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_222 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_223 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_224 = self.input.LA(3) - - 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 == 61: - LA89_225 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 39: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_226 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_227 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_228 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_229 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_230 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_231 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_232 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_234 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_235 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_236 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_237 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_238 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_239 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_240 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_241 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_242 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_243 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_244 = self.input.LA(3) - - 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 == 61: - LA89_245 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 40: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_246 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_247 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_248 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_249 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_250 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_251 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_252 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_254 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_255 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_256 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_257 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_258 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_259 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_260 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_261 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_262 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_263 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_264 = self.input.LA(3) - - 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 == 61: - LA89_265 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 41: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_266 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_267 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_268 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_269 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_270 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_271 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_272 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_274 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_275 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_276 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_277 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_278 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_279 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_280 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_281 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_282 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_283 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_284 = self.input.LA(3) - - 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 == 61: - LA89_285 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 42: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_286 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_287 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_288 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_289 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_290 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_291 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_292 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_294 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_295 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_296 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_297 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_298 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_299 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_300 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_301 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_302 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_303 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_304 = self.input.LA(3) - - 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 == 61: - LA89_305 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - elif LA89 == 45 or LA89 == 46: - LA89_40 = self.input.LA(2) - - if (LA89_40 == IDENTIFIER) : - LA89_306 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif (LA89_40 == 43) : - LA89_307 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - - elif LA89 == 48: - LA89_41 = self.input.LA(2) - - if (LA89_41 == 43) : - LA89_308 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif (LA89_41 == IDENTIFIER) : - LA89_309 = self.input.LA(3) - - 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 or LA89 == 61: - LA89 = self.input.LA(2) - if LA89 == 66: - LA89_310 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 58: - LA89_311 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 59: - LA89_312 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 60: - LA89_313 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == IDENTIFIER: - LA89_314 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 62: - LA89_315 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 25: - LA89_316 = self.input.LA(3) - - 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.synpred181()) : - alt89 = 1 - - - elif LA89 == 34: - LA89_318 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 35: - LA89_319 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 36: - LA89_320 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 37: - LA89_321 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 38: - LA89_322 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 39: - LA89_323 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 40: - LA89_324 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 41: - LA89_325 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 42: - LA89_326 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 45 or LA89 == 46: - LA89_327 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - elif LA89 == 48: - LA89_328 = self.input.LA(3) - - 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 == 61: - LA89_329 = self.input.LA(3) - - if (self.synpred181()) : - alt89 = 1 - - - - - if alt89 == 1: - # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_macro_statement2166) - self.declaration() - self.following.pop() - if self.failed: - return - - - else: - break #loop89 - - - # C.g:544:33: ( statement_list )? - alt90 = 2 - LA90 = self.input.LA(1) - if LA90 == IDENTIFIER: - LA90 = self.input.LA(2) - 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.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_46 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == IDENTIFIER: - LA90_47 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 64: - LA90_48 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_49 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_50 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_51 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_52 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_53 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_54 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_55 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_56 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_57 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_58 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_59 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_60 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_61 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_62 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_63 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_64 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_65 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_66 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_67 = self.input.LA(3) - - if (self.synpred182()) : - 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_70 = self.input.LA(3) - - 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 == 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 == 64: - LA90_87 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_88 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_89 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_90 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_91 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_92 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_93 = self.input.LA(3) - - if (self.synpred182()) : - 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_94 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_95 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_96 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_97 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_98 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_99 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_100 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_101 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_102 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_103 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_104 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_105 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_106 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_107 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_108 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90 = self.input.LA(2) - if LA90 == 64: - LA90_111 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_112 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_113 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_114 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_115 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_116 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_117 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_118 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_119 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_120 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_121 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_122 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_123 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_124 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_125 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_126 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_127 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_128 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_129 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_130 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_131 = self.input.LA(3) - - 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 == 64: - LA90_135 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_136 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_137 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_138 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_139 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_140 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_141 = self.input.LA(3) - - if (self.synpred182()) : - 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_142 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_143 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_144 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_145 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_146 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_147 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_148 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_149 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_150 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_151 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_152 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_153 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_154 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_155 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_156 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90 = self.input.LA(2) - if LA90 == 64: - LA90_159 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_160 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_161 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_162 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_163 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_164 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_165 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_166 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_167 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_168 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_169 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_170 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_171 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_172 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_173 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_174 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_175 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_176 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_177 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_178 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_179 = self.input.LA(3) - - 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.synpred182()) : - alt90 = 1 - elif LA90 == 64: - LA90_184 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_185 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_186 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_187 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_188 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_189 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_190 = self.input.LA(3) - - if (self.synpred182()) : - 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_191 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_192 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_193 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_194 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_195 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_196 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_197 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_198 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_199 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_200 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_201 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_202 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_203 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_204 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_205 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_206 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90 = self.input.LA(2) - if LA90 == 64: - LA90_209 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_210 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 75: - LA90_211 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 66: - LA90_212 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 76: - LA90_213 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_214 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_215 = self.input.LA(3) - - if (self.synpred182()) : - 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_216 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 70: - LA90_217 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 71: - LA90_218 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 68: - LA90_219 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 69: - LA90_220 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 101 or LA90 == 102: - LA90_221 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100: - LA90_222 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 95 or LA90 == 96: - LA90_223 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 77: - LA90_224 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 94: - LA90_225 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 93: - LA90_226 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 92: - LA90_227 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 91: - LA90_228 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 90: - LA90_229 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 27: - LA90_230 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 25: - alt90 = 1 - elif LA90 == 62: - LA90 = self.input.LA(2) - if LA90 == IDENTIFIER: - LA90_233 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == HEX_LITERAL: - LA90_234 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90_235 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == DECIMAL_LITERAL: - LA90_236 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90_237 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_238 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90_239 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_240 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_241 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_242 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90_244 = self.input.LA(3) - - 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 or LA90 == 61: - LA90_245 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 34: - LA90_246 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 35: - LA90_247 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 36: - LA90_248 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 37: - LA90_249 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 38: - LA90_250 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 39: - LA90_251 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 40: - LA90_252 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 41: - LA90_253 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 42: - LA90_254 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 45 or LA90 == 46: - LA90_255 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 48: - LA90_256 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90 = self.input.LA(2) - if LA90 == IDENTIFIER: - LA90_257 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == HEX_LITERAL: - LA90_258 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90_259 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == DECIMAL_LITERAL: - LA90_260 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90_261 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_262 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90_263 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_264 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_265 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_266 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90_268 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90 = self.input.LA(2) - if LA90 == IDENTIFIER: - LA90_269 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == HEX_LITERAL: - LA90_270 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90_271 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == DECIMAL_LITERAL: - LA90_272 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90_273 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_274 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90_275 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 62: - LA90_276 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_277 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_278 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90_280 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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 == 62: - LA90_281 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == IDENTIFIER: - LA90_282 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == HEX_LITERAL: - LA90_283 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90_284 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == DECIMAL_LITERAL: - LA90_285 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90_286 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_287 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90_288 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_289 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_290 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90_292 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90 = self.input.LA(2) - if LA90 == 62: - LA90_293 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == IDENTIFIER: - LA90_294 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == HEX_LITERAL: - LA90_295 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == OCTAL_LITERAL: - LA90_296 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == DECIMAL_LITERAL: - LA90_297 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == CHARACTER_LITERAL: - LA90_298 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == STRING_LITERAL: - LA90_299 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == FLOATING_POINT_LITERAL: - LA90_300 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 72: - LA90_301 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - elif LA90 == 73: - LA90_302 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - 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.synpred182()) : - alt90 = 1 - elif LA90 == 74: - LA90_304 = self.input.LA(3) - - if (self.synpred182()) : - alt90 = 1 - if alt90 == 1: - # C.g:0:0: statement_list - self.following.append(self.FOLLOW_statement_list_in_macro_statement2170) - self.statement_list() - self.following.pop() - if self.failed: - return - - - - # C.g:544:49: ( expression )? - alt91 = 2 - LA91_0 = self.input.LA(1) - - 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_statement2173) - self.expression() - self.following.pop() - if self.failed: - return - - - - self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176) - if self.failed: - return - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 64, macro_statement_StartIndex) - - pass - - return - - # $ANTLR end macro_statement - - - # $ANTLR start labeled_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() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65): - return - - # 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 == 106: - alt92 = 2 - elif LA92 == 107: - alt92 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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_statement2190) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_labeled_statement2192) - self.statement() - self.following.pop() - if self.failed: - return - - - elif alt92 == 2: - # 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_statement2199) - self.constant_expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_labeled_statement2203) - self.statement() - self.following.pop() - if self.failed: - return - - - elif alt92 == 3: - # 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_statement2210) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_labeled_statement2212) - self.statement() - self.following.pop() - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 65, labeled_statement_StartIndex) - - pass - - return - - # $ANTLR end labeled_statement - - class compound_statement_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start compound_statement - # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ; - def compound_statement(self, ): - - retval = self.compound_statement_return() - retval.start = self.input.LT(1) - compound_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66): - return retval - - # 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:554:8: ( declaration )* - while True: #loop93 - alt93 = 2 - LA93 = self.input.LA(1) - if LA93 == IDENTIFIER: - LA93 = self.input.LA(2) - if LA93 == 62: - LA93_44 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_47 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 66: - LA93_48 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_49 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_50 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_51 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_52 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: - LA93_53 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_54 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_55 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_56 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_57 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_58 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_59 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_60 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_61 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_62 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_63 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_64 = self.input.LA(3) - - 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 == 61: - LA93_65 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 26: - LA93 = self.input.LA(2) - if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33: - LA93_86 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_87 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_88 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_89 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_90 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_91 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_92 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_93 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_94 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_95 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_96 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_97 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_98 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_99 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 66: - LA93_100 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_101 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_102 = self.input.LA(3) - - 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 == 61: - LA93_103 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_104 = self.input.LA(3) - - 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 == 66: - LA93_105 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_106 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_107 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_108 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_109 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_110 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_111 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_113 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_114 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_115 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_116 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_117 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_118 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_119 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_120 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_121 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_122 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_123 = self.input.LA(3) - - 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 == 61: - LA93_124 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 34: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_125 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_126 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_127 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_128 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_129 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_130 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_131 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_133 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_134 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_135 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_136 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_137 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_138 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_139 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_140 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_141 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_142 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_143 = self.input.LA(3) - - 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 == 61: - LA93_144 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 35: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_145 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_146 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_147 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_148 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_149 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_150 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_151 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_153 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_154 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_155 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_156 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_157 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_158 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_159 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_160 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_161 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_162 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_163 = self.input.LA(3) - - 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 == 61: - LA93_164 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 36: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_165 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_166 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_167 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_168 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_169 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_170 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_171 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_173 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_174 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_175 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_176 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_177 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_178 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_179 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_180 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_181 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_182 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_183 = self.input.LA(3) - - 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 == 61: - LA93_184 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 37: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_185 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_186 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_187 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_188 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_189 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_190 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_191 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_193 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_194 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_195 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_196 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_197 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_198 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_199 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_200 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_201 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_202 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_203 = self.input.LA(3) - - 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 == 61: - LA93_204 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 38: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_205 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_206 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_207 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_208 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_209 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_210 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_211 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_213 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_214 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_215 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_216 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_217 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_218 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_219 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_220 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_221 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_222 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_223 = self.input.LA(3) - - 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 == 61: - LA93_224 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 39: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_225 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_226 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_227 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_228 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_229 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_230 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_231 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_233 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_234 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_235 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_236 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_237 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_238 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_239 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_240 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_241 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_242 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_243 = self.input.LA(3) - - 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 == 61: - LA93_244 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 40: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_245 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_246 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_247 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_248 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_249 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_250 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_251 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_253 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_254 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_255 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_256 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_257 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_258 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_259 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_260 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_261 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_262 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_263 = self.input.LA(3) - - 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 == 61: - LA93_264 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 41: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_265 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_266 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_267 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_268 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_269 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_270 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_271 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_273 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_274 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_275 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_276 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_277 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_278 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_279 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_280 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_281 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_282 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_283 = self.input.LA(3) - - 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 == 61: - LA93_284 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 42: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_285 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_286 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_287 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_288 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_289 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_290 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_291 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_293 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_294 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_295 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_296 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_297 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_298 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_299 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_300 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_301 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_302 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_303 = self.input.LA(3) - - 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 == 61: - LA93_304 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - elif LA93 == 45 or LA93 == 46: - LA93_40 = self.input.LA(2) - - if (LA93_40 == IDENTIFIER) : - LA93_305 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif (LA93_40 == 43) : - LA93_306 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - - elif LA93 == 48: - LA93_41 = self.input.LA(2) - - if (LA93_41 == 43) : - LA93_307 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif (LA93_41 == IDENTIFIER) : - LA93_308 = self.input.LA(3) - - 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 or LA93 == 61: - LA93 = self.input.LA(2) - if LA93 == 66: - LA93_309 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 58: - LA93_310 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 59: - LA93_311 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 60: - LA93_312 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == IDENTIFIER: - LA93_313 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 62: - LA93_314 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 25: - LA93_315 = self.input.LA(3) - - 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.synpred186()) : - alt93 = 1 - - - elif LA93 == 34: - LA93_317 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 35: - LA93_318 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 36: - LA93_319 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 37: - LA93_320 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 38: - LA93_321 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 39: - LA93_322 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 40: - LA93_323 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 41: - LA93_324 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 42: - LA93_325 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 45 or LA93 == 46: - LA93_326 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - elif LA93 == 48: - LA93_327 = self.input.LA(3) - - 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 == 61: - LA93_328 = self.input.LA(3) - - if (self.synpred186()) : - alt93 = 1 - - - - - if alt93 == 1: - # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_compound_statement2225) - self.declaration() - self.following.pop() - if self.failed: - return retval - - - else: - break #loop93 - - - # 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 <= 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_statement2228) - self.statement_list() - self.following.pop() - if self.failed: - return retval - - - - self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231) - if self.failed: - return retval - - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 66, compound_statement_StartIndex) - - pass - - return retval - - # $ANTLR end compound_statement - - - # $ANTLR start statement_list - # C.g:557:1: statement_list : ( statement )+ ; - def statement_list(self, ): - - statement_list_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67): - return - - # 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 == 62: - LA95_46 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == IDENTIFIER: - LA95_49 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 64: - LA95_50 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_51 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_52 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_53 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_54 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_55 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_56 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_57 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_58 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_59 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_60 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_61 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_62 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_63 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_64 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_65 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_66 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_67 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_68 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_69 = self.input.LA(3) - - if (self.synpred188()) : - 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_88 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - elif LA95 == HEX_LITERAL: - LA95 = self.input.LA(2) - if LA95 == 64: - LA95_89 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_90 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_91 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_92 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_93 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_94 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_95 = self.input.LA(3) - - if (self.synpred188()) : - 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_96 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_97 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_98 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_99 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_100 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_101 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_102 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_103 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_104 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_105 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_106 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_107 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_108 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_109 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_110 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 25: - alt95 = 1 - - elif LA95 == OCTAL_LITERAL: - LA95 = self.input.LA(2) - if LA95 == 64: - LA95_113 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_114 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_115 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_116 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_117 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_118 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_119 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_120 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_121 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_122 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_123 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_124 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_125 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_126 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_127 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_128 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_129 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_130 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_131 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_132 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_133 = self.input.LA(3) - - if (self.synpred188()) : - 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_135 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 25: - alt95 = 1 - - elif LA95 == DECIMAL_LITERAL: - LA95 = self.input.LA(2) - if LA95 == 64: - LA95_137 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_138 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_139 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_140 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_141 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_142 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_143 = self.input.LA(3) - - if (self.synpred188()) : - 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_144 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_145 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_146 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_147 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_148 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_149 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_150 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_151 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_152 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_153 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_154 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_155 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_156 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_157 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_158 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 25: - alt95 = 1 - - elif LA95 == CHARACTER_LITERAL: - LA95 = self.input.LA(2) - if LA95 == 64: - LA95_161 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_162 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_163 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_164 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_165 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_166 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_167 = self.input.LA(3) - - if (self.synpred188()) : - 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_168 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_169 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_170 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_171 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_172 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_173 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_174 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_175 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_176 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_177 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_178 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_179 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_180 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_181 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_182 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 25: - alt95 = 1 - - elif LA95 == STRING_LITERAL: - LA95 = self.input.LA(2) - if LA95 == IDENTIFIER: - LA95_185 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 64: - LA95_186 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_187 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_188 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_189 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_190 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_191 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_192 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_193 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_194 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_195 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_196 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_197 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_198 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_199 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_200 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_201 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_202 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_203 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_204 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_205 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_206 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 25: - alt95 = 1 - elif LA95 == STRING_LITERAL: - LA95_208 = self.input.LA(3) - - if (self.synpred188()) : - 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_209 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95 = self.input.LA(2) - if LA95 == 64: - LA95_211 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_212 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 75: - LA95_213 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 66: - LA95_214 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 76: - LA95_215 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_216 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_217 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 70: - LA95_218 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 71: - LA95_219 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 68: - LA95_220 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 69: - LA95_221 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 101 or LA95 == 102: - LA95_222 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100: - LA95_223 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 95 or LA95 == 96: - LA95_224 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 77: - LA95_225 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 94: - LA95_226 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 93: - LA95_227 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 92: - LA95_228 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 91: - LA95_229 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 90: - LA95_230 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 27: - LA95_231 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - - elif LA95 == 62: - LA95 = self.input.LA(2) - if LA95 == IDENTIFIER: - LA95_235 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == HEX_LITERAL: - LA95_236 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == OCTAL_LITERAL: - LA95_237 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == DECIMAL_LITERAL: - LA95_238 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == CHARACTER_LITERAL: - LA95_239 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == STRING_LITERAL: - LA95_240 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95_241 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_242 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_243 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_244 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == 74: - LA95_246 = self.input.LA(3) - - 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 or LA95 == 61: - LA95_247 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 34: - LA95_248 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 35: - LA95_249 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 36: - LA95_250 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 37: - LA95_251 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 38: - LA95_252 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 39: - LA95_253 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 40: - LA95_254 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 41: - LA95_255 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 42: - LA95_256 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 45 or LA95 == 46: - LA95_257 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 48: - LA95_258 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - elif LA95 == 72: - LA95 = self.input.LA(2) - if LA95 == IDENTIFIER: - LA95_259 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == HEX_LITERAL: - LA95_260 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == OCTAL_LITERAL: - LA95_261 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == DECIMAL_LITERAL: - LA95_262 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == CHARACTER_LITERAL: - LA95_263 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == STRING_LITERAL: - LA95_264 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95_265 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_266 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_267 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_268 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == 74: - LA95_270 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - elif LA95 == 73: - LA95 = self.input.LA(2) - if LA95 == IDENTIFIER: - LA95_271 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == HEX_LITERAL: - LA95_272 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == OCTAL_LITERAL: - LA95_273 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == DECIMAL_LITERAL: - LA95_274 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == CHARACTER_LITERAL: - LA95_275 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == STRING_LITERAL: - LA95_276 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95_277 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 62: - LA95_278 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_279 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_280 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == 74: - LA95_282 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - 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 == 62: - LA95_283 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == IDENTIFIER: - LA95_284 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == HEX_LITERAL: - LA95_285 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == OCTAL_LITERAL: - LA95_286 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == DECIMAL_LITERAL: - LA95_287 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == CHARACTER_LITERAL: - LA95_288 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == STRING_LITERAL: - LA95_289 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95_290 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_291 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_292 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == 74: - LA95_294 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - - elif LA95 == 74: - LA95 = self.input.LA(2) - if LA95 == 62: - LA95_295 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == IDENTIFIER: - LA95_296 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == HEX_LITERAL: - LA95_297 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == OCTAL_LITERAL: - LA95_298 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == DECIMAL_LITERAL: - LA95_299 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == CHARACTER_LITERAL: - LA95_300 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == STRING_LITERAL: - LA95_301 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == FLOATING_POINT_LITERAL: - LA95_302 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 72: - LA95_303 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - elif LA95 == 73: - LA95_304 = self.input.LA(3) - - if (self.synpred188()) : - alt95 = 1 - - - 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.synpred188()) : - alt95 = 1 - - - elif LA95 == 74: - LA95_306 = self.input.LA(3) - - 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 == 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_list2242) - self.statement() - self.following.pop() - if self.failed: - return - - - else: - if cnt95 >= 1: - break #loop95 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(95, self.input) - raise eee - - cnt95 += 1 - - - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 67, statement_list_StartIndex) - - pass - - return - - # $ANTLR end statement_list - - class expression_statement_return(object): - def __init__(self): - self.start = None - self.stop = None - - - - # $ANTLR start expression_statement - # C.g:561:1: expression_statement : ( ';' | expression ';' ); - def expression_statement(self, ): - - retval = self.expression_statement_return() - retval.start = self.input.LT(1) - expression_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68): - return retval - - # 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 == 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("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input) - - raise nvae - - if alt96 == 1: - # 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: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_statement2261) - if self.failed: - return retval - - - retval.stop = self.input.LT(-1) - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 68, expression_statement_StartIndex) - - pass - - return retval - - # $ANTLR end expression_statement - - - # $ANTLR start selection_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() - e = None - - - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69): - return - - # 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 == 108) : - alt98 = 1 - elif (LA98_0 == 110) : - alt98 = 2 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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, 62, self.FOLLOW_62_in_selection_statement2274) - if self.failed: - return - self.following.append(self.FOLLOW_expression_in_selection_statement2278) - e = self.expression() - self.following.pop() - if self.failed: - return - 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_statement2284) - self.statement() - self.following.pop() - if self.failed: - return - # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )? - alt97 = 2 - LA97_0 = self.input.LA(1) - - if (LA97_0 == 109) : - alt97 = 1 - if alt97 == 1: - # 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_statement2301) - self.statement() - self.following.pop() - if self.failed: - return - - - - - - elif alt98 == 2: - # 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, 62, self.FOLLOW_62_in_selection_statement2310) - if self.failed: - return - self.following.append(self.FOLLOW_expression_in_selection_statement2312) - self.expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_selection_statement2316) - self.statement() - self.following.pop() - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 69, selection_statement_StartIndex) - - pass - - return - - # $ANTLR end selection_statement - - - # $ANTLR start iteration_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() - e = None - - - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70): - return - - # 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 == 111: - alt100 = 1 - elif LA100 == 112: - alt100 = 2 - elif LA100 == 113: - alt100 = 3 - else: - if self.backtracking > 0: - self.failed = True - return - - 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: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, 62, self.FOLLOW_62_in_iteration_statement2329) - if self.failed: - return - self.following.append(self.FOLLOW_expression_in_iteration_statement2333) - e = self.expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_iteration_statement2337) - self.statement() - self.following.pop() - 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)) - - - - elif alt100 == 2: - # 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_statement2346) - self.statement() - self.following.pop() - if self.failed: - return - self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348) - if self.failed: - return - self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350) - if self.failed: - return - self.following.append(self.FOLLOW_expression_in_iteration_statement2354) - e = self.expression() - self.following.pop() - if self.failed: - return - 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_statement2358) - 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)) - - - - elif alt100 == 3: - # 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, 62, self.FOLLOW_62_in_iteration_statement2367) - if self.failed: - return - 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_statement2373) - e = self.expression_statement() - self.following.pop() - if self.failed: - return - # C.g:574:58: ( expression )? - alt99 = 2 - LA99_0 = self.input.LA(1) - - 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_statement2375) - self.expression() - self.following.pop() - if self.failed: - return - - - - self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378) - if self.failed: - return - self.following.append(self.FOLLOW_statement_in_iteration_statement2380) - self.statement() - self.following.pop() - 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)) - - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 70, iteration_statement_StartIndex) - - pass - - return - - # $ANTLR end iteration_statement - - - # $ANTLR start jump_statement - # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ); - def jump_statement(self, ): - - jump_statement_StartIndex = self.input.index() - try: - try: - if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71): - return - - # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' ) - alt101 = 5 - LA101 = self.input.LA(1) - if LA101 == 114: - alt101 = 1 - elif LA101 == 115: - 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 == 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("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input) - - raise nvae - - else: - if self.backtracking > 0: - self.failed = True - return - - nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input) - - raise nvae - - if alt101 == 1: - # 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_statement2395) - if self.failed: - return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397) - if self.failed: - return - - - elif alt101 == 2: - # 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_statement2404) - if self.failed: - return - - - elif alt101 == 3: - # 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_statement2411) - if self.failed: - return - - - elif alt101 == 4: - # 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_statement2418) - if self.failed: - return - - - elif alt101 == 5: - # 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_statement2425) - self.expression() - self.following.pop() - if self.failed: - return - self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427) - if self.failed: - return - - - - except RecognitionException, re: - self.reportError(re) - self.recover(self.input, re) - finally: - if self.backtracking > 0: - self.memoize(self.input, 71, jump_statement_StartIndex) - - pass - - return - - # $ANTLR end jump_statement - - # $ANTLR start synpred2 - def synpred2_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred2 - - - - # $ANTLR start synpred4 - def synpred4_fragment(self, ): - # 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 or LA102 == 61: - alt102 = 1 - elif LA102 == IDENTIFIER: - LA102 = self.input.LA(2) - if LA102 == 62: - LA102_21 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - 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 == 34: - LA102_24 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 35: - LA102_25 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 36: - LA102_26 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 37: - LA102_27 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 38: - LA102_28 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 39: - LA102_29 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 40: - LA102_30 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 41: - LA102_31 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 42: - LA102_32 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 45 or LA102 == 46: - LA102_33 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 48: - LA102_34 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == IDENTIFIER: - LA102_35 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 58: - LA102_36 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - 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 or LA102 == 61: - LA102_41 = self.input.LA(3) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 58: - LA102_14 = self.input.LA(2) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 59: - LA102_16 = self.input.LA(2) - - if (self.synpred2()) : - alt102 = 1 - elif LA102 == 60: - LA102_17 = self.input.LA(2) - - if (self.synpred2()) : - alt102 = 1 - if alt102 == 1: - # C.g:0:0: declaration_specifiers - self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100) - self.declaration_specifiers() - self.following.pop() - if self.failed: - return - - - - self.following.append(self.FOLLOW_declarator_in_synpred4103) - self.declarator() - self.following.pop() - if self.failed: - return - # 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 <= 61)) : - alt103 = 1 - - - if alt103 == 1: - # C.g:0:0: declaration - self.following.append(self.FOLLOW_declaration_in_synpred4105) - self.declaration() - self.following.pop() - if self.failed: - return - - - else: - break #loop103 - - - self.match(self.input, 43, self.FOLLOW_43_in_synpred4108) - if self.failed: - return - - - # $ANTLR end synpred4 - - - - # $ANTLR start synpred5 - def synpred5_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred5 - - - - # $ANTLR start synpred7 - def synpred7_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred7 - - - - # $ANTLR start synpred10 - def synpred10_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred10 - - - - # $ANTLR start synpred14 - def synpred14_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred14 - - - - # $ANTLR start synpred15 - def synpred15_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred15 - - - - # $ANTLR start synpred33 - def synpred33_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred33 - - - - # $ANTLR start synpred34 - def synpred34_fragment(self, ): - # 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:225:16: ( type_qualifier )* - while True: #loop106 - alt106 = 2 - LA106 = self.input.LA(1) - if LA106 == 58: - LA106_2 = self.input.LA(2) - - if (self.synpred33()) : - alt106 = 1 - - - elif LA106 == 59: - LA106_3 = self.input.LA(2) - - if (self.synpred33()) : - alt106 = 1 - - - elif LA106 == 60: - LA106_4 = self.input.LA(2) - - if (self.synpred33()) : - 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 or LA106 == 61: - alt106 = 1 - - if alt106 == 1: - # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred34444) - self.type_qualifier() - self.following.pop() - if self.failed: - return - - - else: - break #loop106 - - - self.following.append(self.FOLLOW_declarator_in_synpred34447) - self.declarator() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred34 - - - - # $ANTLR start synpred39 - def synpred39_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred39 - - - - # $ANTLR start synpred40 - def synpred40_fragment(self, ): - # 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: - return - - - # $ANTLR end synpred40 - - - - # $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 == 66) : - alt111 = 1 - if alt111 == 1: - # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_synpred66784) - self.pointer() - self.following.pop() - if self.failed: - return - - - - # C.g:297:13: ( 'EFIAPI' )? - alt112 = 2 - LA112_0 = self.input.LA(1) - - if (LA112_0 == 58) : - alt112 = 1 - if alt112 == 1: - # C.g:297:14: 'EFIAPI' - self.match(self.input, 58, self.FOLLOW_58_in_synpred66788) - if self.failed: - return - - - - # 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:297:26: 'EFI_BOOTSERVICE' - self.match(self.input, 59, self.FOLLOW_59_in_synpred66793) - if self.failed: - return - - - - # 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: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_synpred66802) - self.direct_declarator() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred66 - - - - # $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 synpred67 - - - - # $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 synpred69 - - - - # $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 synpred70 - - - - # $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_synpred73880) - self.parameter_type_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred73882) - if self.failed: - return - - - # $ANTLR end synpred73 - - - - # $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_synpred74894) - self.identifier_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred74896) - if self.failed: - return - - - # $ANTLR end synpred74 - - - - # $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 synpred75 - - - - # $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 synpred76 - - - - # $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:316:8: ( type_qualifier )+ - cnt116 = 0 - while True: #loop116 - alt116 = 2 - LA116_0 = self.input.LA(1) - - if ((49 <= LA116_0 <= 61)) : - alt116 = 1 - - - if alt116 == 1: - # C.g:0:0: type_qualifier - self.following.append(self.FOLLOW_type_qualifier_in_synpred77921) - self.type_qualifier() - self.following.pop() - if self.failed: - return - - - else: - if cnt116 >= 1: - break #loop116 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(116, self.input) - raise eee - - cnt116 += 1 - - - # C.g:316:24: ( pointer )? - alt117 = 2 - LA117_0 = self.input.LA(1) - - if (LA117_0 == 66) : - alt117 = 1 - if alt117 == 1: - # C.g:0:0: pointer - self.following.append(self.FOLLOW_pointer_in_synpred77924) - self.pointer() - self.following.pop() - if self.failed: - return - - - - - - # $ANTLR end synpred77 - - - - # $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_synpred78932) - self.pointer() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred78 - - - - # $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 synpred81 - - - - # $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:326:31: ( 'OPTIONAL' )? - alt119 = 2 - LA119_0 = self.input.LA(1) - - if (LA119_0 == 53) : - LA119_1 = self.input.LA(2) - - if (self.synpred81()) : - alt119 = 1 - if alt119 == 1: - # 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_synpred82981) - self.parameter_declaration() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred82 - - - - # $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 synpred83 - - - - # $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 synpred84 - - - - # $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:330:27: ( declarator | abstract_declarator )* - while True: #loop120 - alt120 = 3 - LA120 = self.input.LA(1) - if LA120 == 66: - LA120_3 = self.input.LA(2) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60: - alt120 = 1 - 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 == 61 or LA120 == 63 or LA120 == 64: - alt120 = 2 - elif LA120 == 58: - LA120_21 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == 66: - LA120_22 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == 59: - LA120_23 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == 60: - LA120_24 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == IDENTIFIER: - LA120_25 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - elif LA120 == 62: - LA120_26 = self.input.LA(3) - - if (self.synpred83()) : - alt120 = 1 - elif (self.synpred84()) : - alt120 = 2 - - - - elif LA120 == 64: - alt120 = 2 - - if alt120 == 1: - # C.g:330:28: declarator - self.following.append(self.FOLLOW_declarator_in_synpred86997) - self.declarator() - self.following.pop() - if self.failed: - return - - - elif alt120 == 2: - # C.g:330:39: abstract_declarator - self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999) - self.abstract_declarator() - self.following.pop() - if self.failed: - return - - - else: - break #loop120 - - - # C.g:330:61: ( 'OPTIONAL' )? - alt121 = 2 - LA121_0 = self.input.LA(1) - - if (LA121_0 == 53) : - alt121 = 1 - if alt121 == 1: - # C.g:330:62: 'OPTIONAL' - self.match(self.input, 53, self.FOLLOW_53_in_synpred861004) - if self.failed: - return - - - - - - # $ANTLR end synpred86 - - - - # $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:341:29: ( abstract_declarator )? - alt122 = 2 - LA122_0 = self.input.LA(1) - - 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_synpred901048) - self.abstract_declarator() - self.following.pop() - if self.failed: - return - - - - - - # $ANTLR end synpred90 - - - - # $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 synpred91 - - - - # $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_synpred931088) - self.abstract_declarator() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred931090) - if self.failed: - return - - - # $ANTLR end synpred93 - - - - # $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 synpred94 - - - - # $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_synpred1091284) - self.type_name() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286) - if self.failed: - return - self.following.append(self.FOLLOW_cast_expression_in_synpred1091288) - self.cast_expression() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred109 - - - - # $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_synpred1141332) - self.unary_expression() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred114 - - - - # $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_synpred1171424) - self.argument_expression_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428) - if self.failed: - return - - - # $ANTLR end synpred117 - - - - # $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_synpred1181446) - self.macro_parameter_list() - self.following.pop() - if self.failed: - return - self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448) - if self.failed: - return - - - # $ANTLR end synpred118 - - - - # $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_synpred1201486) - if self.failed: - return - - - # $ANTLR end synpred120 - - - - # $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 synpred137 - - - - # $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) - - if (LA125_0 == IDENTIFIER) : - alt125 = 1 - - - if alt125 == 1: - # C.g:0:0: IDENTIFIER - self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680) - if self.failed: - return - - - else: - break #loop125 - - - # C.g:443:20: ( STRING_LITERAL )+ - cnt126 = 0 - while True: #loop126 - alt126 = 2 - LA126_0 = self.input.LA(1) - - if (LA126_0 == STRING_LITERAL) : - alt126 = 1 - - - if alt126 == 1: - # C.g:0:0: STRING_LITERAL - self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683) - if self.failed: - return - - - else: - if cnt126 >= 1: - break #loop126 - - if self.backtracking > 0: - self.failed = True - return - - eee = EarlyExitException(126, self.input) - raise eee - - cnt126 += 1 - - - - - # $ANTLR end synpred138 - - - - # $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_synpred1421746) - self.assignment_operator() - self.following.pop() - if self.failed: - return - self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748) - self.assignment_expression() - self.following.pop() - if self.failed: - return - - - # $ANTLR end synpred142 - - - - # $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 synpred169 - - - - # $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 synpred173 - - - - # $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 synpred174 - - - - # $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 synpred181 - - - - # $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 synpred182 - - - - # $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 synpred186 - - - - # $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 synpred188 - - - - def synpred69(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred69_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred81(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred81_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred82(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred82_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred66(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred66_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred83(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred83_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred84(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred84_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred67(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred67_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred86(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred86_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred120(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred120_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred40(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred40_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred142(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred142_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred182(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred182_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred109(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred109_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred181(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred181_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred186(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred186_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred188(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred188_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred169(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred169_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred117(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred117_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred70(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred70_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred118(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred118_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred34(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred34_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred33(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred33_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred94(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred94_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred39(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred39_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred74(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred74_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred114(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred114_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred93(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred93_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred75(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred75_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred137(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred137_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred90(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred90_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred138(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred138_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred91(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred91_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred73(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred73_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred5(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred5_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred78(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred78_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred7(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred7_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred76(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred76_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred77(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred77_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred2(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred2_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred4(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred4_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred174(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred174_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred173(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred173_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred14(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred14_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred15(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred15_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - def synpred10(self): - self.backtracking += 1 - start = self.input.mark() - self.synpred10_fragment() - success = not self.failed - self.input.rewind(start) - self.backtracking -= 1 - self.failed = False - return success - - - - - - 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_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_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_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_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_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_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]) - +
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
+ return
+
+ # 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:
+ return
+ if self.backtracking == 0:
+ self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
+
+ # 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 == 66:
+ LA65_1 = self.input.LA(2)
+
+ if (LA65_1 == IDENTIFIER) :
+ LA65_30 = self.input.LA(3)
+
+ if (self.synpred120()) :
+ alt65 = 6
+
+
+
+
+ elif LA65 == 64:
+ alt65 = 1
+ elif LA65 == 62:
+ LA65 = self.input.LA(2)
+ 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_55 = self.input.LA(3)
+
+ if (self.synpred117()) :
+ alt65 = 3
+ elif (self.synpred118()) :
+ alt65 = 4
+
+
+ elif LA65 == 66:
+ LA65_57 = self.input.LA(3)
+
+ if (self.synpred117()) :
+ alt65 = 3
+ 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 == 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 == 75:
+ alt65 = 5
+ elif LA65 == 76:
+ alt65 = 7
+ elif LA65 == 72:
+ alt65 = 8
+ elif LA65 == 73:
+ alt65 = 9
+
+ if alt65 == 1:
+ # 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_expression1385)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
+ if self.failed:
+ return
+
+
+ elif alt65 == 2:
+ # 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, 63, self.FOLLOW_63_in_postfix_expression1405)
+ if self.failed:
+ return
+ if self.backtracking == 0:
+ self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
+
+
+
+ elif alt65 == 3:
+ # 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_expression1424)
+ c = self.argument_expression_list()
+ self.following.pop()
+ if self.failed:
+ return
+ b = self.input.LT(1)
+ self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
+ if self.failed:
+ return
+ if self.backtracking == 0:
+ self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))
+
+
+
+ elif alt65 == 4:
+ # 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_expression1446)
+ self.macro_parameter_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
+ if self.failed:
+ return
+
+
+ elif alt65 == 5:
+ # 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_expression1466)
+ if self.failed:
+ return
+ if self.backtracking == 0:
+ self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
+
+
+
+ elif alt65 == 6:
+ # 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_expression1486)
+ if self.failed:
+ return
+ if self.backtracking == 0:
+ self.postfix_expression_stack[-1].FuncCallText = y.text
+
+
+
+ elif alt65 == 7:
+ # 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_expression1506)
+ if self.failed:
+ return
+ if self.backtracking == 0:
+ self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
+
+
+
+ elif alt65 == 8:
+ # C.g:414:13: '++'
+ self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
+ if self.failed:
+ return
+
+
+ elif alt65 == 9:
+ # C.g:415:13: '--'
+ self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
+ if self.failed:
+ return
+
+
+ else:
+ break #loop65
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 41, postfix_expression_StartIndex)
+
+ self.postfix_expression_stack.pop()
+ pass
+
+ return
+
+ # $ANTLR end postfix_expression
+
+
+ # $ANTLR start macro_parameter_list
+ # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
+ def macro_parameter_list(self, ):
+
+ macro_parameter_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
+ return
+
+ # 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:420:26: ( ',' parameter_declaration )*
+ while True: #loop66
+ alt66 = 2
+ LA66_0 = self.input.LA(1)
+
+ if (LA66_0 == 27) :
+ alt66 = 1
+
+
+ if alt66 == 1:
+ # 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_list1564)
+ self.parameter_declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop66
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 42, macro_parameter_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end macro_parameter_list
+
+
+ # $ANTLR start unary_operator
+ # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
+ def unary_operator(self, ):
+
+ unary_operator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
+ return
+
+ # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
+ # C.g:
+ 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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_unary_operator0
+ )
+ raise mse
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 43, unary_operator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end unary_operator
+
+ class primary_expression_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start primary_expression
+ # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
+ def primary_expression(self, ):
+
+ retval = self.primary_expression_return()
+ retval.start = self.input.LT(1)
+ primary_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
+ return retval
+
+ # 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 == 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("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 == 62:
+ alt67 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return retval
+
+ nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
+
+ raise nvae
+
+ if alt67 == 1:
+ # 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:434:4: constant
+ self.following.append(self.FOLLOW_constant_in_primary_expression1618)
+ self.constant()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ elif alt67 == 3:
+ # 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_expression1625)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return retval
+ self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
+ if self.failed:
+ return retval
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 44, primary_expression_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end primary_expression
+
+
+ # $ANTLR start constant
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
+ return
+
+ # 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:
+ alt72 = 1
+ elif LA72 == OCTAL_LITERAL:
+ alt72 = 2
+ elif LA72 == DECIMAL_LITERAL:
+ alt72 = 3
+ elif LA72 == CHARACTER_LITERAL:
+ alt72 = 4
+ elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
+ alt72 = 5
+ elif LA72 == FLOATING_POINT_LITERAL:
+ alt72 = 6
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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: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: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: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:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
+ # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
+ cnt70 = 0
+ while True: #loop70
+ alt70 = 2
+ LA70_0 = self.input.LA(1)
+
+ if (LA70_0 == IDENTIFIER) :
+ LA70_1 = self.input.LA(2)
+
+ if (LA70_1 == STRING_LITERAL) :
+ alt70 = 1
+ elif (LA70_1 == IDENTIFIER) :
+ LA70_33 = self.input.LA(3)
+
+ if (self.synpred138()) :
+ alt70 = 1
+
+
+
+
+ elif (LA70_0 == STRING_LITERAL) :
+ alt70 = 1
+
+
+ if alt70 == 1:
+ # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
+ # C.g:443:8: ( IDENTIFIER )*
+ while True: #loop68
+ alt68 = 2
+ LA68_0 = self.input.LA(1)
+
+ if (LA68_0 == IDENTIFIER) :
+ alt68 = 1
+
+
+ if alt68 == 1:
+ # C.g:0:0: IDENTIFIER
+ self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
+ if self.failed:
+ return
+
+
+ else:
+ break #loop68
+
+
+ # C.g:443:20: ( STRING_LITERAL )+
+ cnt69 = 0
+ while True: #loop69
+ alt69 = 2
+ LA69_0 = self.input.LA(1)
+
+ if (LA69_0 == STRING_LITERAL) :
+ LA69_31 = self.input.LA(2)
+
+ if (self.synpred137()) :
+ alt69 = 1
+
+
+
+
+ if alt69 == 1:
+ # C.g:0:0: STRING_LITERAL
+ self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
+ if self.failed:
+ return
+
+
+ else:
+ if cnt69 >= 1:
+ break #loop69
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(69, self.input)
+ raise eee
+
+ cnt69 += 1
+
+
+
+
+ else:
+ if cnt70 >= 1:
+ break #loop70
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(70, self.input)
+ raise eee
+
+ cnt70 += 1
+
+
+ # C.g:443:38: ( IDENTIFIER )*
+ while True: #loop71
+ alt71 = 2
+ LA71_0 = self.input.LA(1)
+
+ if (LA71_0 == IDENTIFIER) :
+ alt71 = 1
+
+
+ if alt71 == 1:
+ # C.g:0:0: IDENTIFIER
+ self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
+ if self.failed:
+ return
+
+
+ else:
+ break #loop71
+
+
+
+
+ elif alt72 == 6:
+ # 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
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 45, constant_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end constant
+
+ class expression_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start expression
+ # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
+ def expression(self, ):
+
+ retval = self.expression_return()
+ retval.start = self.input.LT(1)
+ expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
+ return retval
+
+ # 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:450:26: ( ',' assignment_expression )*
+ while True: #loop73
+ alt73 = 2
+ LA73_0 = self.input.LA(1)
+
+ if (LA73_0 == 27) :
+ alt73 = 1
+
+
+ if alt73 == 1:
+ # 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_expression1720)
+ self.assignment_expression()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ else:
+ break #loop73
+
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 46, expression_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end expression
+
+
+ # $ANTLR start constant_expression
+ # C.g:453:1: constant_expression : conditional_expression ;
+ def constant_expression(self, ):
+
+ constant_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
+ return
+
+ # 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:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 47, constant_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end constant_expression
+
+
+ # $ANTLR start assignment_expression
+ # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
+ def assignment_expression(self, ):
+
+ assignment_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
+ return
+
+ # 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 == 64:
+ LA74_13 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_14 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_15 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_16 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_17 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_18 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_19 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
+
+ raise nvae
+
+ elif LA74 == IDENTIFIER:
+ LA74_22 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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("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 == 64:
+ LA74_44 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_45 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_46 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_47 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_48 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_49 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_50 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
+
+ raise nvae
+
+ 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("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 == 64:
+ LA74_73 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_74 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_75 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_76 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_77 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_78 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_79 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
+
+ raise nvae
+
+ 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 == 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("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 == 64:
+ LA74_102 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_103 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_104 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_105 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_106 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_107 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_108 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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("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 == 64:
+ LA74_131 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_132 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_133 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_134 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_135 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_136 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_137 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
+
+ raise nvae
+
+ 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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
+
+ raise nvae
+
+ elif LA74 == STRING_LITERAL:
+ LA74 = self.input.LA(2)
+ if LA74 == IDENTIFIER:
+ LA74_160 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
+
+ raise nvae
+
+ elif LA74 == 64:
+ LA74_161 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_162 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_163 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_164 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_165 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_166 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_167 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
+
+ raise nvae
+
+ 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_189 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
+
+ raise nvae
+
+ 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("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 == 64:
+ LA74_191 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_192 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
+
+ raise nvae
+
+ elif LA74 == 75:
+ LA74_193 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
+
+ raise nvae
+
+ elif LA74 == 66:
+ LA74_194 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
+
+ raise nvae
+
+ elif LA74 == 76:
+ LA74_195 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_196 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_197 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74 = self.input.LA(2)
+ if LA74 == IDENTIFIER:
+ LA74_220 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_227 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_228 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_229 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74_231 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 or LA74 == 61:
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74 = self.input.LA(2)
+ if LA74 == IDENTIFIER:
+ LA74_244 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_251 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_252 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_253 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74_255 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74 = self.input.LA(2)
+ if LA74 == IDENTIFIER:
+ LA74_256 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
+
+ raise nvae
+
+ elif LA74 == 62:
+ LA74_263 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_264 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_265 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74_267 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
+
+ raise nvae
+
+ 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 == 62:
+ LA74_268 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_276 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_277 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74_279 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74 = self.input.LA(2)
+ if LA74 == 62:
+ LA74_280 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
+
+ raise nvae
+
+ elif LA74 == 72:
+ LA74_288 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
+
+ raise nvae
+
+ elif LA74 == 73:
+ LA74_289 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
+
+ raise nvae
+
+ 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.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
+
+ raise nvae
+
+ elif LA74 == 74:
+ LA74_291 = self.input.LA(3)
+
+ if (self.synpred142()) :
+ alt74 = 1
+ elif (True) :
+ alt74 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
+
+ raise nvae
+
+ if alt74 == 1:
+ # 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_expression1746)
+ self.assignment_operator()
+ self.following.pop()
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
+ self.assignment_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt74 == 2:
+ # 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:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 48, assignment_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end assignment_expression
+
+
+ # $ANTLR start lvalue
+ # C.g:462:1: lvalue : unary_expression ;
+ def lvalue(self, ):
+
+ lvalue_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
+ return
+
+ # 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:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 49, lvalue_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end lvalue
+
+
+ # $ANTLR start assignment_operator
+ # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
+ def assignment_operator(self, ):
+
+ assignment_operator_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
+ return
+
+ # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
+ # C.g:
+ if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_assignment_operator0
+ )
+ raise mse
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 50, assignment_operator_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end assignment_operator
+
+
+ # $ANTLR start 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()
+ e = None
+
+
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
+ return
+
+ # 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:481:28: ( '?' expression ':' conditional_expression )?
+ alt75 = 2
+ LA75_0 = self.input.LA(1)
+
+ if (LA75_0 == 90) :
+ alt75 = 1
+ if alt75 == 1:
+ # 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_expression1844)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
+ self.conditional_expression()
+ self.following.pop()
+ 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))
+
+
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 51, conditional_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end conditional_expression
+
+ class logical_or_expression_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start logical_or_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()
+ retval.start = self.input.LT(1)
+ logical_or_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
+ return retval
+
+ # 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:485:27: ( '||' logical_and_expression )*
+ while True: #loop76
+ alt76 = 2
+ LA76_0 = self.input.LA(1)
+
+ if (LA76_0 == 91) :
+ alt76 = 1
+
+
+ if alt76 == 1:
+ # 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_expression1868)
+ self.logical_and_expression()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ else:
+ break #loop76
+
+
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 52, logical_or_expression_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end logical_or_expression
+
+
+ # $ANTLR start logical_and_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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
+ return
+
+ # 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:489:28: ( '&&' inclusive_or_expression )*
+ while True: #loop77
+ alt77 = 2
+ LA77_0 = self.input.LA(1)
+
+ if (LA77_0 == 92) :
+ alt77 = 1
+
+
+ if alt77 == 1:
+ # 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_expression1886)
+ self.inclusive_or_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop77
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 53, logical_and_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end logical_and_expression
+
+
+ # $ANTLR start inclusive_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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
+ return
+
+ # 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:493:28: ( '|' exclusive_or_expression )*
+ while True: #loop78
+ alt78 = 2
+ LA78_0 = self.input.LA(1)
+
+ if (LA78_0 == 93) :
+ alt78 = 1
+
+
+ if alt78 == 1:
+ # 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_expression1904)
+ self.exclusive_or_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop78
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end inclusive_or_expression
+
+
+ # $ANTLR start exclusive_or_expression
+ # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
+ def exclusive_or_expression(self, ):
+
+ exclusive_or_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
+ return
+
+ # 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:497:19: ( '^' and_expression )*
+ while True: #loop79
+ alt79 = 2
+ LA79_0 = self.input.LA(1)
+
+ if (LA79_0 == 94) :
+ alt79 = 1
+
+
+ if alt79 == 1:
+ # 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_expression1922)
+ self.and_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop79
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end exclusive_or_expression
+
+
+ # $ANTLR start and_expression
+ # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
+ def and_expression(self, ):
+
+ and_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
+ return
+
+ # 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:501:24: ( '&' equality_expression )*
+ while True: #loop80
+ alt80 = 2
+ LA80_0 = self.input.LA(1)
+
+ if (LA80_0 == 77) :
+ alt80 = 1
+
+
+ if alt80 == 1:
+ # 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_expression1940)
+ self.equality_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop80
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 56, and_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end and_expression
+
+
+ # $ANTLR start equality_expression
+ # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
+ def equality_expression(self, ):
+
+ equality_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
+ return
+
+ # 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:504:26: ( ( '==' | '!=' ) relational_expression )*
+ while True: #loop81
+ alt81 = 2
+ LA81_0 = self.input.LA(1)
+
+ if ((95 <= LA81_0 <= 96)) :
+ alt81 = 1
+
+
+ if alt81 == 1:
+ # C.g:504:27: ( '==' | '!=' ) relational_expression
+ if (95 <= self.input.LA(1) <= 96):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_equality_expression1955
+ )
+ raise mse
+
+
+ self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
+ self.relational_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop81
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 57, equality_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end equality_expression
+
+
+ # $ANTLR start relational_expression
+ # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
+ def relational_expression(self, ):
+
+ relational_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
+ return
+
+ # 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:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
+ while True: #loop82
+ alt82 = 2
+ LA82_0 = self.input.LA(1)
+
+ if ((97 <= LA82_0 <= 100)) :
+ alt82 = 1
+
+
+ if alt82 == 1:
+ # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
+ if (97 <= self.input.LA(1) <= 100):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_relational_expression1978
+ )
+ raise mse
+
+
+ self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
+ self.shift_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop82
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 58, relational_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end relational_expression
+
+
+ # $ANTLR start shift_expression
+ # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
+ def shift_expression(self, ):
+
+ shift_expression_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
+ return
+
+ # 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:512:24: ( ( '<<' | '>>' ) additive_expression )*
+ while True: #loop83
+ alt83 = 2
+ LA83_0 = self.input.LA(1)
+
+ if ((101 <= LA83_0 <= 102)) :
+ alt83 = 1
+
+
+ if alt83 == 1:
+ # C.g:512:25: ( '<<' | '>>' ) additive_expression
+ if (101 <= self.input.LA(1) <= 102):
+ self.input.consume();
+ self.errorRecovery = False
+ self.failed = False
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_shift_expression2004
+ )
+ raise mse
+
+
+ self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
+ self.additive_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop83
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 59, shift_expression_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end shift_expression
+
+
+ # $ANTLR start statement
+ # 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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
+ return
+
+ # 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 == 62:
+ LA84_43 = self.input.LA(3)
+
+ if (self.synpred169()) :
+ alt84 = 3
+ elif (self.synpred173()) :
+ alt84 = 7
+ elif (self.synpred174()) :
+ alt84 = 8
+ elif (True) :
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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 == 66:
+ LA84_47 = self.input.LA(3)
+
+ if (self.synpred169()) :
+ alt84 = 3
+ elif (True) :
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == IDENTIFIER:
+ LA84_53 = self.input.LA(3)
+
+ if (self.synpred169()) :
+ alt84 = 3
+ elif (True) :
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 25:
+ LA84_68 = self.input.LA(3)
+
+ if (self.synpred169()) :
+ alt84 = 3
+ elif (True) :
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 or LA84 == 61:
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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 == 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 == 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 == 108 or LA84 == 110:
+ alt84 = 4
+ elif LA84 == 111 or LA84 == 112 or LA84 == 113:
+ alt84 = 5
+ elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
+ alt84 = 6
+ elif LA84 == 103:
+ 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 or LA84 == 61:
+ alt84 = 11
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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:518:4: labeled_statement
+ self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
+ self.labeled_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 2:
+ # C.g:519:4: compound_statement
+ self.following.append(self.FOLLOW_compound_statement_in_statement2030)
+ self.compound_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 3:
+ # C.g:520:4: expression_statement
+ self.following.append(self.FOLLOW_expression_statement_in_statement2035)
+ self.expression_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 4:
+ # C.g:521:4: selection_statement
+ self.following.append(self.FOLLOW_selection_statement_in_statement2040)
+ self.selection_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 5:
+ # C.g:522:4: iteration_statement
+ self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
+ self.iteration_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 6:
+ # C.g:523:4: jump_statement
+ self.following.append(self.FOLLOW_jump_statement_in_statement2050)
+ self.jump_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 7:
+ # C.g:524:4: macro_statement
+ self.following.append(self.FOLLOW_macro_statement_in_statement2055)
+ self.macro_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 8:
+ # C.g:525:4: asm2_statement
+ self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
+ self.asm2_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 9:
+ # C.g:526:4: asm1_statement
+ self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
+ self.asm1_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 10:
+ # C.g:527:4: asm_statement
+ self.following.append(self.FOLLOW_asm_statement_in_statement2070)
+ self.asm_statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt84 == 11:
+ # C.g:528:4: declaration
+ self.following.append(self.FOLLOW_declaration_in_statement2075)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 60, statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end statement
+
+
+ # $ANTLR start asm2_statement
+ # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
+ def asm2_statement(self, ):
+
+ asm2_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
+ return
+
+ # 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 == 103) :
+ alt85 = 1
+ if alt85 == 1:
+ # C.g:0:0: '__asm__'
+ 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_statement2089)
+ if self.failed:
+ return
+ self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
+ if self.failed:
+ return
+ # C.g:532:30: (~ ( ';' ) )*
+ while True: #loop86
+ alt86 = 2
+ LA86_0 = self.input.LA(1)
+
+ if (LA86_0 == 63) :
+ LA86_1 = self.input.LA(2)
+
+ if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
+ alt86 = 1
+
+
+ elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
+ alt86 = 1
+
+
+ if alt86 == 1:
+ # 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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_asm2_statement2094
+ )
+ raise mse
+
+
+
+
+ else:
+ break #loop86
+
+
+ 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_statement2103)
+ if self.failed:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 61, asm2_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end asm2_statement
+
+
+ # $ANTLR start asm1_statement
+ # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
+ def asm1_statement(self, ):
+
+ asm1_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
+ return
+
+ # 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_statement2117)
+ if self.failed:
+ return
+ # C.g:536:15: (~ ( '}' ) )*
+ while True: #loop87
+ alt87 = 2
+ LA87_0 = self.input.LA(1)
+
+ if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
+ alt87 = 1
+
+
+ if alt87 == 1:
+ # 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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_asm1_statement2120
+ )
+ raise mse
+
+
+
+
+ else:
+ break #loop87
+
+
+ self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
+ if self.failed:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 62, asm1_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end asm1_statement
+
+
+ # $ANTLR start asm_statement
+ # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
+ def asm_statement(self, ):
+
+ asm_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
+ return
+
+ # 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_statement2140)
+ if self.failed:
+ return
+ # C.g:540:16: (~ ( '}' ) )*
+ while True: #loop88
+ alt88 = 2
+ LA88_0 = self.input.LA(1)
+
+ if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
+ alt88 = 1
+
+
+ if alt88 == 1:
+ # 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
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ mse = MismatchedSetException(None, self.input)
+ self.recoverFromMismatchedSet(
+ self.input, mse, self.FOLLOW_set_in_asm_statement2143
+ )
+ raise mse
+
+
+
+
+ else:
+ break #loop88
+
+
+ self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
+ if self.failed:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 63, asm_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end asm_statement
+
+
+ # $ANTLR start macro_statement
+ # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
+ def macro_statement(self, ):
+
+ macro_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
+ return
+
+ # 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, 62, self.FOLLOW_62_in_macro_statement2164)
+ if self.failed:
+ return
+ # 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 == 62:
+ LA89_45 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_47 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 66:
+ LA89_50 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_68 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_71 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_72 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_73 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
+ LA89_74 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_75 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_76 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_77 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_78 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_79 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_80 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_81 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_82 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_83 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_84 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_85 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_86 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 26:
+ LA89 = self.input.LA(2)
+ if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
+ LA89_87 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_88 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_89 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_90 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_91 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_92 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_93 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_94 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_95 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_96 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_97 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_98 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_99 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_100 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 66:
+ LA89_101 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_102 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_103 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_104 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_105 = self.input.LA(3)
+
+ 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 == 66:
+ LA89_106 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_107 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_108 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_109 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_110 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_111 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_112 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_114 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_115 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_116 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_117 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_118 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_119 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_120 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_121 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_122 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_123 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_124 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_125 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 34:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_126 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_127 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_128 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_129 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_130 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_131 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_132 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_134 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_135 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_136 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_137 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_138 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_139 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_140 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_141 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_142 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_143 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_144 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_145 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 35:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_146 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_147 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_148 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_149 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_150 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_151 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_152 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_154 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_155 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_156 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_157 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_158 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_159 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_160 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_161 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_162 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_163 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_164 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_165 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 36:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_166 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_167 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_168 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_169 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_170 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_171 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_172 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_174 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_175 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_176 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_177 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_178 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_179 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_180 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_181 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_182 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_183 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_184 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_185 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 37:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_186 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_187 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_188 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_189 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_190 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_191 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_192 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_194 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_195 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_196 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_197 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_198 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_199 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_200 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_201 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_202 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_203 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_204 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_205 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 38:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_206 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_207 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_208 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_209 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_210 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_211 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_212 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_214 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_215 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_216 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_217 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_218 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_219 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_220 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_221 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_222 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_223 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_224 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_225 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 39:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_226 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_227 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_228 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_229 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_230 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_231 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_232 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_234 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_235 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_236 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_237 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_238 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_239 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_240 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_241 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_242 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_243 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_244 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_245 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 40:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_246 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_247 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_248 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_249 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_250 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_251 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_252 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_254 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_255 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_256 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_257 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_258 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_259 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_260 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_261 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_262 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_263 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_264 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_265 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 41:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_266 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_267 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_268 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_269 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_270 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_271 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_272 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_274 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_275 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_276 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_277 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_278 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_279 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_280 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_281 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_282 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_283 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_284 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_285 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 42:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_286 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_287 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_288 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_289 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_290 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_291 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_292 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_294 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_295 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_296 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_297 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_298 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_299 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_300 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_301 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_302 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_303 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_304 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_305 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_40 = self.input.LA(2)
+
+ if (LA89_40 == IDENTIFIER) :
+ LA89_306 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif (LA89_40 == 43) :
+ LA89_307 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+
+ elif LA89 == 48:
+ LA89_41 = self.input.LA(2)
+
+ if (LA89_41 == 43) :
+ LA89_308 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif (LA89_41 == IDENTIFIER) :
+ LA89_309 = self.input.LA(3)
+
+ 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 or LA89 == 61:
+ LA89 = self.input.LA(2)
+ if LA89 == 66:
+ LA89_310 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 58:
+ LA89_311 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 59:
+ LA89_312 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 60:
+ LA89_313 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == IDENTIFIER:
+ LA89_314 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 62:
+ LA89_315 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 25:
+ LA89_316 = self.input.LA(3)
+
+ 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.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 34:
+ LA89_318 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 35:
+ LA89_319 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 36:
+ LA89_320 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 37:
+ LA89_321 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 38:
+ LA89_322 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 39:
+ LA89_323 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 40:
+ LA89_324 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 41:
+ LA89_325 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 42:
+ LA89_326 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 45 or LA89 == 46:
+ LA89_327 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+ elif LA89 == 48:
+ LA89_328 = self.input.LA(3)
+
+ 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 == 61:
+ LA89_329 = self.input.LA(3)
+
+ if (self.synpred181()) :
+ alt89 = 1
+
+
+
+
+ if alt89 == 1:
+ # C.g:0:0: declaration
+ self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop89
+
+
+ # C.g:544:33: ( statement_list )?
+ alt90 = 2
+ LA90 = self.input.LA(1)
+ if LA90 == IDENTIFIER:
+ LA90 = self.input.LA(2)
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_46 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == IDENTIFIER:
+ LA90_47 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 64:
+ LA90_48 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_49 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_50 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_51 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_52 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_53 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_54 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_55 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_56 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_57 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_58 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_59 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_60 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_61 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_62 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_63 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_64 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_65 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_66 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_67 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ 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_70 = self.input.LA(3)
+
+ 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 == 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 == 64:
+ LA90_87 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_88 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_89 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_90 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_91 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_92 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_93 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ 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_94 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_95 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_96 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_97 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_98 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_99 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_100 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_101 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_102 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_103 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_104 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_105 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_106 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_107 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_108 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 25:
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90 = self.input.LA(2)
+ if LA90 == 64:
+ LA90_111 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_112 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_113 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_114 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_115 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_116 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_117 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_118 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_119 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_120 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_121 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_122 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_123 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_124 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_125 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_126 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_127 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_128 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_129 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_130 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_131 = self.input.LA(3)
+
+ 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 == 64:
+ LA90_135 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_136 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_137 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_138 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_139 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_140 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_141 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ 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_142 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_143 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_144 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_145 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_146 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_147 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_148 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_149 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_150 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_151 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_152 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_153 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_154 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_155 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_156 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 25:
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90 = self.input.LA(2)
+ if LA90 == 64:
+ LA90_159 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_160 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_161 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_162 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_163 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_164 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_165 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_166 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_167 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_168 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_169 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_170 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_171 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_172 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_173 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_174 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_175 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_176 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_177 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_178 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_179 = self.input.LA(3)
+
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 64:
+ LA90_184 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_185 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_186 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_187 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_188 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_189 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_190 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ 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_191 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_192 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_193 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_194 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_195 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_196 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_197 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_198 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_199 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_200 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_201 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_202 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_203 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_204 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_205 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_206 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 25:
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90 = self.input.LA(2)
+ if LA90 == 64:
+ LA90_209 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_210 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 75:
+ LA90_211 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 66:
+ LA90_212 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 76:
+ LA90_213 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_214 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_215 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ 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_216 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 70:
+ LA90_217 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 71:
+ LA90_218 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 68:
+ LA90_219 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 69:
+ LA90_220 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 101 or LA90 == 102:
+ LA90_221 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
+ LA90_222 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 95 or LA90 == 96:
+ LA90_223 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 77:
+ LA90_224 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 94:
+ LA90_225 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 93:
+ LA90_226 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 92:
+ LA90_227 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 91:
+ LA90_228 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 90:
+ LA90_229 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 27:
+ LA90_230 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 25:
+ alt90 = 1
+ elif LA90 == 62:
+ LA90 = self.input.LA(2)
+ if LA90 == IDENTIFIER:
+ LA90_233 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == HEX_LITERAL:
+ LA90_234 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90_235 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == DECIMAL_LITERAL:
+ LA90_236 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90_237 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_238 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90_239 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_240 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_241 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_242 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90_244 = self.input.LA(3)
+
+ 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 or LA90 == 61:
+ LA90_245 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 34:
+ LA90_246 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 35:
+ LA90_247 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 36:
+ LA90_248 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 37:
+ LA90_249 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 38:
+ LA90_250 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 39:
+ LA90_251 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 40:
+ LA90_252 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 41:
+ LA90_253 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 42:
+ LA90_254 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 45 or LA90 == 46:
+ LA90_255 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 48:
+ LA90_256 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90 = self.input.LA(2)
+ if LA90 == IDENTIFIER:
+ LA90_257 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == HEX_LITERAL:
+ LA90_258 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90_259 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == DECIMAL_LITERAL:
+ LA90_260 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90_261 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_262 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90_263 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_264 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_265 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_266 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90_268 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90 = self.input.LA(2)
+ if LA90 == IDENTIFIER:
+ LA90_269 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == HEX_LITERAL:
+ LA90_270 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90_271 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == DECIMAL_LITERAL:
+ LA90_272 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90_273 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_274 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90_275 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 62:
+ LA90_276 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_277 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_278 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90_280 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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 == 62:
+ LA90_281 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == IDENTIFIER:
+ LA90_282 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == HEX_LITERAL:
+ LA90_283 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90_284 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == DECIMAL_LITERAL:
+ LA90_285 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90_286 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_287 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90_288 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_289 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_290 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90_292 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90 = self.input.LA(2)
+ if LA90 == 62:
+ LA90_293 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == IDENTIFIER:
+ LA90_294 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == HEX_LITERAL:
+ LA90_295 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == OCTAL_LITERAL:
+ LA90_296 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == DECIMAL_LITERAL:
+ LA90_297 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == CHARACTER_LITERAL:
+ LA90_298 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == STRING_LITERAL:
+ LA90_299 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == FLOATING_POINT_LITERAL:
+ LA90_300 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 72:
+ LA90_301 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ elif LA90 == 73:
+ LA90_302 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ 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.synpred182()) :
+ alt90 = 1
+ elif LA90 == 74:
+ LA90_304 = self.input.LA(3)
+
+ if (self.synpred182()) :
+ alt90 = 1
+ if alt90 == 1:
+ # C.g:0:0: statement_list
+ self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
+ self.statement_list()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ # C.g:544:49: ( expression )?
+ alt91 = 2
+ LA91_0 = self.input.LA(1)
+
+ 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_statement2173)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
+ if self.failed:
+ return
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 64, macro_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end macro_statement
+
+
+ # $ANTLR start labeled_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()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
+ return
+
+ # 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 == 106:
+ alt92 = 2
+ elif LA92 == 107:
+ alt92 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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_statement2190)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt92 == 2:
+ # 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_statement2199)
+ self.constant_expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt92 == 3:
+ # 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_statement2210)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 65, labeled_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end labeled_statement
+
+ class compound_statement_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start compound_statement
+ # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
+ def compound_statement(self, ):
+
+ retval = self.compound_statement_return()
+ retval.start = self.input.LT(1)
+ compound_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
+ return retval
+
+ # 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:554:8: ( declaration )*
+ while True: #loop93
+ alt93 = 2
+ LA93 = self.input.LA(1)
+ if LA93 == IDENTIFIER:
+ LA93 = self.input.LA(2)
+ if LA93 == 62:
+ LA93_44 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_47 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 66:
+ LA93_48 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_49 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_50 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_51 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_52 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
+ LA93_53 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_54 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_55 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_56 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_57 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_58 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_59 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_60 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_61 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_62 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_63 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_64 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_65 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 26:
+ LA93 = self.input.LA(2)
+ if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
+ LA93_86 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_87 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_88 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_89 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_90 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_91 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_92 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_93 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_94 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_95 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_96 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_97 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_98 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_99 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 66:
+ LA93_100 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_101 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_102 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_103 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_104 = self.input.LA(3)
+
+ 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 == 66:
+ LA93_105 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_106 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_107 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_108 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_109 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_110 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_111 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_113 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_114 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_115 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_116 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_117 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_118 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_119 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_120 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_121 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_122 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_123 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_124 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 34:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_125 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_126 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_127 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_128 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_129 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_130 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_131 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_133 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_134 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_135 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_136 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_137 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_138 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_139 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_140 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_141 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_142 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_143 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_144 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 35:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_145 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_146 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_147 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_148 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_149 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_150 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_151 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_153 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_154 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_155 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_156 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_157 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_158 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_159 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_160 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_161 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_162 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_163 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_164 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 36:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_165 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_166 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_167 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_168 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_169 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_170 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_171 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_173 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_174 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_175 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_176 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_177 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_178 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_179 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_180 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_181 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_182 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_183 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_184 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 37:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_185 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_186 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_187 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_188 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_189 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_190 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_191 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_193 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_194 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_195 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_196 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_197 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_198 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_199 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_200 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_201 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_202 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_203 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_204 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 38:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_205 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_206 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_207 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_208 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_209 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_210 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_211 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_213 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_214 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_215 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_216 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_217 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_218 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_219 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_220 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_221 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_222 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_223 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_224 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 39:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_225 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_226 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_227 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_228 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_229 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_230 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_231 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_233 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_234 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_235 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_236 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_237 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_238 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_239 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_240 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_241 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_242 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_243 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_244 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 40:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_245 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_246 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_247 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_248 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_249 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_250 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_251 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_253 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_254 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_255 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_256 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_257 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_258 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_259 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_260 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_261 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_262 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_263 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_264 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 41:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_265 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_266 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_267 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_268 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_269 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_270 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_271 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_273 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_274 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_275 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_276 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_277 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_278 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_279 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_280 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_281 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_282 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_283 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_284 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 42:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_285 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_286 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_287 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_288 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_289 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_290 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_291 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_293 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_294 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_295 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_296 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_297 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_298 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_299 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_300 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_301 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_302 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_303 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_304 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_40 = self.input.LA(2)
+
+ if (LA93_40 == IDENTIFIER) :
+ LA93_305 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif (LA93_40 == 43) :
+ LA93_306 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+
+ elif LA93 == 48:
+ LA93_41 = self.input.LA(2)
+
+ if (LA93_41 == 43) :
+ LA93_307 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif (LA93_41 == IDENTIFIER) :
+ LA93_308 = self.input.LA(3)
+
+ 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 or LA93 == 61:
+ LA93 = self.input.LA(2)
+ if LA93 == 66:
+ LA93_309 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 58:
+ LA93_310 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 59:
+ LA93_311 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 60:
+ LA93_312 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == IDENTIFIER:
+ LA93_313 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 62:
+ LA93_314 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 25:
+ LA93_315 = self.input.LA(3)
+
+ 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.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 34:
+ LA93_317 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 35:
+ LA93_318 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 36:
+ LA93_319 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 37:
+ LA93_320 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 38:
+ LA93_321 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 39:
+ LA93_322 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 40:
+ LA93_323 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 41:
+ LA93_324 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 42:
+ LA93_325 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 45 or LA93 == 46:
+ LA93_326 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+ elif LA93 == 48:
+ LA93_327 = self.input.LA(3)
+
+ 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 == 61:
+ LA93_328 = self.input.LA(3)
+
+ if (self.synpred186()) :
+ alt93 = 1
+
+
+
+
+ if alt93 == 1:
+ # C.g:0:0: declaration
+ self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+ else:
+ break #loop93
+
+
+ # 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 <= 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_statement2228)
+ self.statement_list()
+ self.following.pop()
+ if self.failed:
+ return retval
+
+
+
+ self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
+ if self.failed:
+ return retval
+
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 66, compound_statement_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end compound_statement
+
+
+ # $ANTLR start statement_list
+ # C.g:557:1: statement_list : ( statement )+ ;
+ def statement_list(self, ):
+
+ statement_list_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
+ return
+
+ # 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 == 62:
+ LA95_46 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == IDENTIFIER:
+ LA95_49 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 64:
+ LA95_50 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_51 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_52 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_53 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_54 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_55 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_56 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_57 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_58 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_59 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_60 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_61 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_62 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_63 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_64 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_65 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_66 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_67 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_68 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_69 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_88 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == 64:
+ LA95_89 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_90 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_91 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_92 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_93 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_94 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_95 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_96 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_97 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_98 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_99 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_100 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_101 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_102 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_103 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_104 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_105 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_106 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_107 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_108 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_109 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_110 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 25:
+ alt95 = 1
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == 64:
+ LA95_113 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_114 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_115 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_116 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_117 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_118 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_119 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_120 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_121 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_122 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_123 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_124 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_125 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_126 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_127 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_128 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_129 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_130 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_131 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_132 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_133 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_135 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 25:
+ alt95 = 1
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == 64:
+ LA95_137 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_138 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_139 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_140 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_141 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_142 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_143 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_144 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_145 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_146 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_147 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_148 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_149 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_150 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_151 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_152 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_153 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_154 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_155 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_156 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_157 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_158 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 25:
+ alt95 = 1
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == 64:
+ LA95_161 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_162 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_163 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_164 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_165 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_166 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_167 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_168 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_169 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_170 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_171 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_172 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_173 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_174 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_175 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_176 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_177 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_178 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_179 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_180 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_181 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_182 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 25:
+ alt95 = 1
+
+ elif LA95 == STRING_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == IDENTIFIER:
+ LA95_185 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 64:
+ LA95_186 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_187 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_188 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_189 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_190 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_191 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_192 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_193 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_194 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_195 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_196 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_197 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_198 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_199 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_200 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_201 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_202 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_203 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_204 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_205 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_206 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 25:
+ alt95 = 1
+ elif LA95 == STRING_LITERAL:
+ LA95_208 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ 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_209 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95 = self.input.LA(2)
+ if LA95 == 64:
+ LA95_211 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_212 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 75:
+ LA95_213 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 66:
+ LA95_214 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 76:
+ LA95_215 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_216 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_217 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 70:
+ LA95_218 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 71:
+ LA95_219 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 68:
+ LA95_220 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 69:
+ LA95_221 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 101 or LA95 == 102:
+ LA95_222 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
+ LA95_223 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 95 or LA95 == 96:
+ LA95_224 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 77:
+ LA95_225 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 94:
+ LA95_226 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 93:
+ LA95_227 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 92:
+ LA95_228 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 91:
+ LA95_229 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 90:
+ LA95_230 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 27:
+ LA95_231 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == 62:
+ LA95 = self.input.LA(2)
+ if LA95 == IDENTIFIER:
+ LA95_235 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95_236 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95_237 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95_238 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95_239 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == STRING_LITERAL:
+ LA95_240 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95_241 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_242 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_243 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_244 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 74:
+ LA95_246 = self.input.LA(3)
+
+ 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 or LA95 == 61:
+ LA95_247 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 34:
+ LA95_248 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 35:
+ LA95_249 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 36:
+ LA95_250 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 37:
+ LA95_251 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 38:
+ LA95_252 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 39:
+ LA95_253 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 40:
+ LA95_254 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 41:
+ LA95_255 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 42:
+ LA95_256 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 45 or LA95 == 46:
+ LA95_257 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 48:
+ LA95_258 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == 72:
+ LA95 = self.input.LA(2)
+ if LA95 == IDENTIFIER:
+ LA95_259 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95_260 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95_261 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95_262 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95_263 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == STRING_LITERAL:
+ LA95_264 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95_265 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_266 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_267 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_268 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 74:
+ LA95_270 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == 73:
+ LA95 = self.input.LA(2)
+ if LA95 == IDENTIFIER:
+ LA95_271 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95_272 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95_273 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95_274 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95_275 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == STRING_LITERAL:
+ LA95_276 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95_277 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 62:
+ LA95_278 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_279 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_280 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 74:
+ LA95_282 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ 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 == 62:
+ LA95_283 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == IDENTIFIER:
+ LA95_284 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95_285 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95_286 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95_287 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95_288 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == STRING_LITERAL:
+ LA95_289 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95_290 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_291 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_292 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 74:
+ LA95_294 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+
+ elif LA95 == 74:
+ LA95 = self.input.LA(2)
+ if LA95 == 62:
+ LA95_295 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == IDENTIFIER:
+ LA95_296 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == HEX_LITERAL:
+ LA95_297 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == OCTAL_LITERAL:
+ LA95_298 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == DECIMAL_LITERAL:
+ LA95_299 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == CHARACTER_LITERAL:
+ LA95_300 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == STRING_LITERAL:
+ LA95_301 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == FLOATING_POINT_LITERAL:
+ LA95_302 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 72:
+ LA95_303 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 73:
+ LA95_304 = self.input.LA(3)
+
+ if (self.synpred188()) :
+ alt95 = 1
+
+
+ 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.synpred188()) :
+ alt95 = 1
+
+
+ elif LA95 == 74:
+ LA95_306 = self.input.LA(3)
+
+ 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 == 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_list2242)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ if cnt95 >= 1:
+ break #loop95
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(95, self.input)
+ raise eee
+
+ cnt95 += 1
+
+
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 67, statement_list_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end statement_list
+
+ class expression_statement_return(object):
+ def __init__(self):
+ self.start = None
+ self.stop = None
+
+
+
+ # $ANTLR start expression_statement
+ # C.g:561:1: expression_statement : ( ';' | expression ';' );
+ def expression_statement(self, ):
+
+ retval = self.expression_statement_return()
+ retval.start = self.input.LT(1)
+ expression_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
+ return retval
+
+ # 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 == 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("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
+
+ raise nvae
+
+ if alt96 == 1:
+ # 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: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_statement2261)
+ if self.failed:
+ return retval
+
+
+ retval.stop = self.input.LT(-1)
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 68, expression_statement_StartIndex)
+
+ pass
+
+ return retval
+
+ # $ANTLR end expression_statement
+
+
+ # $ANTLR start selection_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()
+ e = None
+
+
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
+ return
+
+ # 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 == 108) :
+ alt98 = 1
+ elif (LA98_0 == 110) :
+ alt98 = 2
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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, 62, self.FOLLOW_62_in_selection_statement2274)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_expression_in_selection_statement2278)
+ e = self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ 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_statement2284)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+ # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
+ alt97 = 2
+ LA97_0 = self.input.LA(1)
+
+ if (LA97_0 == 109) :
+ alt97 = 1
+ if alt97 == 1:
+ # 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_statement2301)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ elif alt98 == 2:
+ # 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, 62, self.FOLLOW_62_in_selection_statement2310)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_expression_in_selection_statement2312)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_selection_statement2316)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 69, selection_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end selection_statement
+
+
+ # $ANTLR start iteration_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()
+ e = None
+
+
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
+ return
+
+ # 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 == 111:
+ alt100 = 1
+ elif LA100 == 112:
+ alt100 = 2
+ elif LA100 == 113:
+ alt100 = 3
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ 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: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, 62, self.FOLLOW_62_in_iteration_statement2329)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
+ e = self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
+ self.statement()
+ self.following.pop()
+ 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))
+
+
+
+ elif alt100 == 2:
+ # 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_statement2346)
+ self.statement()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
+ if self.failed:
+ return
+ self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
+ e = self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ 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_statement2358)
+ 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))
+
+
+
+ elif alt100 == 3:
+ # 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, 62, self.FOLLOW_62_in_iteration_statement2367)
+ if self.failed:
+ return
+ 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_statement2373)
+ e = self.expression_statement()
+ self.following.pop()
+ if self.failed:
+ return
+ # C.g:574:58: ( expression )?
+ alt99 = 2
+ LA99_0 = self.input.LA(1)
+
+ 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_statement2375)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
+ self.statement()
+ self.following.pop()
+ 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))
+
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 70, iteration_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end iteration_statement
+
+
+ # $ANTLR start jump_statement
+ # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
+ def jump_statement(self, ):
+
+ jump_statement_StartIndex = self.input.index()
+ try:
+ try:
+ if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
+ return
+
+ # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
+ alt101 = 5
+ LA101 = self.input.LA(1)
+ if LA101 == 114:
+ alt101 = 1
+ elif LA101 == 115:
+ 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 == 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("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
+
+ raise nvae
+
+ else:
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
+
+ raise nvae
+
+ if alt101 == 1:
+ # 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_statement2395)
+ if self.failed:
+ return
+ self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
+ if self.failed:
+ return
+
+
+ elif alt101 == 2:
+ # 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_statement2404)
+ if self.failed:
+ return
+
+
+ elif alt101 == 3:
+ # 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_statement2411)
+ if self.failed:
+ return
+
+
+ elif alt101 == 4:
+ # 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_statement2418)
+ if self.failed:
+ return
+
+
+ elif alt101 == 5:
+ # 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_statement2425)
+ self.expression()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
+ if self.failed:
+ return
+
+
+
+ except RecognitionException, re:
+ self.reportError(re)
+ self.recover(self.input, re)
+ finally:
+ if self.backtracking > 0:
+ self.memoize(self.input, 71, jump_statement_StartIndex)
+
+ pass
+
+ return
+
+ # $ANTLR end jump_statement
+
+ # $ANTLR start synpred2
+ def synpred2_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred2
+
+
+
+ # $ANTLR start synpred4
+ def synpred4_fragment(self, ):
+ # 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 or LA102 == 61:
+ alt102 = 1
+ elif LA102 == IDENTIFIER:
+ LA102 = self.input.LA(2)
+ if LA102 == 62:
+ LA102_21 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ 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 == 34:
+ LA102_24 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 35:
+ LA102_25 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 36:
+ LA102_26 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 37:
+ LA102_27 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 38:
+ LA102_28 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 39:
+ LA102_29 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 40:
+ LA102_30 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 41:
+ LA102_31 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 42:
+ LA102_32 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 45 or LA102 == 46:
+ LA102_33 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 48:
+ LA102_34 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == IDENTIFIER:
+ LA102_35 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 58:
+ LA102_36 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ 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 or LA102 == 61:
+ LA102_41 = self.input.LA(3)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 58:
+ LA102_14 = self.input.LA(2)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 59:
+ LA102_16 = self.input.LA(2)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ elif LA102 == 60:
+ LA102_17 = self.input.LA(2)
+
+ if (self.synpred2()) :
+ alt102 = 1
+ if alt102 == 1:
+ # C.g:0:0: declaration_specifiers
+ self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
+ self.declaration_specifiers()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ self.following.append(self.FOLLOW_declarator_in_synpred4103)
+ self.declarator()
+ self.following.pop()
+ if self.failed:
+ return
+ # 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 <= 61)) :
+ alt103 = 1
+
+
+ if alt103 == 1:
+ # C.g:0:0: declaration
+ self.following.append(self.FOLLOW_declaration_in_synpred4105)
+ self.declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop103
+
+
+ self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred4
+
+
+
+ # $ANTLR start synpred5
+ def synpred5_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred5
+
+
+
+ # $ANTLR start synpred7
+ def synpred7_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred7
+
+
+
+ # $ANTLR start synpred10
+ def synpred10_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred10
+
+
+
+ # $ANTLR start synpred14
+ def synpred14_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred14
+
+
+
+ # $ANTLR start synpred15
+ def synpred15_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred15
+
+
+
+ # $ANTLR start synpred33
+ def synpred33_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred33
+
+
+
+ # $ANTLR start synpred34
+ def synpred34_fragment(self, ):
+ # 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:225:16: ( type_qualifier )*
+ while True: #loop106
+ alt106 = 2
+ LA106 = self.input.LA(1)
+ if LA106 == 58:
+ LA106_2 = self.input.LA(2)
+
+ if (self.synpred33()) :
+ alt106 = 1
+
+
+ elif LA106 == 59:
+ LA106_3 = self.input.LA(2)
+
+ if (self.synpred33()) :
+ alt106 = 1
+
+
+ elif LA106 == 60:
+ LA106_4 = self.input.LA(2)
+
+ if (self.synpred33()) :
+ 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 or LA106 == 61:
+ alt106 = 1
+
+ if alt106 == 1:
+ # C.g:0:0: type_qualifier
+ self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
+ self.type_qualifier()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop106
+
+
+ self.following.append(self.FOLLOW_declarator_in_synpred34447)
+ self.declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred34
+
+
+
+ # $ANTLR start synpred39
+ def synpred39_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred39
+
+
+
+ # $ANTLR start synpred40
+ def synpred40_fragment(self, ):
+ # 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:
+ return
+
+
+ # $ANTLR end synpred40
+
+
+
+ # $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 == 66) :
+ alt111 = 1
+ if alt111 == 1:
+ # C.g:0:0: pointer
+ self.following.append(self.FOLLOW_pointer_in_synpred66784)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+ # C.g:297:13: ( 'EFIAPI' )?
+ alt112 = 2
+ LA112_0 = self.input.LA(1)
+
+ if (LA112_0 == 58) :
+ alt112 = 1
+ if alt112 == 1:
+ # C.g:297:14: 'EFIAPI'
+ self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
+ if self.failed:
+ return
+
+
+
+ # 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:297:26: 'EFI_BOOTSERVICE'
+ self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
+ if self.failed:
+ return
+
+
+
+ # 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: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_synpred66802)
+ self.direct_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred66
+
+
+
+ # $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 synpred67
+
+
+
+ # $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 synpred69
+
+
+
+ # $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 synpred70
+
+
+
+ # $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_synpred73880)
+ self.parameter_type_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred73
+
+
+
+ # $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_synpred74894)
+ self.identifier_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred74
+
+
+
+ # $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 synpred75
+
+
+
+ # $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 synpred76
+
+
+
+ # $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:316:8: ( type_qualifier )+
+ cnt116 = 0
+ while True: #loop116
+ alt116 = 2
+ LA116_0 = self.input.LA(1)
+
+ if ((49 <= LA116_0 <= 61)) :
+ alt116 = 1
+
+
+ if alt116 == 1:
+ # C.g:0:0: type_qualifier
+ self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
+ self.type_qualifier()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ if cnt116 >= 1:
+ break #loop116
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(116, self.input)
+ raise eee
+
+ cnt116 += 1
+
+
+ # C.g:316:24: ( pointer )?
+ alt117 = 2
+ LA117_0 = self.input.LA(1)
+
+ if (LA117_0 == 66) :
+ alt117 = 1
+ if alt117 == 1:
+ # C.g:0:0: pointer
+ self.following.append(self.FOLLOW_pointer_in_synpred77924)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ # $ANTLR end synpred77
+
+
+
+ # $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_synpred78932)
+ self.pointer()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred78
+
+
+
+ # $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 synpred81
+
+
+
+ # $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:326:31: ( 'OPTIONAL' )?
+ alt119 = 2
+ LA119_0 = self.input.LA(1)
+
+ if (LA119_0 == 53) :
+ LA119_1 = self.input.LA(2)
+
+ if (self.synpred81()) :
+ alt119 = 1
+ if alt119 == 1:
+ # 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_synpred82981)
+ self.parameter_declaration()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred82
+
+
+
+ # $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 synpred83
+
+
+
+ # $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 synpred84
+
+
+
+ # $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:330:27: ( declarator | abstract_declarator )*
+ while True: #loop120
+ alt120 = 3
+ LA120 = self.input.LA(1)
+ if LA120 == 66:
+ LA120_3 = self.input.LA(2)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
+ alt120 = 1
+ 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 == 61 or LA120 == 63 or LA120 == 64:
+ alt120 = 2
+ elif LA120 == 58:
+ LA120_21 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == 66:
+ LA120_22 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == 59:
+ LA120_23 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == 60:
+ LA120_24 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == IDENTIFIER:
+ LA120_25 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+ elif LA120 == 62:
+ LA120_26 = self.input.LA(3)
+
+ if (self.synpred83()) :
+ alt120 = 1
+ elif (self.synpred84()) :
+ alt120 = 2
+
+
+
+ elif LA120 == 64:
+ alt120 = 2
+
+ if alt120 == 1:
+ # C.g:330:28: declarator
+ self.following.append(self.FOLLOW_declarator_in_synpred86997)
+ self.declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ elif alt120 == 2:
+ # C.g:330:39: abstract_declarator
+ self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
+ self.abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ else:
+ break #loop120
+
+
+ # C.g:330:61: ( 'OPTIONAL' )?
+ alt121 = 2
+ LA121_0 = self.input.LA(1)
+
+ if (LA121_0 == 53) :
+ alt121 = 1
+ if alt121 == 1:
+ # C.g:330:62: 'OPTIONAL'
+ self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
+ if self.failed:
+ return
+
+
+
+
+
+ # $ANTLR end synpred86
+
+
+
+ # $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:341:29: ( abstract_declarator )?
+ alt122 = 2
+ LA122_0 = self.input.LA(1)
+
+ 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_synpred901048)
+ self.abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+
+
+
+ # $ANTLR end synpred90
+
+
+
+ # $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 synpred91
+
+
+
+ # $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_synpred931088)
+ self.abstract_declarator()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred93
+
+
+
+ # $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 synpred94
+
+
+
+ # $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_synpred1091284)
+ self.type_name()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
+ self.cast_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred109
+
+
+
+ # $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_synpred1141332)
+ self.unary_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred114
+
+
+
+ # $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_synpred1171424)
+ self.argument_expression_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred117
+
+
+
+ # $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_synpred1181446)
+ self.macro_parameter_list()
+ self.following.pop()
+ if self.failed:
+ return
+ self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred118
+
+
+
+ # $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_synpred1201486)
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred120
+
+
+
+ # $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 synpred137
+
+
+
+ # $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)
+
+ if (LA125_0 == IDENTIFIER) :
+ alt125 = 1
+
+
+ if alt125 == 1:
+ # C.g:0:0: IDENTIFIER
+ self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
+ if self.failed:
+ return
+
+
+ else:
+ break #loop125
+
+
+ # C.g:443:20: ( STRING_LITERAL )+
+ cnt126 = 0
+ while True: #loop126
+ alt126 = 2
+ LA126_0 = self.input.LA(1)
+
+ if (LA126_0 == STRING_LITERAL) :
+ alt126 = 1
+
+
+ if alt126 == 1:
+ # C.g:0:0: STRING_LITERAL
+ self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
+ if self.failed:
+ return
+
+
+ else:
+ if cnt126 >= 1:
+ break #loop126
+
+ if self.backtracking > 0:
+ self.failed = True
+ return
+
+ eee = EarlyExitException(126, self.input)
+ raise eee
+
+ cnt126 += 1
+
+
+
+
+ # $ANTLR end synpred138
+
+
+
+ # $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_synpred1421746)
+ self.assignment_operator()
+ self.following.pop()
+ if self.failed:
+ return
+ self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
+ self.assignment_expression()
+ self.following.pop()
+ if self.failed:
+ return
+
+
+ # $ANTLR end synpred142
+
+
+
+ # $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 synpred169
+
+
+
+ # $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 synpred173
+
+
+
+ # $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 synpred174
+
+
+
+ # $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 synpred181
+
+
+
+ # $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 synpred182
+
+
+
+ # $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 synpred186
+
+
+
+ # $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 synpred188
+
+
+
+ def synpred69(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred69_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred81(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred81_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred82(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred82_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred66(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred66_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred83(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred83_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred84(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred84_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred67(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred67_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred86(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred86_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred120(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred120_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred40(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred40_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred142(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred142_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred182(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred182_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred109(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred109_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred181(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred181_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred186(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred186_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred188(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred188_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred169(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred169_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred117(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred117_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred70(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred70_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred118(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred118_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred34(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred34_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred33(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred33_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred94(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred94_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred39(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred39_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred74(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred74_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred114(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred114_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred93(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred93_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred75(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred75_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred137(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred137_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred90(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred90_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred138(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred138_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred91(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred91_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred73(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred73_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred5(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred5_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred78(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred78_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred7(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred7_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred76(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred76_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred77(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred77_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred2(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred2_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred4(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred4_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred174(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred174_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred173(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred173_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred14(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred14_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred15(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred15_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+ def synpred10(self):
+ self.backtracking += 1
+ start = self.input.mark()
+ self.synpred10_fragment()
+ success = not self.failed
+ self.input.rewind(start)
+ self.backtracking -= 1
+ self.failed = False
+ return success
+
+
+
+
+
+ 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_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_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_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_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_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_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/MetaFileWorkspace/MetaFileParser.py b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py index 98a899e76b..6da2b6babe 100644 --- a/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py +++ b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py @@ -1,1853 +1,1853 @@ -## @file -# This file is used to parse meta files -# -# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR> -# 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 Modules -# -import os -import re -import time -import copy - -import Common.EdkLogger as EdkLogger -import Common.GlobalData as GlobalData -import EccGlobalData - -from CommonDataClass.DataClass import * -from Common.DataType import * -from Common.String import * -from Common.Misc import GuidStructureStringToGuidString, CheckPcdDatum, PathClass, AnalyzePcdData -from Common.Expression import * -from CommonDataClass.Exceptions import * - -from MetaFileTable import MetaFileStorage -from GenFds.FdfParser import FdfParser - -## A decorator used to parse macro definition -def ParseMacro(Parser): - def MacroParser(self): - Match = gMacroDefPattern.match(self._CurrentLine) - if not Match: - # Not 'DEFINE/EDK_GLOBAL' statement, call decorated method - Parser(self) - return - - TokenList = GetSplitValueList(self._CurrentLine[Match.end(1):], TAB_EQUAL_SPLIT, 1) - # Syntax check - if not TokenList[0]: - EdkLogger.error('Parser', FORMAT_INVALID, "No macro name given", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - if len(TokenList) < 2: - TokenList.append('') - - Type = Match.group(1) - Name, Value = TokenList - # Global macros can be only defined via environment variable - if Name in GlobalData.gGlobalDefines: - EdkLogger.error('Parser', FORMAT_INVALID, "%s can only be defined via environment variable" % Name, - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - # Only upper case letters, digit and '_' are allowed - if not gMacroNamePattern.match(Name): - EdkLogger.error('Parser', FORMAT_INVALID, "The macro name must be in the pattern [A-Z][A-Z0-9_]*", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - - Value = ReplaceMacro(Value, self._Macros) - self._ItemType = MODEL_META_DATA_DEFINE - # DEFINE defined macros - if Type == TAB_DSC_DEFINES_DEFINE: - if type(self) == DecParser: - if MODEL_META_DATA_HEADER in self._SectionType: - self._FileLocalMacros[Name] = Value - else: - for Scope in self._Scope: - self._SectionsMacroDict.setdefault((Scope[2], Scope[0], Scope[1]), {})[Name] = Value - elif self._SectionType == MODEL_META_DATA_HEADER: - self._FileLocalMacros[Name] = Value - else: - SectionDictKey = self._SectionType, self._Scope[0][0], self._Scope[0][1] - if SectionDictKey not in self._SectionsMacroDict: - self._SectionsMacroDict[SectionDictKey] = {} - SectionLocalMacros = self._SectionsMacroDict[SectionDictKey] - SectionLocalMacros[Name] = Value - # EDK_GLOBAL defined macros - elif type(self) != DscParser: - EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL can only be used in .dsc file", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - elif self._SectionType != MODEL_META_DATA_HEADER: - EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL can only be used under [Defines] section", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - elif (Name in self._FileLocalMacros) and (self._FileLocalMacros[Name] != Value): - EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL defined a macro with the same name and different value as one defined by 'DEFINE'", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - - self._ValueList = [Type, Name, Value] - - return MacroParser - -## Base class of parser -# -# This class is used for derivation purpose. The specific parser for one kind -# type file must derive this class and implement some public interfaces. -# -# @param FilePath The path of platform description file -# @param FileType The raw data of DSC file -# @param Table Database used to retrieve module/package information -# @param Macros Macros used for replacement in file -# @param Owner Owner ID (for sub-section parsing) -# @param From ID from which the data comes (for !INCLUDE directive) -# -class MetaFileParser(object): - # data type (file content) for specific file type - DataType = {} - - # Parser objects used to implement singleton - MetaFiles = {} - - ## Factory method - # - # One file, one parser object. This factory method makes sure that there's - # only one object constructed for one meta file. - # - # @param Class class object of real AutoGen class - # (InfParser, DecParser or DscParser) - # @param FilePath The path of meta file - # @param *args The specific class related parameters - # @param **kwargs The specific class related dict parameters - # - def __new__(Class, FilePath, *args, **kwargs): - if FilePath in Class.MetaFiles: - return Class.MetaFiles[FilePath] - else: - ParserObject = super(MetaFileParser, Class).__new__(Class) - Class.MetaFiles[FilePath] = ParserObject - return ParserObject - - ## Constructor of MetaFileParser - # - # Initialize object of MetaFileParser - # - # @param FilePath The path of platform description file - # @param FileType The raw data of DSC file - # @param Table Database used to retrieve module/package information - # @param Macros Macros used for replacement in file - # @param Owner Owner ID (for sub-section parsing) - # @param From ID from which the data comes (for !INCLUDE directive) - # - def __init__(self, FilePath, FileType, Table, Owner=-1, From=-1): - self._Table = Table - self._RawTable = Table - self._FileType = FileType - self.MetaFile = FilePath - self._Defines = {} - self._FileLocalMacros = {} - self._SectionsMacroDict = {} - - # for recursive parsing - self._Owner = [Owner] - self._From = From - - # parsr status for parsing - self._ValueList = ['', '', '', '', ''] - self._Scope = [] - self._LineIndex = 0 - self._CurrentLine = '' - self._SectionType = MODEL_UNKNOWN - self._SectionName = '' - self._InSubsection = False - self._SubsectionType = MODEL_UNKNOWN - self._SubsectionName = '' - self._ItemType = MODEL_UNKNOWN - self._LastItem = -1 - self._Enabled = 0 - self._Finished = False - self._PostProcessed = False - # Different version of meta-file has different way to parse. - self._Version = 0 - - ## Store the parsed data in table - def _Store(self, *Args): - return self._Table.Insert(*Args) - - ## Virtual method for starting parse - def Start(self): - raise NotImplementedError - - ## Notify a post-process is needed - def DoPostProcess(self): - self._PostProcessed = False - - ## Set parsing complete flag in both class and table - def _Done(self): - self._Finished = True - ## Do not set end flag when processing included files - if self._From == -1: - self._Table.SetEndFlag() - - def _PostProcess(self): - self._PostProcessed = True - - ## Get the parse complete flag - def _GetFinished(self): - return self._Finished - - ## Set the complete flag - def _SetFinished(self, Value): - self._Finished = Value - - ## Use [] style to query data in table, just for readability - # - # DataInfo = [data_type, scope1(arch), scope2(platform/moduletype)] - # - def __getitem__(self, DataInfo): - if type(DataInfo) != type(()): - DataInfo = (DataInfo,) - - # Parse the file first, if necessary - if not self._Finished: - if self._RawTable.IsIntegrity(): - self._Finished = True - else: - self._Table = self._RawTable - self._PostProcessed = False - self.Start() - - # No specific ARCH or Platform given, use raw data - if self._RawTable and (len(DataInfo) == 1 or DataInfo[1] == None): - return self._RawTable.Query(*DataInfo) - - # Do post-process if necessary - if not self._PostProcessed: - self._PostProcess() - - return self._Table.Query(*DataInfo) - - ## Data parser for the common format in different type of file - # - # The common format in the meatfile is like - # - # xxx1 | xxx2 | xxx3 - # - @ParseMacro - def _CommonParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - self._ValueList[0:len(TokenList)] = TokenList - - ## Data parser for the format in which there's path - # - # Only path can have macro used. So we need to replace them before use. - # - @ParseMacro - def _PathParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - self._ValueList[0:len(TokenList)] = TokenList - # Don't do macro replacement for dsc file at this point - if type(self) != DscParser: - Macros = self._Macros - self._ValueList = [ReplaceMacro(Value, Macros) for Value in self._ValueList] - - ## Skip unsupported data - def _Skip(self): - EdkLogger.warn("Parser", "Unrecognized content", File=self.MetaFile, - Line=self._LineIndex+1, ExtraData=self._CurrentLine); - self._ValueList[0:1] = [self._CurrentLine] - - ## Section header parser - # - # The section header is always in following format: - # - # [section_name.arch<.platform|module_type>] - # - def _SectionHeaderParser(self): - self._Scope = [] - self._SectionName = '' - ArchList = set() - for Item in GetSplitValueList(self._CurrentLine[1:-1], TAB_COMMA_SPLIT): - if Item == '': - continue - ItemList = GetSplitValueList(Item, TAB_SPLIT) - # different section should not mix in one section - if self._SectionName != '' and self._SectionName != ItemList[0].upper(): - EdkLogger.error('Parser', FORMAT_INVALID, "Different section names in the same section", - File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine) - self._SectionName = ItemList[0].upper() - if self._SectionName in self.DataType: - self._SectionType = self.DataType[self._SectionName] - else: - self._SectionType = MODEL_UNKNOWN - EdkLogger.warn("Parser", "Unrecognized section", File=self.MetaFile, - Line=self._LineIndex+1, ExtraData=self._CurrentLine) - # S1 is always Arch - if len(ItemList) > 1: - S1 = ItemList[1].upper() - else: - S1 = 'COMMON' - ArchList.add(S1) - # S2 may be Platform or ModuleType - if len(ItemList) > 2: - S2 = ItemList[2].upper() - else: - S2 = 'COMMON' - self._Scope.append([S1, S2]) - - # 'COMMON' must not be used with specific ARCHs at the same section - if 'COMMON' in ArchList and len(ArchList) > 1: - EdkLogger.error('Parser', FORMAT_INVALID, "'common' ARCH must not be used with specific ARCHs", - File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine) - # If the section information is needed later, it should be stored in database - self._ValueList[0] = self._SectionName - - ## [defines] section parser - @ParseMacro - def _DefineParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - self._ValueList[1:len(TokenList)] = TokenList - if not self._ValueList[1]: - EdkLogger.error('Parser', FORMAT_INVALID, "No name specified", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - if not self._ValueList[2]: - EdkLogger.error('Parser', FORMAT_INVALID, "No value specified", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - - self._ValueList = [ReplaceMacro(Value, self._Macros) for Value in self._ValueList] - Name, Value = self._ValueList[1], self._ValueList[2] - # Sometimes, we need to make differences between EDK and EDK2 modules - if Name == 'INF_VERSION': - try: - self._Version = int(Value, 0) - except: - EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - - if type(self) == InfParser and self._Version < 0x00010005: - # EDK module allows using defines as macros - self._FileLocalMacros[Name] = Value - self._Defines[Name] = Value - - ## [BuildOptions] section parser - @ParseMacro - def _BuildOptionParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - TokenList2 = GetSplitValueList(TokenList[0], ':', 1) - if len(TokenList2) == 2: - self._ValueList[0] = TokenList2[0] # toolchain family - self._ValueList[1] = TokenList2[1] # keys - else: - self._ValueList[1] = TokenList[0] - if len(TokenList) == 2 and type(self) != DscParser: # value - self._ValueList[2] = ReplaceMacro(TokenList[1], self._Macros) - - if self._ValueList[1].count('_') != 4: - EdkLogger.error( - 'Parser', - FORMAT_INVALID, - "'%s' must be in format of <TARGET>_<TOOLCHAIN>_<ARCH>_<TOOL>_FLAGS" % self._ValueList[1], - ExtraData=self._CurrentLine, - File=self.MetaFile, - Line=self._LineIndex+1 - ) - - def _GetMacros(self): - Macros = {} - Macros.update(self._FileLocalMacros) - Macros.update(self._GetApplicableSectionMacro()) - return Macros - - - ## Get section Macros that are applicable to current line, which may come from other sections - ## that share the same name while scope is wider - def _GetApplicableSectionMacro(self): - Macros = {} - for Scope1, Scope2 in [("COMMON", "COMMON"), ("COMMON", self._Scope[0][1]), - (self._Scope[0][0], "COMMON"), (self._Scope[0][0], self._Scope[0][1])]: - if (self._SectionType, Scope1, Scope2) in self._SectionsMacroDict: - Macros.update(self._SectionsMacroDict[(self._SectionType, Scope1, Scope2)]) - return Macros - - _SectionParser = {} - Finished = property(_GetFinished, _SetFinished) - _Macros = property(_GetMacros) - - -## INF file parser class -# -# @param FilePath The path of platform description file -# @param FileType The raw data of DSC file -# @param Table Database used to retrieve module/package information -# @param Macros Macros used for replacement in file -# -class InfParser(MetaFileParser): - # INF file supported data types (one type per section) - DataType = { - TAB_UNKNOWN.upper() : MODEL_UNKNOWN, - TAB_INF_DEFINES.upper() : MODEL_META_DATA_HEADER, - TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE, - TAB_BUILD_OPTIONS.upper() : MODEL_META_DATA_BUILD_OPTION, - TAB_INCLUDES.upper() : MODEL_EFI_INCLUDE, - TAB_LIBRARIES.upper() : MODEL_EFI_LIBRARY_INSTANCE, - TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS, - TAB_PACKAGES.upper() : MODEL_META_DATA_PACKAGE, - TAB_NMAKE.upper() : MODEL_META_DATA_NMAKE, - TAB_INF_FIXED_PCD.upper() : MODEL_PCD_FIXED_AT_BUILD, - TAB_INF_PATCH_PCD.upper() : MODEL_PCD_PATCHABLE_IN_MODULE, - TAB_INF_FEATURE_PCD.upper() : MODEL_PCD_FEATURE_FLAG, - TAB_INF_PCD_EX.upper() : MODEL_PCD_DYNAMIC_EX, - TAB_INF_PCD.upper() : MODEL_PCD_DYNAMIC, - TAB_SOURCES.upper() : MODEL_EFI_SOURCE_FILE, - TAB_GUIDS.upper() : MODEL_EFI_GUID, - TAB_PROTOCOLS.upper() : MODEL_EFI_PROTOCOL, - TAB_PPIS.upper() : MODEL_EFI_PPI, - TAB_DEPEX.upper() : MODEL_EFI_DEPEX, - TAB_BINARIES.upper() : MODEL_EFI_BINARY_FILE, - TAB_USER_EXTENSIONS.upper() : MODEL_META_DATA_USER_EXTENSION - } - - ## Constructor of InfParser - # - # Initialize object of InfParser - # - # @param FilePath The path of module description file - # @param FileType The raw data of DSC file - # @param Table Database used to retrieve module/package information - # @param Macros Macros used for replacement in file - # - def __init__(self, FilePath, FileType, Table): - # prevent re-initialization - if hasattr(self, "_Table"): - return - MetaFileParser.__init__(self, FilePath, FileType, Table) - self.TblFile = EccGlobalData.gDb.TblFile - self.FileID = -1 - - ## Parser starter - def Start(self): - NmakeLine = '' - Content = '' - try: - Content = open(str(self.MetaFile), 'r').readlines() - except: - EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile) - # - # Insert a record for file - # - Filename = NormPath(self.MetaFile) - FileID = self.TblFile.GetFileId(Filename) - if FileID: - self.FileID = FileID - else: - self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_INF) - - # parse the file line by line - IsFindBlockComment = False - - for Index in range(0, len(Content)): - # skip empty, commented, block commented lines - Line = CleanString(Content[Index], AllowCppStyleComment=True) - NextLine = '' - if Index + 1 < len(Content): - NextLine = CleanString(Content[Index + 1]) - if Line == '': - continue - if Line.find(DataType.TAB_COMMENT_EDK_START) > -1: - IsFindBlockComment = True - continue - if Line.find(DataType.TAB_COMMENT_EDK_END) > -1: - IsFindBlockComment = False - continue - if IsFindBlockComment: - continue - - self._LineIndex = Index - self._CurrentLine = Line - - # section header - if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END: - self._SectionHeaderParser() - # Check invalid sections - if self._Version < 0x00010005: - if self._SectionType in [MODEL_META_DATA_BUILD_OPTION, - MODEL_EFI_LIBRARY_CLASS, - MODEL_META_DATA_PACKAGE, - MODEL_PCD_FIXED_AT_BUILD, - MODEL_PCD_PATCHABLE_IN_MODULE, - MODEL_PCD_FEATURE_FLAG, - MODEL_PCD_DYNAMIC_EX, - MODEL_PCD_DYNAMIC, - MODEL_EFI_GUID, - MODEL_EFI_PROTOCOL, - MODEL_EFI_PPI, - MODEL_META_DATA_USER_EXTENSION]: - EdkLogger.error('Parser', FORMAT_INVALID, - "Section [%s] is not allowed in inf file without version" % (self._SectionName), - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - elif self._SectionType in [MODEL_EFI_INCLUDE, - MODEL_EFI_LIBRARY_INSTANCE, - MODEL_META_DATA_NMAKE]: - EdkLogger.error('Parser', FORMAT_INVALID, - "Section [%s] is not allowed in inf file with version 0x%08x" % (self._SectionName, self._Version), - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - continue - # merge two lines specified by '\' in section NMAKE - elif self._SectionType == MODEL_META_DATA_NMAKE: - if Line[-1] == '\\': - if NextLine == '': - self._CurrentLine = NmakeLine + Line[0:-1] - NmakeLine = '' - else: - if NextLine[0] == TAB_SECTION_START and NextLine[-1] == TAB_SECTION_END: - self._CurrentLine = NmakeLine + Line[0:-1] - NmakeLine = '' - else: - NmakeLine = NmakeLine + ' ' + Line[0:-1] - continue - else: - self._CurrentLine = NmakeLine + Line - NmakeLine = '' - - # section content - self._ValueList = ['','',''] - # parse current line, result will be put in self._ValueList - self._SectionParser[self._SectionType](self) - if self._ValueList == None or self._ItemType == MODEL_META_DATA_DEFINE: - self._ItemType = -1 - continue - # - # Model, Value1, Value2, Value3, Arch, Platform, BelongsToItem=-1, - # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1 - # - self._ValueList[0] = self._ValueList[0].replace('/', '\\') - for Arch, Platform in self._Scope: - self._Store(self._SectionType, - self._ValueList[0], - self._ValueList[1], - self._ValueList[2], - Arch, - Platform, - self._Owner[-1], - self.FileID, - self._LineIndex+1, - -1, - self._LineIndex+1, - -1, - 0 - ) - if IsFindBlockComment: - EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments (starting with /*) are expected to end with */", - File=self.MetaFile) - self._Done() - - ## Data parser for the format in which there's path - # - # Only path can have macro used. So we need to replace them before use. - # - def _IncludeParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - self._ValueList[0:len(TokenList)] = TokenList - Macros = self._Macros - if Macros: - for Index in range(0, len(self._ValueList)): - Value = self._ValueList[Index] - if not Value: - continue - - if Value.upper().find('$(EFI_SOURCE)\Edk'.upper()) > -1 or Value.upper().find('$(EFI_SOURCE)/Edk'.upper()) > -1: - Value = '$(EDK_SOURCE)' + Value[17:] - if Value.find('$(EFI_SOURCE)') > -1 or Value.find('$(EDK_SOURCE)') > -1: - pass - elif Value.startswith('.'): - pass - elif Value.startswith('$('): - pass - else: - Value = '$(EFI_SOURCE)/' + Value - - self._ValueList[Index] = ReplaceMacro(Value, Macros) - - ## Parse [Sources] section - # - # Only path can have macro used. So we need to replace them before use. - # - @ParseMacro - def _SourceFileParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - self._ValueList[0:len(TokenList)] = TokenList - Macros = self._Macros - # For Acpi tables, remove macro like ' TABLE_NAME=Sata1' - if 'COMPONENT_TYPE' in Macros: - if self._Defines['COMPONENT_TYPE'].upper() == 'ACPITABLE': - self._ValueList[0] = GetSplitValueList(self._ValueList[0], ' ', 1)[0] - if self._Defines['BASE_NAME'] == 'Microcode': - pass - self._ValueList = [ReplaceMacro(Value, Macros) for Value in self._ValueList] - - ## Parse [Binaries] section - # - # Only path can have macro used. So we need to replace them before use. - # - @ParseMacro - def _BinaryFileParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 2) - if len(TokenList) < 2: - EdkLogger.error('Parser', FORMAT_INVALID, "No file type or path specified", - ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])", - File=self.MetaFile, Line=self._LineIndex+1) - if not TokenList[0]: - EdkLogger.error('Parser', FORMAT_INVALID, "No file type specified", - ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])", - File=self.MetaFile, Line=self._LineIndex+1) - if not TokenList[1]: - EdkLogger.error('Parser', FORMAT_INVALID, "No file path specified", - ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])", - File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[0:len(TokenList)] = TokenList - self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros) - - ## [nmake] section parser (Edk.x style only) - def _NmakeParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - self._ValueList[0:len(TokenList)] = TokenList - # remove macros - self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros) - # remove self-reference in macro setting - #self._ValueList[1] = ReplaceMacro(self._ValueList[1], {self._ValueList[0]:''}) - - ## [FixedPcd], [FeaturePcd], [PatchPcd], [Pcd] and [PcdEx] sections parser - @ParseMacro - def _PcdParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1) - ValueList = GetSplitValueList(TokenList[0], TAB_SPLIT) - if len(ValueList) != 2: - EdkLogger.error('Parser', FORMAT_INVALID, "Illegal token space GUID and PCD name format", - ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<PcdCName>)", - File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[0:1] = ValueList - if len(TokenList) > 1: - self._ValueList[2] = TokenList[1] - if self._ValueList[0] == '' or self._ValueList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified", - ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<PcdCName>)", - File=self.MetaFile, Line=self._LineIndex+1) - - # if value are 'True', 'true', 'TRUE' or 'False', 'false', 'FALSE', replace with integer 1 or 0. - if self._ValueList[2] != '': - InfPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1) - if InfPcdValueList[0] in ['True', 'true', 'TRUE']: - self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '1', 1); - elif InfPcdValueList[0] in ['False', 'false', 'FALSE']: - self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '0', 1); - - ## [depex] section parser - @ParseMacro - def _DepexParser(self): - self._ValueList[0:1] = [self._CurrentLine] - - _SectionParser = { - MODEL_UNKNOWN : MetaFileParser._Skip, - MODEL_META_DATA_HEADER : MetaFileParser._DefineParser, - MODEL_META_DATA_BUILD_OPTION : MetaFileParser._BuildOptionParser, - MODEL_EFI_INCLUDE : _IncludeParser, # for Edk.x modules - MODEL_EFI_LIBRARY_INSTANCE : MetaFileParser._CommonParser, # for Edk.x modules - MODEL_EFI_LIBRARY_CLASS : MetaFileParser._PathParser, - MODEL_META_DATA_PACKAGE : MetaFileParser._PathParser, - MODEL_META_DATA_NMAKE : _NmakeParser, # for Edk.x modules - MODEL_PCD_FIXED_AT_BUILD : _PcdParser, - MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser, - MODEL_PCD_FEATURE_FLAG : _PcdParser, - MODEL_PCD_DYNAMIC_EX : _PcdParser, - MODEL_PCD_DYNAMIC : _PcdParser, - MODEL_EFI_SOURCE_FILE : _SourceFileParser, - MODEL_EFI_GUID : MetaFileParser._CommonParser, - MODEL_EFI_PROTOCOL : MetaFileParser._CommonParser, - MODEL_EFI_PPI : MetaFileParser._CommonParser, - MODEL_EFI_DEPEX : _DepexParser, - MODEL_EFI_BINARY_FILE : _BinaryFileParser, - MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip, - } - -## DSC file parser class -# -# @param FilePath The path of platform description file -# @param FileType The raw data of DSC file -# @param Table Database used to retrieve module/package information -# @param Macros Macros used for replacement in file -# @param Owner Owner ID (for sub-section parsing) -# @param From ID from which the data comes (for !INCLUDE directive) -# -class DscParser(MetaFileParser): - # DSC file supported data types (one type per section) - DataType = { - TAB_SKUIDS.upper() : MODEL_EFI_SKU_ID, - TAB_LIBRARIES.upper() : MODEL_EFI_LIBRARY_INSTANCE, - TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS, - TAB_BUILD_OPTIONS.upper() : MODEL_META_DATA_BUILD_OPTION, - TAB_PCDS_FIXED_AT_BUILD_NULL.upper() : MODEL_PCD_FIXED_AT_BUILD, - TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper() : MODEL_PCD_PATCHABLE_IN_MODULE, - TAB_PCDS_FEATURE_FLAG_NULL.upper() : MODEL_PCD_FEATURE_FLAG, - TAB_PCDS_DYNAMIC_DEFAULT_NULL.upper() : MODEL_PCD_DYNAMIC_DEFAULT, - TAB_PCDS_DYNAMIC_HII_NULL.upper() : MODEL_PCD_DYNAMIC_HII, - TAB_PCDS_DYNAMIC_VPD_NULL.upper() : MODEL_PCD_DYNAMIC_VPD, - TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL.upper() : MODEL_PCD_DYNAMIC_EX_DEFAULT, - TAB_PCDS_DYNAMIC_EX_HII_NULL.upper() : MODEL_PCD_DYNAMIC_EX_HII, - TAB_PCDS_DYNAMIC_EX_VPD_NULL.upper() : MODEL_PCD_DYNAMIC_EX_VPD, - TAB_COMPONENTS.upper() : MODEL_META_DATA_COMPONENT, - TAB_COMPONENTS_SOURCE_OVERRIDE_PATH.upper() : MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH, - TAB_DSC_DEFINES.upper() : MODEL_META_DATA_HEADER, - TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE, - TAB_DSC_DEFINES_EDKGLOBAL : MODEL_META_DATA_GLOBAL_DEFINE, - TAB_INCLUDE.upper() : MODEL_META_DATA_INCLUDE, - TAB_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, - TAB_IF_DEF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF, - TAB_IF_N_DEF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF, - TAB_ELSE_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF, - TAB_ELSE.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE, - TAB_END_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF, - } - - # Valid names in define section - DefineKeywords = [ - "DSC_SPECIFICATION", - "PLATFORM_NAME", - "PLATFORM_GUID", - "PLATFORM_VERSION", - "SKUID_IDENTIFIER", - "PCD_INFO_GENERATION", - "SUPPORTED_ARCHITECTURES", - "BUILD_TARGETS", - "OUTPUT_DIRECTORY", - "FLASH_DEFINITION", - "BUILD_NUMBER", - "RFC_LANGUAGES", - "ISO_LANGUAGES", - "TIME_STAMP_FILE", - "VPD_TOOL_GUID", - "FIX_LOAD_TOP_MEMORY_ADDRESS" - ] - - SymbolPattern = ValueExpression.SymbolPattern - - ## Constructor of DscParser - # - # Initialize object of DscParser - # - # @param FilePath The path of platform description file - # @param FileType The raw data of DSC file - # @param Table Database used to retrieve module/package information - # @param Macros Macros used for replacement in file - # @param Owner Owner ID (for sub-section parsing) - # @param From ID from which the data comes (for !INCLUDE directive) - # - def __init__(self, FilePath, FileType, Table, Owner=-1, From=-1): - # prevent re-initialization - if hasattr(self, "_Table"): - return - MetaFileParser.__init__(self, FilePath, FileType, Table, Owner, From) - self._Version = 0x00010005 # Only EDK2 dsc file is supported - # to store conditional directive evaluation result - self._DirectiveStack = [] - self._DirectiveEvalStack = [] - self._Enabled = 1 - - # Final valid replacable symbols - self._Symbols = {} - # - # Map the ID between the original table and new table to track - # the owner item - # - self._IdMapping = {-1:-1} - - self.TblFile = EccGlobalData.gDb.TblFile - self.FileID = -1 - - ## Parser starter - def Start(self): - Content = '' - try: - Content = open(str(self.MetaFile.Path), 'r').readlines() - except: - EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile) - # - # Insert a record for file - # - Filename = NormPath(self.MetaFile.Path) - FileID = self.TblFile.GetFileId(Filename) - if FileID: - self.FileID = FileID - else: - self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_DSC) - - - for Index in range(0, len(Content)): - Line = CleanString(Content[Index]) - # skip empty line - if Line == '': - continue - - self._CurrentLine = Line - self._LineIndex = Index - if self._InSubsection and self._Owner[-1] == -1: - self._Owner.append(self._LastItem) - - # section header - if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END: - self._SectionType = MODEL_META_DATA_SECTION_HEADER - # subsection ending - elif Line[0] == '}' and self._InSubsection: - self._InSubsection = False - self._SubsectionType = MODEL_UNKNOWN - self._SubsectionName = '' - self._Owner[-1] = -1 - continue - # subsection header - elif Line[0] == TAB_OPTION_START and Line[-1] == TAB_OPTION_END: - self._SubsectionType = MODEL_META_DATA_SUBSECTION_HEADER - # directive line - elif Line[0] == '!': - self._DirectiveParser() - continue - - if self._InSubsection: - SectionType = self._SubsectionType - else: - SectionType = self._SectionType - self._ItemType = SectionType - - self._ValueList = ['', '', ''] - self._SectionParser[SectionType](self) - if self._ValueList == None: - continue - # - # Model, Value1, Value2, Value3, Arch, ModuleType, BelongsToItem=-1, BelongsToFile=-1, - # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1 - # - for Arch, ModuleType in self._Scope: - self._LastItem = self._Store( - self._ItemType, - self._ValueList[0], - self._ValueList[1], - self._ValueList[2], - Arch, - ModuleType, - self._Owner[-1], - self.FileID, - self._From, - self._LineIndex+1, - -1, - self._LineIndex+1, - -1, - self._Enabled - ) - - if self._DirectiveStack: - Type, Line, Text = self._DirectiveStack[-1] - EdkLogger.error('Parser', FORMAT_INVALID, "No matching '!endif' found", - ExtraData=Text, File=self.MetaFile, Line=Line) - self._Done() - - ## <subsection_header> parser - def _SubsectionHeaderParser(self): - self._SubsectionName = self._CurrentLine[1:-1].upper() - if self._SubsectionName in self.DataType: - self._SubsectionType = self.DataType[self._SubsectionName] - else: - self._SubsectionType = MODEL_UNKNOWN - EdkLogger.warn("Parser", "Unrecognized sub-section", File=self.MetaFile, - Line=self._LineIndex+1, ExtraData=self._CurrentLine) - self._ValueList[0] = self._SubsectionName - - ## Directive statement parser - def _DirectiveParser(self): - self._ValueList = ['','',''] - TokenList = GetSplitValueList(self._CurrentLine, ' ', 1) - self._ValueList[0:len(TokenList)] = TokenList - - # Syntax check - DirectiveName = self._ValueList[0].upper() - if DirectiveName not in self.DataType: - EdkLogger.error("Parser", FORMAT_INVALID, "Unknown directive [%s]" % DirectiveName, - File=self.MetaFile, Line=self._LineIndex+1) - if DirectiveName in ['!IF', '!IFDEF', '!INCLUDE', '!IFNDEF', '!ELSEIF'] and self._ValueList[1] == '': - EdkLogger.error("Parser", FORMAT_INVALID, "Missing expression", - File=self.MetaFile, Line=self._LineIndex+1, - ExtraData=self._CurrentLine) - - ItemType = self.DataType[DirectiveName] - if ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF: - # Remove all directives between !if and !endif, including themselves - while self._DirectiveStack: - # Remove any !else or !elseif - DirectiveInfo = self._DirectiveStack.pop() - if DirectiveInfo[0] in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]: - break - else: - EdkLogger.error("Parser", FORMAT_INVALID, "Redundant '!endif'", - File=self.MetaFile, Line=self._LineIndex+1, - ExtraData=self._CurrentLine) - elif ItemType != MODEL_META_DATA_INCLUDE: - # Break if there's a !else is followed by a !elseif - if ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF and \ - self._DirectiveStack and \ - self._DirectiveStack[-1][0] == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE: - EdkLogger.error("Parser", FORMAT_INVALID, "'!elseif' after '!else'", - File=self.MetaFile, Line=self._LineIndex+1, - ExtraData=self._CurrentLine) - self._DirectiveStack.append((ItemType, self._LineIndex+1, self._CurrentLine)) - elif self._From > 0: - EdkLogger.error('Parser', FORMAT_INVALID, - "No '!include' allowed in included file", - ExtraData=self._CurrentLine, File=self.MetaFile, - Line=self._LineIndex+1) - - # - # Model, Value1, Value2, Value3, Arch, ModuleType, BelongsToItem=-1, BelongsToFile=-1, - # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1 - # - self._LastItem = self._Store( - ItemType, - self._ValueList[0], - self._ValueList[1], - self._ValueList[2], - 'COMMON', - 'COMMON', - self._Owner[-1], - self.FileID, - self._From, - self._LineIndex+1, - -1, - self._LineIndex+1, - -1, - 0 - ) - - ## [defines] section parser - @ParseMacro - def _DefineParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - self._ValueList[1:len(TokenList)] = TokenList - - # Syntax check - if not self._ValueList[1]: - EdkLogger.error('Parser', FORMAT_INVALID, "No name specified", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - if not self._ValueList[2]: - EdkLogger.error('Parser', FORMAT_INVALID, "No value specified", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - if not self._ValueList[1] in self.DefineKeywords: - EdkLogger.error('Parser', FORMAT_INVALID, - "Unknown keyword found: %s. " - "If this is a macro you must " - "add it as a DEFINE in the DSC" % self._ValueList[1], - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - self._Defines[self._ValueList[1]] = self._ValueList[2] - self._ItemType = self.DataType[TAB_DSC_DEFINES.upper()] - - @ParseMacro - def _SkuIdParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - if len(TokenList) != 2: - EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>'", - ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[0:len(TokenList)] = TokenList - - ## Parse Edk style of library modules - def _LibraryInstanceParser(self): - self._ValueList[0] = self._CurrentLine - - ## PCD sections parser - # - # [PcdsFixedAtBuild] - # [PcdsPatchableInModule] - # [PcdsFeatureFlag] - # [PcdsDynamicEx - # [PcdsDynamicExDefault] - # [PcdsDynamicExVpd] - # [PcdsDynamicExHii] - # [PcdsDynamic] - # [PcdsDynamicDefault] - # [PcdsDynamicVpd] - # [PcdsDynamicHii] - # - @ParseMacro - def _PcdParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1) - self._ValueList[0:1] = GetSplitValueList(TokenList[0], TAB_SPLIT) - if len(TokenList) == 2: - self._ValueList[2] = TokenList[1] - if self._ValueList[0] == '' or self._ValueList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified", - ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)", - File=self.MetaFile, Line=self._LineIndex+1) - if self._ValueList[2] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No PCD value given", - ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)", - File=self.MetaFile, Line=self._LineIndex+1) - # if value are 'True', 'true', 'TRUE' or 'False', 'false', 'FALSE', replace with integer 1 or 0. - DscPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1) - if DscPcdValueList[0] in ['True', 'true', 'TRUE']: - self._ValueList[2] = TokenList[1].replace(DscPcdValueList[0], '1', 1); - elif DscPcdValueList[0] in ['False', 'false', 'FALSE']: - self._ValueList[2] = TokenList[1].replace(DscPcdValueList[0], '0', 1); - - ## [components] section parser - @ParseMacro - def _ComponentParser(self): - if self._CurrentLine[-1] == '{': - self._ValueList[0] = self._CurrentLine[0:-1].strip() - self._InSubsection = True - else: - self._ValueList[0] = self._CurrentLine - - ## [LibraryClasses] section - @ParseMacro - def _LibraryClassParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT) - if len(TokenList) < 2: - EdkLogger.error('Parser', FORMAT_INVALID, "No library class or instance specified", - ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)", - File=self.MetaFile, Line=self._LineIndex+1) - if TokenList[0] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No library class specified", - ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)", - File=self.MetaFile, Line=self._LineIndex+1) - if TokenList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No library instance specified", - ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)", - File=self.MetaFile, Line=self._LineIndex+1) - - self._ValueList[0:len(TokenList)] = TokenList - - def _CompponentSourceOverridePathParser(self): - self._ValueList[0] = self._CurrentLine - - ## [BuildOptions] section parser - @ParseMacro - def _BuildOptionParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - TokenList2 = GetSplitValueList(TokenList[0], ':', 1) - if len(TokenList2) == 2: - self._ValueList[0] = TokenList2[0] # toolchain family - self._ValueList[1] = TokenList2[1] # keys - else: - self._ValueList[1] = TokenList[0] - if len(TokenList) == 2: # value - self._ValueList[2] = TokenList[1] - - if self._ValueList[1].count('_') != 4: - EdkLogger.error( - 'Parser', - FORMAT_INVALID, - "'%s' must be in format of <TARGET>_<TOOLCHAIN>_<ARCH>_<TOOL>_FLAGS" % self._ValueList[1], - ExtraData=self._CurrentLine, - File=self.MetaFile, - Line=self._LineIndex+1 - ) - - ## Override parent's method since we'll do all macro replacements in parser - def _GetMacros(self): - Macros = {} - Macros.update(self._FileLocalMacros) - Macros.update(self._GetApplicableSectionMacro()) - Macros.update(GlobalData.gEdkGlobal) - Macros.update(GlobalData.gPlatformDefines) - Macros.update(GlobalData.gCommandLineDefines) - # PCD cannot be referenced in macro definition - if self._ItemType not in [MODEL_META_DATA_DEFINE, MODEL_META_DATA_GLOBAL_DEFINE]: - Macros.update(self._Symbols) - return Macros - - def _PostProcess(self): - Processer = { - MODEL_META_DATA_SECTION_HEADER : self.__ProcessSectionHeader, - MODEL_META_DATA_SUBSECTION_HEADER : self.__ProcessSubsectionHeader, - MODEL_META_DATA_HEADER : self.__ProcessDefine, - MODEL_META_DATA_DEFINE : self.__ProcessDefine, - MODEL_META_DATA_GLOBAL_DEFINE : self.__ProcessDefine, - MODEL_META_DATA_INCLUDE : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IF : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF : self.__ProcessDirective, - MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF : self.__ProcessDirective, - MODEL_EFI_SKU_ID : self.__ProcessSkuId, - MODEL_EFI_LIBRARY_INSTANCE : self.__ProcessLibraryInstance, - MODEL_EFI_LIBRARY_CLASS : self.__ProcessLibraryClass, - MODEL_PCD_FIXED_AT_BUILD : self.__ProcessPcd, - MODEL_PCD_PATCHABLE_IN_MODULE : self.__ProcessPcd, - MODEL_PCD_FEATURE_FLAG : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_DEFAULT : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_HII : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_VPD : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_EX_DEFAULT : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_EX_HII : self.__ProcessPcd, - MODEL_PCD_DYNAMIC_EX_VPD : self.__ProcessPcd, - MODEL_META_DATA_COMPONENT : self.__ProcessComponent, - MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : self.__ProcessSourceOverridePath, - MODEL_META_DATA_BUILD_OPTION : self.__ProcessBuildOption, - MODEL_UNKNOWN : self._Skip, - MODEL_META_DATA_USER_EXTENSION : self._Skip, - } - - self._RawTable = self._Table - self._Table = MetaFileStorage(self._RawTable.Cur, self.MetaFile, MODEL_FILE_DSC, True) - self._DirectiveStack = [] - self._DirectiveEvalStack = [] - self._FileWithError = self.MetaFile - self._FileLocalMacros = {} - self._SectionsMacroDict = {} - GlobalData.gPlatformDefines = {} - - # Get all macro and PCD which has straitforward value - self.__RetrievePcdValue() - self._Content = self._RawTable.GetAll() - self._ContentIndex = 0 - while self._ContentIndex < len(self._Content) : - Id, self._ItemType, V1, V2, V3, S1, S2, Owner, BelongsToFile, self._From, \ - LineStart, ColStart, LineEnd, ColEnd, Enabled = self._Content[self._ContentIndex] - - if self._From < 0: - self._FileWithError = self.MetaFile - - self._ContentIndex += 1 - - self._Scope = [[S1, S2]] - self._LineIndex = LineStart - 1 - self._ValueList = [V1, V2, V3] - - try: - Processer[self._ItemType]() - except EvaluationException, Excpt: - # - # Only catch expression evaluation error here. We need to report - # the precise number of line on which the error occurred - # - EdkLogger.error('Parser', FORMAT_INVALID, "Invalid expression: %s" % str(Excpt), - File=self._FileWithError, ExtraData=' '.join(self._ValueList), - Line=self._LineIndex+1) - except MacroException, Excpt: - EdkLogger.error('Parser', FORMAT_INVALID, str(Excpt), - File=self._FileWithError, ExtraData=' '.join(self._ValueList), - Line=self._LineIndex+1) - - if self._ValueList == None: - continue - - NewOwner = self._IdMapping.get(Owner, -1) - self._Enabled = int((not self._DirectiveEvalStack) or (False not in self._DirectiveEvalStack)) - self._LastItem = self._Store( - self._ItemType, - self._ValueList[0], - self._ValueList[1], - self._ValueList[2], - S1, - S2, - NewOwner, - BelongsToFile, - self._From, - self._LineIndex+1, - -1, - self._LineIndex+1, - -1, - self._Enabled - ) - self._IdMapping[Id] = self._LastItem - - RecordList = self._Table.GetAll() - - self._RawTable.Drop() - self._Table.Drop() - for Record in RecordList: - EccGlobalData.gDb.TblDsc.Insert(Record[1],Record[2],Record[3],Record[4],Record[5],Record[6],Record[7],Record[8],Record[9],Record[10],Record[11],Record[12],Record[13],Record[14]) - GlobalData.gPlatformDefines.update(self._FileLocalMacros) - self._PostProcessed = True - self._Content = None - - def __ProcessSectionHeader(self): - self._SectionName = self._ValueList[0] - if self._SectionName in self.DataType: - self._SectionType = self.DataType[self._SectionName] - else: - self._SectionType = MODEL_UNKNOWN - - def __ProcessSubsectionHeader(self): - self._SubsectionName = self._ValueList[0] - if self._SubsectionName in self.DataType: - self._SubsectionType = self.DataType[self._SubsectionName] - else: - self._SubsectionType = MODEL_UNKNOWN - - def __RetrievePcdValue(self): - Records = self._RawTable.Query(MODEL_PCD_FEATURE_FLAG, BelongsToItem=-1.0) - for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records: - Value, DatumType, MaxDatumSize = AnalyzePcdData(Value) - # Only use PCD whose value is straitforward (no macro and PCD) - if self.SymbolPattern.findall(Value): - continue - Name = TokenSpaceGuid + '.' + PcdName - # Don't use PCD with different values. - if Name in self._Symbols and self._Symbols[Name] != Value: - self._Symbols.pop(Name) - continue - self._Symbols[Name] = Value - - Records = self._RawTable.Query(MODEL_PCD_FIXED_AT_BUILD, BelongsToItem=-1.0) - for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records: - Value, DatumType, MaxDatumSize = AnalyzePcdData(Value) - # Only use PCD whose value is straitforward (no macro and PCD) - if self.SymbolPattern.findall(Value): - continue - Name = TokenSpaceGuid+'.'+PcdName - # Don't use PCD with different values. - if Name in self._Symbols and self._Symbols[Name] != Value: - self._Symbols.pop(Name) - continue - self._Symbols[Name] = Value - - def __ProcessDefine(self): - if not self._Enabled: - return - - Type, Name, Value = self._ValueList - Value = ReplaceMacro(Value, self._Macros, False) - if self._ItemType == MODEL_META_DATA_DEFINE: - if self._SectionType == MODEL_META_DATA_HEADER: - self._FileLocalMacros[Name] = Value - else: - SectionDictKey = self._SectionType, self._Scope[0][0], self._Scope[0][1] - if SectionDictKey not in self._SectionsMacroDict: - self._SectionsMacroDict[SectionDictKey] = {} - SectionLocalMacros = self._SectionsMacroDict[SectionDictKey] - SectionLocalMacros[Name] = Value - elif self._ItemType == MODEL_META_DATA_GLOBAL_DEFINE: - GlobalData.gEdkGlobal[Name] = Value - - # - # Keyword in [Defines] section can be used as Macros - # - if (self._ItemType == MODEL_META_DATA_HEADER) and (self._SectionType == MODEL_META_DATA_HEADER): - self._FileLocalMacros[Name] = Value - - self._ValueList = [Type, Name, Value] - - def __ProcessDirective(self): - Result = None - if self._ItemType in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF]: - Macros = self._Macros - Macros.update(GlobalData.gGlobalDefines) - try: - Result = ValueExpression(self._ValueList[1], Macros)() - except SymbolNotFound, Exc: - EdkLogger.debug(EdkLogger.DEBUG_5, str(Exc), self._ValueList[1]) - Result = False - except WrnExpression, Excpt: - # - # Catch expression evaluation warning here. We need to report - # the precise number of line and return the evaluation result - # - EdkLogger.warn('Parser', "Suspicious expression: %s" % str(Excpt), - File=self._FileWithError, ExtraData=' '.join(self._ValueList), - Line=self._LineIndex+1) - Result = Excpt.result - - if self._ItemType in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]: - self._DirectiveStack.append(self._ItemType) - if self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_IF: - Result = bool(Result) - else: - Macro = self._ValueList[1] - Macro = Macro[2:-1] if (Macro.startswith("$(") and Macro.endswith(")")) else Macro - Result = Macro in self._Macros - if self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF: - Result = not Result - self._DirectiveEvalStack.append(Result) - elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF: - self._DirectiveStack.append(self._ItemType) - self._DirectiveEvalStack[-1] = not self._DirectiveEvalStack[-1] - self._DirectiveEvalStack.append(bool(Result)) - elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE: - self._DirectiveStack[-1] = self._ItemType - self._DirectiveEvalStack[-1] = not self._DirectiveEvalStack[-1] - elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF: - # Back to the nearest !if/!ifdef/!ifndef - while self._DirectiveStack: - self._DirectiveEvalStack.pop() - Directive = self._DirectiveStack.pop() - if Directive in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF, - MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE, - MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]: - break - elif self._ItemType == MODEL_META_DATA_INCLUDE: - # The included file must be relative to workspace or same directory as DSC file - __IncludeMacros = {} - # - # Allow using system environment variables in path after !include - # - __IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE'] - if "ECP_SOURCE" in GlobalData.gGlobalDefines.keys(): - __IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE'] - # - # During GenFds phase call DSC parser, will go into this branch. - # - elif "ECP_SOURCE" in GlobalData.gCommandLineDefines.keys(): - __IncludeMacros['ECP_SOURCE'] = GlobalData.gCommandLineDefines['ECP_SOURCE'] - - __IncludeMacros['EFI_SOURCE'] = GlobalData.gGlobalDefines['EFI_SOURCE'] - __IncludeMacros['EDK_SOURCE'] = GlobalData.gGlobalDefines['EDK_SOURCE'] - # - # Allow using MACROs comes from [Defines] section to keep compatible. - # - __IncludeMacros.update(self._Macros) - - IncludedFile = NormPath(ReplaceMacro(self._ValueList[1], __IncludeMacros, RaiseError=True)) - # - # First search the include file under the same directory as DSC file - # - IncludedFile1 = PathClass(IncludedFile, self.MetaFile.Dir) - ErrorCode, ErrorInfo1 = IncludedFile1.Validate() - if ErrorCode != 0: - # - # Also search file under the WORKSPACE directory - # - IncludedFile1 = PathClass(IncludedFile, GlobalData.gWorkspace) - ErrorCode, ErrorInfo2 = IncludedFile1.Validate() - if ErrorCode != 0: - EdkLogger.error('parser', ErrorCode, File=self._FileWithError, - Line=self._LineIndex+1, ExtraData=ErrorInfo1 + "\n"+ ErrorInfo2) - - self._FileWithError = IncludedFile1 - - IncludedFileTable = MetaFileStorage(self._Table.Cur, IncludedFile1, MODEL_FILE_DSC, True) - Owner = self._Content[self._ContentIndex-1][0] - Parser = DscParser(IncludedFile1, self._FileType, IncludedFileTable, - Owner=Owner, From=Owner) - - # set the parser status with current status - Parser._SectionName = self._SectionName - Parser._SectionType = self._SectionType - Parser._Scope = self._Scope - Parser._Enabled = self._Enabled - # Parse the included file - Parser.Start() - - # update current status with sub-parser's status - self._SectionName = Parser._SectionName - self._SectionType = Parser._SectionType - self._Scope = Parser._Scope - self._Enabled = Parser._Enabled - - # Insert all records in the table for the included file into dsc file table - Records = IncludedFileTable.GetAll() - if Records: - self._Content[self._ContentIndex:self._ContentIndex] = Records - self._Content.pop(self._ContentIndex-1) - self._ValueList = None - self._ContentIndex -= 1 - - def __ProcessSkuId(self): - self._ValueList = [ReplaceMacro(Value, self._Macros, RaiseError=True) - for Value in self._ValueList] - - def __ProcessLibraryInstance(self): - self._ValueList = [ReplaceMacro(Value, self._Macros) for Value in self._ValueList] - - def __ProcessLibraryClass(self): - self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros, RaiseError=True) - - def __ProcessPcd(self): - ValueList = GetSplitValueList(self._ValueList[2]) - # - # PCD value can be an expression - # - if len(ValueList) > 1 and ValueList[1] == 'VOID*': - PcdValue = ValueList[0] - try: - ValueList[0] = ValueExpression(PcdValue, self._Macros)(True) - except WrnExpression, Value: - ValueList[0] = Value.result - else: - PcdValue = ValueList[-1] - try: - ValueList[-1] = ValueExpression(PcdValue, self._Macros)(True) - except WrnExpression, Value: - ValueList[-1] = Value.result - - if ValueList[-1] == 'True': - ValueList[-1] = '1' - if ValueList[-1] == 'False': - ValueList[-1] = '0' - - self._ValueList[2] = '|'.join(ValueList) - - def __ProcessComponent(self): - self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros) - - def __ProcessSourceOverridePath(self): - self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros) - - def __ProcessBuildOption(self): - self._ValueList = [ReplaceMacro(Value, self._Macros, RaiseError=False) - for Value in self._ValueList] - - _SectionParser = { - MODEL_META_DATA_HEADER : _DefineParser, - MODEL_EFI_SKU_ID : _SkuIdParser, - MODEL_EFI_LIBRARY_INSTANCE : _LibraryInstanceParser, - MODEL_EFI_LIBRARY_CLASS : _LibraryClassParser, - MODEL_PCD_FIXED_AT_BUILD : _PcdParser, - MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser, - MODEL_PCD_FEATURE_FLAG : _PcdParser, - MODEL_PCD_DYNAMIC_DEFAULT : _PcdParser, - MODEL_PCD_DYNAMIC_HII : _PcdParser, - MODEL_PCD_DYNAMIC_VPD : _PcdParser, - MODEL_PCD_DYNAMIC_EX_DEFAULT : _PcdParser, - MODEL_PCD_DYNAMIC_EX_HII : _PcdParser, - MODEL_PCD_DYNAMIC_EX_VPD : _PcdParser, - MODEL_META_DATA_COMPONENT : _ComponentParser, - MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : _CompponentSourceOverridePathParser, - MODEL_META_DATA_BUILD_OPTION : _BuildOptionParser, - MODEL_UNKNOWN : MetaFileParser._Skip, - MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip, - MODEL_META_DATA_SECTION_HEADER : MetaFileParser._SectionHeaderParser, - MODEL_META_DATA_SUBSECTION_HEADER : _SubsectionHeaderParser, - } - - _Macros = property(_GetMacros) - -## DEC file parser class -# -# @param FilePath The path of platform description file -# @param FileType The raw data of DSC file -# @param Table Database used to retrieve module/package information -# @param Macros Macros used for replacement in file -# -class DecParser(MetaFileParser): - # DEC file supported data types (one type per section) - DataType = { - TAB_DEC_DEFINES.upper() : MODEL_META_DATA_HEADER, - TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE, - TAB_INCLUDES.upper() : MODEL_EFI_INCLUDE, - TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS, - TAB_GUIDS.upper() : MODEL_EFI_GUID, - TAB_PPIS.upper() : MODEL_EFI_PPI, - TAB_PROTOCOLS.upper() : MODEL_EFI_PROTOCOL, - TAB_PCDS_FIXED_AT_BUILD_NULL.upper() : MODEL_PCD_FIXED_AT_BUILD, - TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper() : MODEL_PCD_PATCHABLE_IN_MODULE, - TAB_PCDS_FEATURE_FLAG_NULL.upper() : MODEL_PCD_FEATURE_FLAG, - TAB_PCDS_DYNAMIC_NULL.upper() : MODEL_PCD_DYNAMIC, - TAB_PCDS_DYNAMIC_EX_NULL.upper() : MODEL_PCD_DYNAMIC_EX, - } - - ## Constructor of DecParser - # - # Initialize object of DecParser - # - # @param FilePath The path of platform description file - # @param FileType The raw data of DSC file - # @param Table Database used to retrieve module/package information - # @param Macros Macros used for replacement in file - # - def __init__(self, FilePath, FileType, Table): - # prevent re-initialization - if hasattr(self, "_Table"): - return - MetaFileParser.__init__(self, FilePath, FileType, Table) - self._Comments = [] - self._Version = 0x00010005 # Only EDK2 dec file is supported - self.TblFile = EccGlobalData.gDb.TblFile - self.FileID = -1 - - ## Parser starter - def Start(self): - Content = '' - try: - Content = open(str(self.MetaFile), 'r').readlines() - except: - EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile) - - # - # Insert a record for file - # - Filename = NormPath(self.MetaFile) - FileID = self.TblFile.GetFileId(Filename) - if FileID: - self.FileID = FileID - else: - self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_DEC) - - for Index in range(0, len(Content)): - Line, Comment = CleanString2(Content[Index]) - self._CurrentLine = Line - self._LineIndex = Index - - # save comment for later use - if Comment: - self._Comments.append((Comment, self._LineIndex+1)) - # skip empty line - if Line == '': - continue - - # section header - if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END: - self._SectionHeaderParser() - self._Comments = [] - continue - elif len(self._SectionType) == 0: - self._Comments = [] - continue - - # section content - self._ValueList = ['','',''] - self._SectionParser[self._SectionType[0]](self) - if self._ValueList == None or self._ItemType == MODEL_META_DATA_DEFINE: - self._ItemType = -1 - self._Comments = [] - continue - - # - # Model, Value1, Value2, Value3, Arch, BelongsToItem=-1, LineBegin=-1, - # ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, FeatureFlag='', Enabled=-1 - # - for Arch, ModuleType, Type in self._Scope: - self._LastItem = self._Store( - Type, - self._ValueList[0], - self._ValueList[1], - self._ValueList[2], - Arch, - ModuleType, - self._Owner[-1], - self.FileID, - self._LineIndex+1, - -1, - self._LineIndex+1, - -1, - 0 - ) - for Comment, LineNo in self._Comments: - self._Store( - MODEL_META_DATA_COMMENT, - Comment, - self._ValueList[0], - self._ValueList[1], - Arch, - ModuleType, - self._LastItem, - self.FileID, - LineNo, - -1, - LineNo, - -1, - 0 - ) - self._Comments = [] - self._Done() - - def _GetApplicableSectionMacro(self): - Macros = {} - for S1, S2, SectionType in self._Scope: - for Scope1, Scope2 in [("COMMON", "COMMON"), ("COMMON", S2), (S1, "COMMON"), (S1, S2)]: - if (SectionType, Scope1, Scope2) in self._SectionsMacroDict: - Macros.update(self._SectionsMacroDict[(SectionType, Scope1, Scope2)]) - return Macros - - ## Section header parser - # - # The section header is always in following format: - # - # [section_name.arch<.platform|module_type>] - # - def _SectionHeaderParser(self): - self._Scope = [] - self._SectionName = '' - self._SectionType = [] - ArchList = set() - for Item in GetSplitValueList(self._CurrentLine[1:-1], TAB_COMMA_SPLIT): - if Item == '': - continue - ItemList = GetSplitValueList(Item, TAB_SPLIT) - - # different types of PCD are permissible in one section - self._SectionName = ItemList[0].upper() - if self._SectionName in self.DataType: - if self.DataType[self._SectionName] not in self._SectionType: - self._SectionType.append(self.DataType[self._SectionName]) - else: - EdkLogger.warn("Parser", "Unrecognized section", File=self.MetaFile, - Line=self._LineIndex+1, ExtraData=self._CurrentLine) - continue - - if MODEL_PCD_FEATURE_FLAG in self._SectionType and len(self._SectionType) > 1: - EdkLogger.error( - 'Parser', - FORMAT_INVALID, - "%s must not be in the same section of other types of PCD" % TAB_PCDS_FEATURE_FLAG_NULL, - File=self.MetaFile, - Line=self._LineIndex+1, - ExtraData=self._CurrentLine - ) - # S1 is always Arch - if len(ItemList) > 1: - S1 = ItemList[1].upper() - else: - S1 = 'COMMON' - ArchList.add(S1) - # S2 may be Platform or ModuleType - if len(ItemList) > 2: - S2 = ItemList[2].upper() - else: - S2 = 'COMMON' - if [S1, S2, self.DataType[self._SectionName]] not in self._Scope: - self._Scope.append([S1, S2, self.DataType[self._SectionName]]) - - # 'COMMON' must not be used with specific ARCHs at the same section - if 'COMMON' in ArchList and len(ArchList) > 1: - EdkLogger.error('Parser', FORMAT_INVALID, "'common' ARCH must not be used with specific ARCHs", - File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine) - - ## [guids], [ppis] and [protocols] section parser - @ParseMacro - def _GuidParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1) - if len(TokenList) < 2: - EdkLogger.error('Parser', FORMAT_INVALID, "No GUID name or value specified", - ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)", - File=self.MetaFile, Line=self._LineIndex+1) - if TokenList[0] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No GUID name specified", - ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)", - File=self.MetaFile, Line=self._LineIndex+1) - if TokenList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No GUID value specified", - ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)", - File=self.MetaFile, Line=self._LineIndex+1) - if TokenList[1][0] != '{' or TokenList[1][-1] != '}' or GuidStructureStringToGuidString(TokenList[1]) == '': - EdkLogger.error('Parser', FORMAT_INVALID, "Invalid GUID value format", - ExtraData=self._CurrentLine + \ - " (<CName> = <GuidValueInCFormat:{8,4,4,{2,2,2,2,2,2,2,2}}>)", - File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[0] = TokenList[0] - #Parse the Guid value format - GuidValueList = TokenList[1].strip(' {}').split(',') - Index = 0 - HexList = [] - if len(GuidValueList) == 11: - for GuidValue in GuidValueList: - GuidValue = GuidValue.strip() - if GuidValue.startswith('0x') or GuidValue.startswith('0X'): - HexList.append('0x' + str(GuidValue[2:])) - Index += 1 - continue - else: - if GuidValue.startswith('{'): - HexList.append('0x' + str(GuidValue[3:])) - Index += 1 - self._ValueList[1] = "{ %s, %s, %s, { %s, %s, %s, %s, %s, %s, %s, %s }}" % (HexList[0], HexList[1], HexList[2],HexList[3],HexList[4],HexList[5],HexList[6],HexList[7],HexList[8],HexList[9],HexList[10]) - else: - EdkLogger.error('Parser', FORMAT_INVALID, "Invalid GUID value format", - ExtraData=self._CurrentLine + \ - " (<CName> = <GuidValueInCFormat:{8,4,4,{2,2,2,2,2,2,2,2}}>)", - File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[0] = '' - - ## PCD sections parser - # - # [PcdsFixedAtBuild] - # [PcdsPatchableInModule] - # [PcdsFeatureFlag] - # [PcdsDynamicEx - # [PcdsDynamic] - # - @ParseMacro - def _PcdParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1) - self._ValueList[0:1] = GetSplitValueList(TokenList[0], TAB_SPLIT) - # check PCD information - if self._ValueList[0] == '' or self._ValueList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - # check PCD datum information - if len(TokenList) < 2 or TokenList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "No PCD Datum information given", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - - - ValueRe = re.compile(r'^\s*L?\".*\|.*\"') - PtrValue = ValueRe.findall(TokenList[1]) - - # Has VOID* type string, may contain "|" character in the string. - if len(PtrValue) != 0: - ptrValueList = re.sub(ValueRe, '', TokenList[1]) - ValueList = GetSplitValueList(ptrValueList) - ValueList[0] = PtrValue[0] - else: - ValueList = GetSplitValueList(TokenList[1]) - - - # check if there's enough datum information given - if len(ValueList) != 3: - EdkLogger.error('Parser', FORMAT_INVALID, "Invalid PCD Datum information given", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - # check default value - if ValueList[0] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "Missing DefaultValue in PCD Datum information", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - # check datum type - if ValueList[1] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "Missing DatumType in PCD Datum information", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - # check token of the PCD - if ValueList[2] == '': - EdkLogger.error('Parser', FORMAT_INVALID, "Missing Token in PCD Datum information", - ExtraData=self._CurrentLine + \ - " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)", - File=self.MetaFile, Line=self._LineIndex+1) - # check format of default value against the datum type - IsValid, Cause = CheckPcdDatum(ValueList[1], ValueList[0]) - if not IsValid: - EdkLogger.error('Parser', FORMAT_INVALID, Cause, ExtraData=self._CurrentLine, - File=self.MetaFile, Line=self._LineIndex+1) - - if ValueList[0] in ['True', 'true', 'TRUE']: - ValueList[0] = '1' - elif ValueList[0] in ['False', 'false', 'FALSE']: - ValueList[0] = '0' - - self._ValueList[2] = ValueList[0].strip() + '|' + ValueList[1].strip() + '|' + ValueList[2].strip() - - _SectionParser = { - MODEL_META_DATA_HEADER : MetaFileParser._DefineParser, - MODEL_EFI_INCLUDE : MetaFileParser._PathParser, - MODEL_EFI_LIBRARY_CLASS : MetaFileParser._PathParser, - MODEL_EFI_GUID : _GuidParser, - MODEL_EFI_PPI : _GuidParser, - MODEL_EFI_PROTOCOL : _GuidParser, - MODEL_PCD_FIXED_AT_BUILD : _PcdParser, - MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser, - MODEL_PCD_FEATURE_FLAG : _PcdParser, - MODEL_PCD_DYNAMIC : _PcdParser, - MODEL_PCD_DYNAMIC_EX : _PcdParser, - MODEL_UNKNOWN : MetaFileParser._Skip, - MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip, - } - - -## FdfObject -# -# This class defined basic Fdf object which is used by inheriting -# -# @param object: Inherited from object class -# -class FdfObject(object): - def __init__(self): - object.__init__() - -## Fdf -# -# This class defined the structure used in Fdf object -# -# @param FdfObject: Inherited from FdfObject class -# @param Filename: Input value for Ffilename of Fdf file, default is None -# @param WorkspaceDir: Input value for current workspace directory, default is None -# -class Fdf(FdfObject): - def __init__(self, Filename = None, IsToDatabase = False, WorkspaceDir = None, Database = None): - self.WorkspaceDir = WorkspaceDir - self.IsToDatabase = IsToDatabase - - self.Cur = Database.Cur - self.TblFile = Database.TblFile - self.TblFdf = Database.TblFdf - self.FileID = -1 - self.FileList = {} - - # - # Load Fdf file if filename is not None - # - if Filename != None: - self.LoadFdfFile(Filename) - - # - # Insert a FDF file record into database - # - def InsertFile(self, Filename): - FileID = -1 - Filename = NormPath(Filename) - if Filename not in self.FileList: - FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_FDF) - self.FileList[Filename] = FileID - - return self.FileList[Filename] - - - ## Load Fdf file - # - # Load the file if it exists - # - # @param Filename: Input value for filename of Fdf file - # - def LoadFdfFile(self, Filename): - FileList = [] - # - # Parse Fdf file - # - Filename = NormPath(Filename) - Fdf = FdfParser(Filename) - Fdf.ParseFile() - - # - # Insert inf file and pcd information - # - if self.IsToDatabase: - (Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled) = \ - (0, '', '', '', 'COMMON', 'COMMON', -1, -1, -1, -1, -1, -1, 0) - for Index in range(0, len(Fdf.Profile.PcdDict)): - pass - for Key in Fdf.Profile.PcdDict.keys(): - Model = MODEL_PCD - Value1 = Key[1] - Value2 = Key[0] - FileName = Fdf.Profile.PcdFileLineDict[Key][0] - StartLine = Fdf.Profile.PcdFileLineDict[Key][1] - BelongsToFile = self.InsertFile(FileName) - self.TblFdf.Insert(Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled) - for Index in range(0, len(Fdf.Profile.InfList)): - Model = MODEL_META_DATA_COMPONENT - Value1 = Fdf.Profile.InfList[Index] - Value2 = '' - FileName = Fdf.Profile.InfFileLineList[Index][0] - StartLine = Fdf.Profile.InfFileLineList[Index][1] - BelongsToFile = self.InsertFile(FileName) - self.TblFdf.Insert(Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled) - -## -# -# This acts like the main() function for the script, unless it is 'import'ed into another -# script. -# -if __name__ == '__main__': - pass - +## @file
+# This file is used to parse meta files
+#
+# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
+# 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 Modules
+#
+import os
+import re
+import time
+import copy
+
+import Common.EdkLogger as EdkLogger
+import Common.GlobalData as GlobalData
+import EccGlobalData
+
+from CommonDataClass.DataClass import *
+from Common.DataType import *
+from Common.String import *
+from Common.Misc import GuidStructureStringToGuidString, CheckPcdDatum, PathClass, AnalyzePcdData
+from Common.Expression import *
+from CommonDataClass.Exceptions import *
+
+from MetaFileTable import MetaFileStorage
+from GenFds.FdfParser import FdfParser
+
+## A decorator used to parse macro definition
+def ParseMacro(Parser):
+ def MacroParser(self):
+ Match = gMacroDefPattern.match(self._CurrentLine)
+ if not Match:
+ # Not 'DEFINE/EDK_GLOBAL' statement, call decorated method
+ Parser(self)
+ return
+
+ TokenList = GetSplitValueList(self._CurrentLine[Match.end(1):], TAB_EQUAL_SPLIT, 1)
+ # Syntax check
+ if not TokenList[0]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No macro name given",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ if len(TokenList) < 2:
+ TokenList.append('')
+
+ Type = Match.group(1)
+ Name, Value = TokenList
+ # Global macros can be only defined via environment variable
+ if Name in GlobalData.gGlobalDefines:
+ EdkLogger.error('Parser', FORMAT_INVALID, "%s can only be defined via environment variable" % Name,
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ # Only upper case letters, digit and '_' are allowed
+ if not gMacroNamePattern.match(Name):
+ EdkLogger.error('Parser', FORMAT_INVALID, "The macro name must be in the pattern [A-Z][A-Z0-9_]*",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+
+ Value = ReplaceMacro(Value, self._Macros)
+ self._ItemType = MODEL_META_DATA_DEFINE
+ # DEFINE defined macros
+ if Type == TAB_DSC_DEFINES_DEFINE:
+ if type(self) == DecParser:
+ if MODEL_META_DATA_HEADER in self._SectionType:
+ self._FileLocalMacros[Name] = Value
+ else:
+ for Scope in self._Scope:
+ self._SectionsMacroDict.setdefault((Scope[2], Scope[0], Scope[1]), {})[Name] = Value
+ elif self._SectionType == MODEL_META_DATA_HEADER:
+ self._FileLocalMacros[Name] = Value
+ else:
+ SectionDictKey = self._SectionType, self._Scope[0][0], self._Scope[0][1]
+ if SectionDictKey not in self._SectionsMacroDict:
+ self._SectionsMacroDict[SectionDictKey] = {}
+ SectionLocalMacros = self._SectionsMacroDict[SectionDictKey]
+ SectionLocalMacros[Name] = Value
+ # EDK_GLOBAL defined macros
+ elif type(self) != DscParser:
+ EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL can only be used in .dsc file",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ elif self._SectionType != MODEL_META_DATA_HEADER:
+ EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL can only be used under [Defines] section",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ elif (Name in self._FileLocalMacros) and (self._FileLocalMacros[Name] != Value):
+ EdkLogger.error('Parser', FORMAT_INVALID, "EDK_GLOBAL defined a macro with the same name and different value as one defined by 'DEFINE'",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+
+ self._ValueList = [Type, Name, Value]
+
+ return MacroParser
+
+## Base class of parser
+#
+# This class is used for derivation purpose. The specific parser for one kind
+# type file must derive this class and implement some public interfaces.
+#
+# @param FilePath The path of platform description file
+# @param FileType The raw data of DSC file
+# @param Table Database used to retrieve module/package information
+# @param Macros Macros used for replacement in file
+# @param Owner Owner ID (for sub-section parsing)
+# @param From ID from which the data comes (for !INCLUDE directive)
+#
+class MetaFileParser(object):
+ # data type (file content) for specific file type
+ DataType = {}
+
+ # Parser objects used to implement singleton
+ MetaFiles = {}
+
+ ## Factory method
+ #
+ # One file, one parser object. This factory method makes sure that there's
+ # only one object constructed for one meta file.
+ #
+ # @param Class class object of real AutoGen class
+ # (InfParser, DecParser or DscParser)
+ # @param FilePath The path of meta file
+ # @param *args The specific class related parameters
+ # @param **kwargs The specific class related dict parameters
+ #
+ def __new__(Class, FilePath, *args, **kwargs):
+ if FilePath in Class.MetaFiles:
+ return Class.MetaFiles[FilePath]
+ else:
+ ParserObject = super(MetaFileParser, Class).__new__(Class)
+ Class.MetaFiles[FilePath] = ParserObject
+ return ParserObject
+
+ ## Constructor of MetaFileParser
+ #
+ # Initialize object of MetaFileParser
+ #
+ # @param FilePath The path of platform description file
+ # @param FileType The raw data of DSC file
+ # @param Table Database used to retrieve module/package information
+ # @param Macros Macros used for replacement in file
+ # @param Owner Owner ID (for sub-section parsing)
+ # @param From ID from which the data comes (for !INCLUDE directive)
+ #
+ def __init__(self, FilePath, FileType, Table, Owner=-1, From=-1):
+ self._Table = Table
+ self._RawTable = Table
+ self._FileType = FileType
+ self.MetaFile = FilePath
+ self._Defines = {}
+ self._FileLocalMacros = {}
+ self._SectionsMacroDict = {}
+
+ # for recursive parsing
+ self._Owner = [Owner]
+ self._From = From
+
+ # parsr status for parsing
+ self._ValueList = ['', '', '', '', '']
+ self._Scope = []
+ self._LineIndex = 0
+ self._CurrentLine = ''
+ self._SectionType = MODEL_UNKNOWN
+ self._SectionName = ''
+ self._InSubsection = False
+ self._SubsectionType = MODEL_UNKNOWN
+ self._SubsectionName = ''
+ self._ItemType = MODEL_UNKNOWN
+ self._LastItem = -1
+ self._Enabled = 0
+ self._Finished = False
+ self._PostProcessed = False
+ # Different version of meta-file has different way to parse.
+ self._Version = 0
+
+ ## Store the parsed data in table
+ def _Store(self, *Args):
+ return self._Table.Insert(*Args)
+
+ ## Virtual method for starting parse
+ def Start(self):
+ raise NotImplementedError
+
+ ## Notify a post-process is needed
+ def DoPostProcess(self):
+ self._PostProcessed = False
+
+ ## Set parsing complete flag in both class and table
+ def _Done(self):
+ self._Finished = True
+ ## Do not set end flag when processing included files
+ if self._From == -1:
+ self._Table.SetEndFlag()
+
+ def _PostProcess(self):
+ self._PostProcessed = True
+
+ ## Get the parse complete flag
+ def _GetFinished(self):
+ return self._Finished
+
+ ## Set the complete flag
+ def _SetFinished(self, Value):
+ self._Finished = Value
+
+ ## Use [] style to query data in table, just for readability
+ #
+ # DataInfo = [data_type, scope1(arch), scope2(platform/moduletype)]
+ #
+ def __getitem__(self, DataInfo):
+ if type(DataInfo) != type(()):
+ DataInfo = (DataInfo,)
+
+ # Parse the file first, if necessary
+ if not self._Finished:
+ if self._RawTable.IsIntegrity():
+ self._Finished = True
+ else:
+ self._Table = self._RawTable
+ self._PostProcessed = False
+ self.Start()
+
+ # No specific ARCH or Platform given, use raw data
+ if self._RawTable and (len(DataInfo) == 1 or DataInfo[1] == None):
+ return self._RawTable.Query(*DataInfo)
+
+ # Do post-process if necessary
+ if not self._PostProcessed:
+ self._PostProcess()
+
+ return self._Table.Query(*DataInfo)
+
+ ## Data parser for the common format in different type of file
+ #
+ # The common format in the meatfile is like
+ #
+ # xxx1 | xxx2 | xxx3
+ #
+ @ParseMacro
+ def _CommonParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ self._ValueList[0:len(TokenList)] = TokenList
+
+ ## Data parser for the format in which there's path
+ #
+ # Only path can have macro used. So we need to replace them before use.
+ #
+ @ParseMacro
+ def _PathParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ self._ValueList[0:len(TokenList)] = TokenList
+ # Don't do macro replacement for dsc file at this point
+ if type(self) != DscParser:
+ Macros = self._Macros
+ self._ValueList = [ReplaceMacro(Value, Macros) for Value in self._ValueList]
+
+ ## Skip unsupported data
+ def _Skip(self):
+ EdkLogger.warn("Parser", "Unrecognized content", File=self.MetaFile,
+ Line=self._LineIndex+1, ExtraData=self._CurrentLine);
+ self._ValueList[0:1] = [self._CurrentLine]
+
+ ## Section header parser
+ #
+ # The section header is always in following format:
+ #
+ # [section_name.arch<.platform|module_type>]
+ #
+ def _SectionHeaderParser(self):
+ self._Scope = []
+ self._SectionName = ''
+ ArchList = set()
+ for Item in GetSplitValueList(self._CurrentLine[1:-1], TAB_COMMA_SPLIT):
+ if Item == '':
+ continue
+ ItemList = GetSplitValueList(Item, TAB_SPLIT)
+ # different section should not mix in one section
+ if self._SectionName != '' and self._SectionName != ItemList[0].upper():
+ EdkLogger.error('Parser', FORMAT_INVALID, "Different section names in the same section",
+ File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+ self._SectionName = ItemList[0].upper()
+ if self._SectionName in self.DataType:
+ self._SectionType = self.DataType[self._SectionName]
+ else:
+ self._SectionType = MODEL_UNKNOWN
+ EdkLogger.warn("Parser", "Unrecognized section", File=self.MetaFile,
+ Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+ # S1 is always Arch
+ if len(ItemList) > 1:
+ S1 = ItemList[1].upper()
+ else:
+ S1 = 'COMMON'
+ ArchList.add(S1)
+ # S2 may be Platform or ModuleType
+ if len(ItemList) > 2:
+ S2 = ItemList[2].upper()
+ else:
+ S2 = 'COMMON'
+ self._Scope.append([S1, S2])
+
+ # 'COMMON' must not be used with specific ARCHs at the same section
+ if 'COMMON' in ArchList and len(ArchList) > 1:
+ EdkLogger.error('Parser', FORMAT_INVALID, "'common' ARCH must not be used with specific ARCHs",
+ File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+ # If the section information is needed later, it should be stored in database
+ self._ValueList[0] = self._SectionName
+
+ ## [defines] section parser
+ @ParseMacro
+ def _DefineParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ self._ValueList[1:len(TokenList)] = TokenList
+ if not self._ValueList[1]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No name specified",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ if not self._ValueList[2]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No value specified",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+
+ self._ValueList = [ReplaceMacro(Value, self._Macros) for Value in self._ValueList]
+ Name, Value = self._ValueList[1], self._ValueList[2]
+ # Sometimes, we need to make differences between EDK and EDK2 modules
+ if Name == 'INF_VERSION':
+ try:
+ self._Version = int(Value, 0)
+ except:
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+
+ if type(self) == InfParser and self._Version < 0x00010005:
+ # EDK module allows using defines as macros
+ self._FileLocalMacros[Name] = Value
+ self._Defines[Name] = Value
+
+ ## [BuildOptions] section parser
+ @ParseMacro
+ def _BuildOptionParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ TokenList2 = GetSplitValueList(TokenList[0], ':', 1)
+ if len(TokenList2) == 2:
+ self._ValueList[0] = TokenList2[0] # toolchain family
+ self._ValueList[1] = TokenList2[1] # keys
+ else:
+ self._ValueList[1] = TokenList[0]
+ if len(TokenList) == 2 and type(self) != DscParser: # value
+ self._ValueList[2] = ReplaceMacro(TokenList[1], self._Macros)
+
+ if self._ValueList[1].count('_') != 4:
+ EdkLogger.error(
+ 'Parser',
+ FORMAT_INVALID,
+ "'%s' must be in format of <TARGET>_<TOOLCHAIN>_<ARCH>_<TOOL>_FLAGS" % self._ValueList[1],
+ ExtraData=self._CurrentLine,
+ File=self.MetaFile,
+ Line=self._LineIndex+1
+ )
+
+ def _GetMacros(self):
+ Macros = {}
+ Macros.update(self._FileLocalMacros)
+ Macros.update(self._GetApplicableSectionMacro())
+ return Macros
+
+
+ ## Get section Macros that are applicable to current line, which may come from other sections
+ ## that share the same name while scope is wider
+ def _GetApplicableSectionMacro(self):
+ Macros = {}
+ for Scope1, Scope2 in [("COMMON", "COMMON"), ("COMMON", self._Scope[0][1]),
+ (self._Scope[0][0], "COMMON"), (self._Scope[0][0], self._Scope[0][1])]:
+ if (self._SectionType, Scope1, Scope2) in self._SectionsMacroDict:
+ Macros.update(self._SectionsMacroDict[(self._SectionType, Scope1, Scope2)])
+ return Macros
+
+ _SectionParser = {}
+ Finished = property(_GetFinished, _SetFinished)
+ _Macros = property(_GetMacros)
+
+
+## INF file parser class
+#
+# @param FilePath The path of platform description file
+# @param FileType The raw data of DSC file
+# @param Table Database used to retrieve module/package information
+# @param Macros Macros used for replacement in file
+#
+class InfParser(MetaFileParser):
+ # INF file supported data types (one type per section)
+ DataType = {
+ TAB_UNKNOWN.upper() : MODEL_UNKNOWN,
+ TAB_INF_DEFINES.upper() : MODEL_META_DATA_HEADER,
+ TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE,
+ TAB_BUILD_OPTIONS.upper() : MODEL_META_DATA_BUILD_OPTION,
+ TAB_INCLUDES.upper() : MODEL_EFI_INCLUDE,
+ TAB_LIBRARIES.upper() : MODEL_EFI_LIBRARY_INSTANCE,
+ TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS,
+ TAB_PACKAGES.upper() : MODEL_META_DATA_PACKAGE,
+ TAB_NMAKE.upper() : MODEL_META_DATA_NMAKE,
+ TAB_INF_FIXED_PCD.upper() : MODEL_PCD_FIXED_AT_BUILD,
+ TAB_INF_PATCH_PCD.upper() : MODEL_PCD_PATCHABLE_IN_MODULE,
+ TAB_INF_FEATURE_PCD.upper() : MODEL_PCD_FEATURE_FLAG,
+ TAB_INF_PCD_EX.upper() : MODEL_PCD_DYNAMIC_EX,
+ TAB_INF_PCD.upper() : MODEL_PCD_DYNAMIC,
+ TAB_SOURCES.upper() : MODEL_EFI_SOURCE_FILE,
+ TAB_GUIDS.upper() : MODEL_EFI_GUID,
+ TAB_PROTOCOLS.upper() : MODEL_EFI_PROTOCOL,
+ TAB_PPIS.upper() : MODEL_EFI_PPI,
+ TAB_DEPEX.upper() : MODEL_EFI_DEPEX,
+ TAB_BINARIES.upper() : MODEL_EFI_BINARY_FILE,
+ TAB_USER_EXTENSIONS.upper() : MODEL_META_DATA_USER_EXTENSION
+ }
+
+ ## Constructor of InfParser
+ #
+ # Initialize object of InfParser
+ #
+ # @param FilePath The path of module description file
+ # @param FileType The raw data of DSC file
+ # @param Table Database used to retrieve module/package information
+ # @param Macros Macros used for replacement in file
+ #
+ def __init__(self, FilePath, FileType, Table):
+ # prevent re-initialization
+ if hasattr(self, "_Table"):
+ return
+ MetaFileParser.__init__(self, FilePath, FileType, Table)
+ self.TblFile = EccGlobalData.gDb.TblFile
+ self.FileID = -1
+
+ ## Parser starter
+ def Start(self):
+ NmakeLine = ''
+ Content = ''
+ try:
+ Content = open(str(self.MetaFile), 'r').readlines()
+ except:
+ EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
+ #
+ # Insert a record for file
+ #
+ Filename = NormPath(self.MetaFile)
+ FileID = self.TblFile.GetFileId(Filename)
+ if FileID:
+ self.FileID = FileID
+ else:
+ self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_INF)
+
+ # parse the file line by line
+ IsFindBlockComment = False
+
+ for Index in range(0, len(Content)):
+ # skip empty, commented, block commented lines
+ Line = CleanString(Content[Index], AllowCppStyleComment=True)
+ NextLine = ''
+ if Index + 1 < len(Content):
+ NextLine = CleanString(Content[Index + 1])
+ if Line == '':
+ continue
+ if Line.find(DataType.TAB_COMMENT_EDK_START) > -1:
+ IsFindBlockComment = True
+ continue
+ if Line.find(DataType.TAB_COMMENT_EDK_END) > -1:
+ IsFindBlockComment = False
+ continue
+ if IsFindBlockComment:
+ continue
+
+ self._LineIndex = Index
+ self._CurrentLine = Line
+
+ # section header
+ if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END:
+ self._SectionHeaderParser()
+ # Check invalid sections
+ if self._Version < 0x00010005:
+ if self._SectionType in [MODEL_META_DATA_BUILD_OPTION,
+ MODEL_EFI_LIBRARY_CLASS,
+ MODEL_META_DATA_PACKAGE,
+ MODEL_PCD_FIXED_AT_BUILD,
+ MODEL_PCD_PATCHABLE_IN_MODULE,
+ MODEL_PCD_FEATURE_FLAG,
+ MODEL_PCD_DYNAMIC_EX,
+ MODEL_PCD_DYNAMIC,
+ MODEL_EFI_GUID,
+ MODEL_EFI_PROTOCOL,
+ MODEL_EFI_PPI,
+ MODEL_META_DATA_USER_EXTENSION]:
+ EdkLogger.error('Parser', FORMAT_INVALID,
+ "Section [%s] is not allowed in inf file without version" % (self._SectionName),
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ elif self._SectionType in [MODEL_EFI_INCLUDE,
+ MODEL_EFI_LIBRARY_INSTANCE,
+ MODEL_META_DATA_NMAKE]:
+ EdkLogger.error('Parser', FORMAT_INVALID,
+ "Section [%s] is not allowed in inf file with version 0x%08x" % (self._SectionName, self._Version),
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ continue
+ # merge two lines specified by '\' in section NMAKE
+ elif self._SectionType == MODEL_META_DATA_NMAKE:
+ if Line[-1] == '\\':
+ if NextLine == '':
+ self._CurrentLine = NmakeLine + Line[0:-1]
+ NmakeLine = ''
+ else:
+ if NextLine[0] == TAB_SECTION_START and NextLine[-1] == TAB_SECTION_END:
+ self._CurrentLine = NmakeLine + Line[0:-1]
+ NmakeLine = ''
+ else:
+ NmakeLine = NmakeLine + ' ' + Line[0:-1]
+ continue
+ else:
+ self._CurrentLine = NmakeLine + Line
+ NmakeLine = ''
+
+ # section content
+ self._ValueList = ['','','']
+ # parse current line, result will be put in self._ValueList
+ self._SectionParser[self._SectionType](self)
+ if self._ValueList == None or self._ItemType == MODEL_META_DATA_DEFINE:
+ self._ItemType = -1
+ continue
+ #
+ # Model, Value1, Value2, Value3, Arch, Platform, BelongsToItem=-1,
+ # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
+ #
+ self._ValueList[0] = self._ValueList[0].replace('/', '\\')
+ for Arch, Platform in self._Scope:
+ self._Store(self._SectionType,
+ self._ValueList[0],
+ self._ValueList[1],
+ self._ValueList[2],
+ Arch,
+ Platform,
+ self._Owner[-1],
+ self.FileID,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ 0
+ )
+ if IsFindBlockComment:
+ EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments (starting with /*) are expected to end with */",
+ File=self.MetaFile)
+ self._Done()
+
+ ## Data parser for the format in which there's path
+ #
+ # Only path can have macro used. So we need to replace them before use.
+ #
+ def _IncludeParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ self._ValueList[0:len(TokenList)] = TokenList
+ Macros = self._Macros
+ if Macros:
+ for Index in range(0, len(self._ValueList)):
+ Value = self._ValueList[Index]
+ if not Value:
+ continue
+
+ if Value.upper().find('$(EFI_SOURCE)\Edk'.upper()) > -1 or Value.upper().find('$(EFI_SOURCE)/Edk'.upper()) > -1:
+ Value = '$(EDK_SOURCE)' + Value[17:]
+ if Value.find('$(EFI_SOURCE)') > -1 or Value.find('$(EDK_SOURCE)') > -1:
+ pass
+ elif Value.startswith('.'):
+ pass
+ elif Value.startswith('$('):
+ pass
+ else:
+ Value = '$(EFI_SOURCE)/' + Value
+
+ self._ValueList[Index] = ReplaceMacro(Value, Macros)
+
+ ## Parse [Sources] section
+ #
+ # Only path can have macro used. So we need to replace them before use.
+ #
+ @ParseMacro
+ def _SourceFileParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ self._ValueList[0:len(TokenList)] = TokenList
+ Macros = self._Macros
+ # For Acpi tables, remove macro like ' TABLE_NAME=Sata1'
+ if 'COMPONENT_TYPE' in Macros:
+ if self._Defines['COMPONENT_TYPE'].upper() == 'ACPITABLE':
+ self._ValueList[0] = GetSplitValueList(self._ValueList[0], ' ', 1)[0]
+ if self._Defines['BASE_NAME'] == 'Microcode':
+ pass
+ self._ValueList = [ReplaceMacro(Value, Macros) for Value in self._ValueList]
+
+ ## Parse [Binaries] section
+ #
+ # Only path can have macro used. So we need to replace them before use.
+ #
+ @ParseMacro
+ def _BinaryFileParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 2)
+ if len(TokenList) < 2:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No file type or path specified",
+ ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if not TokenList[0]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No file type specified",
+ ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if not TokenList[1]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No file path specified",
+ ExtraData=self._CurrentLine + " (<FileType> | <FilePath> [| <Target>])",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ self._ValueList[0:len(TokenList)] = TokenList
+ self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros)
+
+ ## [nmake] section parser (Edk.x style only)
+ def _NmakeParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ self._ValueList[0:len(TokenList)] = TokenList
+ # remove macros
+ self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros)
+ # remove self-reference in macro setting
+ #self._ValueList[1] = ReplaceMacro(self._ValueList[1], {self._ValueList[0]:''})
+
+ ## [FixedPcd], [FeaturePcd], [PatchPcd], [Pcd] and [PcdEx] sections parser
+ @ParseMacro
+ def _PcdParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
+ ValueList = GetSplitValueList(TokenList[0], TAB_SPLIT)
+ if len(ValueList) != 2:
+ EdkLogger.error('Parser', FORMAT_INVALID, "Illegal token space GUID and PCD name format",
+ ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<PcdCName>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ self._ValueList[0:1] = ValueList
+ if len(TokenList) > 1:
+ self._ValueList[2] = TokenList[1]
+ if self._ValueList[0] == '' or self._ValueList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified",
+ ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<PcdCName>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+
+ # if value are 'True', 'true', 'TRUE' or 'False', 'false', 'FALSE', replace with integer 1 or 0.
+ if self._ValueList[2] != '':
+ InfPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1)
+ if InfPcdValueList[0] in ['True', 'true', 'TRUE']:
+ self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '1', 1);
+ elif InfPcdValueList[0] in ['False', 'false', 'FALSE']:
+ self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '0', 1);
+
+ ## [depex] section parser
+ @ParseMacro
+ def _DepexParser(self):
+ self._ValueList[0:1] = [self._CurrentLine]
+
+ _SectionParser = {
+ MODEL_UNKNOWN : MetaFileParser._Skip,
+ MODEL_META_DATA_HEADER : MetaFileParser._DefineParser,
+ MODEL_META_DATA_BUILD_OPTION : MetaFileParser._BuildOptionParser,
+ MODEL_EFI_INCLUDE : _IncludeParser, # for Edk.x modules
+ MODEL_EFI_LIBRARY_INSTANCE : MetaFileParser._CommonParser, # for Edk.x modules
+ MODEL_EFI_LIBRARY_CLASS : MetaFileParser._PathParser,
+ MODEL_META_DATA_PACKAGE : MetaFileParser._PathParser,
+ MODEL_META_DATA_NMAKE : _NmakeParser, # for Edk.x modules
+ MODEL_PCD_FIXED_AT_BUILD : _PcdParser,
+ MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser,
+ MODEL_PCD_FEATURE_FLAG : _PcdParser,
+ MODEL_PCD_DYNAMIC_EX : _PcdParser,
+ MODEL_PCD_DYNAMIC : _PcdParser,
+ MODEL_EFI_SOURCE_FILE : _SourceFileParser,
+ MODEL_EFI_GUID : MetaFileParser._CommonParser,
+ MODEL_EFI_PROTOCOL : MetaFileParser._CommonParser,
+ MODEL_EFI_PPI : MetaFileParser._CommonParser,
+ MODEL_EFI_DEPEX : _DepexParser,
+ MODEL_EFI_BINARY_FILE : _BinaryFileParser,
+ MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip,
+ }
+
+## DSC file parser class
+#
+# @param FilePath The path of platform description file
+# @param FileType The raw data of DSC file
+# @param Table Database used to retrieve module/package information
+# @param Macros Macros used for replacement in file
+# @param Owner Owner ID (for sub-section parsing)
+# @param From ID from which the data comes (for !INCLUDE directive)
+#
+class DscParser(MetaFileParser):
+ # DSC file supported data types (one type per section)
+ DataType = {
+ TAB_SKUIDS.upper() : MODEL_EFI_SKU_ID,
+ TAB_LIBRARIES.upper() : MODEL_EFI_LIBRARY_INSTANCE,
+ TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS,
+ TAB_BUILD_OPTIONS.upper() : MODEL_META_DATA_BUILD_OPTION,
+ TAB_PCDS_FIXED_AT_BUILD_NULL.upper() : MODEL_PCD_FIXED_AT_BUILD,
+ TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper() : MODEL_PCD_PATCHABLE_IN_MODULE,
+ TAB_PCDS_FEATURE_FLAG_NULL.upper() : MODEL_PCD_FEATURE_FLAG,
+ TAB_PCDS_DYNAMIC_DEFAULT_NULL.upper() : MODEL_PCD_DYNAMIC_DEFAULT,
+ TAB_PCDS_DYNAMIC_HII_NULL.upper() : MODEL_PCD_DYNAMIC_HII,
+ TAB_PCDS_DYNAMIC_VPD_NULL.upper() : MODEL_PCD_DYNAMIC_VPD,
+ TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL.upper() : MODEL_PCD_DYNAMIC_EX_DEFAULT,
+ TAB_PCDS_DYNAMIC_EX_HII_NULL.upper() : MODEL_PCD_DYNAMIC_EX_HII,
+ TAB_PCDS_DYNAMIC_EX_VPD_NULL.upper() : MODEL_PCD_DYNAMIC_EX_VPD,
+ TAB_COMPONENTS.upper() : MODEL_META_DATA_COMPONENT,
+ TAB_COMPONENTS_SOURCE_OVERRIDE_PATH.upper() : MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH,
+ TAB_DSC_DEFINES.upper() : MODEL_META_DATA_HEADER,
+ TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE,
+ TAB_DSC_DEFINES_EDKGLOBAL : MODEL_META_DATA_GLOBAL_DEFINE,
+ TAB_INCLUDE.upper() : MODEL_META_DATA_INCLUDE,
+ TAB_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IF,
+ TAB_IF_DEF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF,
+ TAB_IF_N_DEF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF,
+ TAB_ELSE_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF,
+ TAB_ELSE.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE,
+ TAB_END_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF,
+ }
+
+ # Valid names in define section
+ DefineKeywords = [
+ "DSC_SPECIFICATION",
+ "PLATFORM_NAME",
+ "PLATFORM_GUID",
+ "PLATFORM_VERSION",
+ "SKUID_IDENTIFIER",
+ "PCD_INFO_GENERATION",
+ "SUPPORTED_ARCHITECTURES",
+ "BUILD_TARGETS",
+ "OUTPUT_DIRECTORY",
+ "FLASH_DEFINITION",
+ "BUILD_NUMBER",
+ "RFC_LANGUAGES",
+ "ISO_LANGUAGES",
+ "TIME_STAMP_FILE",
+ "VPD_TOOL_GUID",
+ "FIX_LOAD_TOP_MEMORY_ADDRESS"
+ ]
+
+ SymbolPattern = ValueExpression.SymbolPattern
+
+ ## Constructor of DscParser
+ #
+ # Initialize object of DscParser
+ #
+ # @param FilePath The path of platform description file
+ # @param FileType The raw data of DSC file
+ # @param Table Database used to retrieve module/package information
+ # @param Macros Macros used for replacement in file
+ # @param Owner Owner ID (for sub-section parsing)
+ # @param From ID from which the data comes (for !INCLUDE directive)
+ #
+ def __init__(self, FilePath, FileType, Table, Owner=-1, From=-1):
+ # prevent re-initialization
+ if hasattr(self, "_Table"):
+ return
+ MetaFileParser.__init__(self, FilePath, FileType, Table, Owner, From)
+ self._Version = 0x00010005 # Only EDK2 dsc file is supported
+ # to store conditional directive evaluation result
+ self._DirectiveStack = []
+ self._DirectiveEvalStack = []
+ self._Enabled = 1
+
+ # Final valid replacable symbols
+ self._Symbols = {}
+ #
+ # Map the ID between the original table and new table to track
+ # the owner item
+ #
+ self._IdMapping = {-1:-1}
+
+ self.TblFile = EccGlobalData.gDb.TblFile
+ self.FileID = -1
+
+ ## Parser starter
+ def Start(self):
+ Content = ''
+ try:
+ Content = open(str(self.MetaFile.Path), 'r').readlines()
+ except:
+ EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
+ #
+ # Insert a record for file
+ #
+ Filename = NormPath(self.MetaFile.Path)
+ FileID = self.TblFile.GetFileId(Filename)
+ if FileID:
+ self.FileID = FileID
+ else:
+ self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_DSC)
+
+
+ for Index in range(0, len(Content)):
+ Line = CleanString(Content[Index])
+ # skip empty line
+ if Line == '':
+ continue
+
+ self._CurrentLine = Line
+ self._LineIndex = Index
+ if self._InSubsection and self._Owner[-1] == -1:
+ self._Owner.append(self._LastItem)
+
+ # section header
+ if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END:
+ self._SectionType = MODEL_META_DATA_SECTION_HEADER
+ # subsection ending
+ elif Line[0] == '}' and self._InSubsection:
+ self._InSubsection = False
+ self._SubsectionType = MODEL_UNKNOWN
+ self._SubsectionName = ''
+ self._Owner[-1] = -1
+ continue
+ # subsection header
+ elif Line[0] == TAB_OPTION_START and Line[-1] == TAB_OPTION_END:
+ self._SubsectionType = MODEL_META_DATA_SUBSECTION_HEADER
+ # directive line
+ elif Line[0] == '!':
+ self._DirectiveParser()
+ continue
+
+ if self._InSubsection:
+ SectionType = self._SubsectionType
+ else:
+ SectionType = self._SectionType
+ self._ItemType = SectionType
+
+ self._ValueList = ['', '', '']
+ self._SectionParser[SectionType](self)
+ if self._ValueList == None:
+ continue
+ #
+ # Model, Value1, Value2, Value3, Arch, ModuleType, BelongsToItem=-1, BelongsToFile=-1,
+ # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
+ #
+ for Arch, ModuleType in self._Scope:
+ self._LastItem = self._Store(
+ self._ItemType,
+ self._ValueList[0],
+ self._ValueList[1],
+ self._ValueList[2],
+ Arch,
+ ModuleType,
+ self._Owner[-1],
+ self.FileID,
+ self._From,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ self._Enabled
+ )
+
+ if self._DirectiveStack:
+ Type, Line, Text = self._DirectiveStack[-1]
+ EdkLogger.error('Parser', FORMAT_INVALID, "No matching '!endif' found",
+ ExtraData=Text, File=self.MetaFile, Line=Line)
+ self._Done()
+
+ ## <subsection_header> parser
+ def _SubsectionHeaderParser(self):
+ self._SubsectionName = self._CurrentLine[1:-1].upper()
+ if self._SubsectionName in self.DataType:
+ self._SubsectionType = self.DataType[self._SubsectionName]
+ else:
+ self._SubsectionType = MODEL_UNKNOWN
+ EdkLogger.warn("Parser", "Unrecognized sub-section", File=self.MetaFile,
+ Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+ self._ValueList[0] = self._SubsectionName
+
+ ## Directive statement parser
+ def _DirectiveParser(self):
+ self._ValueList = ['','','']
+ TokenList = GetSplitValueList(self._CurrentLine, ' ', 1)
+ self._ValueList[0:len(TokenList)] = TokenList
+
+ # Syntax check
+ DirectiveName = self._ValueList[0].upper()
+ if DirectiveName not in self.DataType:
+ EdkLogger.error("Parser", FORMAT_INVALID, "Unknown directive [%s]" % DirectiveName,
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if DirectiveName in ['!IF', '!IFDEF', '!INCLUDE', '!IFNDEF', '!ELSEIF'] and self._ValueList[1] == '':
+ EdkLogger.error("Parser", FORMAT_INVALID, "Missing expression",
+ File=self.MetaFile, Line=self._LineIndex+1,
+ ExtraData=self._CurrentLine)
+
+ ItemType = self.DataType[DirectiveName]
+ if ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF:
+ # Remove all directives between !if and !endif, including themselves
+ while self._DirectiveStack:
+ # Remove any !else or !elseif
+ DirectiveInfo = self._DirectiveStack.pop()
+ if DirectiveInfo[0] in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]:
+ break
+ else:
+ EdkLogger.error("Parser", FORMAT_INVALID, "Redundant '!endif'",
+ File=self.MetaFile, Line=self._LineIndex+1,
+ ExtraData=self._CurrentLine)
+ elif ItemType != MODEL_META_DATA_INCLUDE:
+ # Break if there's a !else is followed by a !elseif
+ if ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF and \
+ self._DirectiveStack and \
+ self._DirectiveStack[-1][0] == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE:
+ EdkLogger.error("Parser", FORMAT_INVALID, "'!elseif' after '!else'",
+ File=self.MetaFile, Line=self._LineIndex+1,
+ ExtraData=self._CurrentLine)
+ self._DirectiveStack.append((ItemType, self._LineIndex+1, self._CurrentLine))
+ elif self._From > 0:
+ EdkLogger.error('Parser', FORMAT_INVALID,
+ "No '!include' allowed in included file",
+ ExtraData=self._CurrentLine, File=self.MetaFile,
+ Line=self._LineIndex+1)
+
+ #
+ # Model, Value1, Value2, Value3, Arch, ModuleType, BelongsToItem=-1, BelongsToFile=-1,
+ # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
+ #
+ self._LastItem = self._Store(
+ ItemType,
+ self._ValueList[0],
+ self._ValueList[1],
+ self._ValueList[2],
+ 'COMMON',
+ 'COMMON',
+ self._Owner[-1],
+ self.FileID,
+ self._From,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ 0
+ )
+
+ ## [defines] section parser
+ @ParseMacro
+ def _DefineParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ self._ValueList[1:len(TokenList)] = TokenList
+
+ # Syntax check
+ if not self._ValueList[1]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No name specified",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ if not self._ValueList[2]:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No value specified",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ if not self._ValueList[1] in self.DefineKeywords:
+ EdkLogger.error('Parser', FORMAT_INVALID,
+ "Unknown keyword found: %s. "
+ "If this is a macro you must "
+ "add it as a DEFINE in the DSC" % self._ValueList[1],
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ self._Defines[self._ValueList[1]] = self._ValueList[2]
+ self._ItemType = self.DataType[TAB_DSC_DEFINES.upper()]
+
+ @ParseMacro
+ def _SkuIdParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ if len(TokenList) != 2:
+ EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Integer>|<UiName>'",
+ ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)
+ self._ValueList[0:len(TokenList)] = TokenList
+
+ ## Parse Edk style of library modules
+ def _LibraryInstanceParser(self):
+ self._ValueList[0] = self._CurrentLine
+
+ ## PCD sections parser
+ #
+ # [PcdsFixedAtBuild]
+ # [PcdsPatchableInModule]
+ # [PcdsFeatureFlag]
+ # [PcdsDynamicEx
+ # [PcdsDynamicExDefault]
+ # [PcdsDynamicExVpd]
+ # [PcdsDynamicExHii]
+ # [PcdsDynamic]
+ # [PcdsDynamicDefault]
+ # [PcdsDynamicVpd]
+ # [PcdsDynamicHii]
+ #
+ @ParseMacro
+ def _PcdParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
+ self._ValueList[0:1] = GetSplitValueList(TokenList[0], TAB_SPLIT)
+ if len(TokenList) == 2:
+ self._ValueList[2] = TokenList[1]
+ if self._ValueList[0] == '' or self._ValueList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified",
+ ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if self._ValueList[2] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No PCD value given",
+ ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # if value are 'True', 'true', 'TRUE' or 'False', 'false', 'FALSE', replace with integer 1 or 0.
+ DscPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1)
+ if DscPcdValueList[0] in ['True', 'true', 'TRUE']:
+ self._ValueList[2] = TokenList[1].replace(DscPcdValueList[0], '1', 1);
+ elif DscPcdValueList[0] in ['False', 'false', 'FALSE']:
+ self._ValueList[2] = TokenList[1].replace(DscPcdValueList[0], '0', 1);
+
+ ## [components] section parser
+ @ParseMacro
+ def _ComponentParser(self):
+ if self._CurrentLine[-1] == '{':
+ self._ValueList[0] = self._CurrentLine[0:-1].strip()
+ self._InSubsection = True
+ else:
+ self._ValueList[0] = self._CurrentLine
+
+ ## [LibraryClasses] section
+ @ParseMacro
+ def _LibraryClassParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)
+ if len(TokenList) < 2:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No library class or instance specified",
+ ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if TokenList[0] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No library class specified",
+ ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if TokenList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No library instance specified",
+ ExtraData=self._CurrentLine + " (<LibraryClassName>|<LibraryInstancePath>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+
+ self._ValueList[0:len(TokenList)] = TokenList
+
+ def _CompponentSourceOverridePathParser(self):
+ self._ValueList[0] = self._CurrentLine
+
+ ## [BuildOptions] section parser
+ @ParseMacro
+ def _BuildOptionParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ TokenList2 = GetSplitValueList(TokenList[0], ':', 1)
+ if len(TokenList2) == 2:
+ self._ValueList[0] = TokenList2[0] # toolchain family
+ self._ValueList[1] = TokenList2[1] # keys
+ else:
+ self._ValueList[1] = TokenList[0]
+ if len(TokenList) == 2: # value
+ self._ValueList[2] = TokenList[1]
+
+ if self._ValueList[1].count('_') != 4:
+ EdkLogger.error(
+ 'Parser',
+ FORMAT_INVALID,
+ "'%s' must be in format of <TARGET>_<TOOLCHAIN>_<ARCH>_<TOOL>_FLAGS" % self._ValueList[1],
+ ExtraData=self._CurrentLine,
+ File=self.MetaFile,
+ Line=self._LineIndex+1
+ )
+
+ ## Override parent's method since we'll do all macro replacements in parser
+ def _GetMacros(self):
+ Macros = {}
+ Macros.update(self._FileLocalMacros)
+ Macros.update(self._GetApplicableSectionMacro())
+ Macros.update(GlobalData.gEdkGlobal)
+ Macros.update(GlobalData.gPlatformDefines)
+ Macros.update(GlobalData.gCommandLineDefines)
+ # PCD cannot be referenced in macro definition
+ if self._ItemType not in [MODEL_META_DATA_DEFINE, MODEL_META_DATA_GLOBAL_DEFINE]:
+ Macros.update(self._Symbols)
+ return Macros
+
+ def _PostProcess(self):
+ Processer = {
+ MODEL_META_DATA_SECTION_HEADER : self.__ProcessSectionHeader,
+ MODEL_META_DATA_SUBSECTION_HEADER : self.__ProcessSubsectionHeader,
+ MODEL_META_DATA_HEADER : self.__ProcessDefine,
+ MODEL_META_DATA_DEFINE : self.__ProcessDefine,
+ MODEL_META_DATA_GLOBAL_DEFINE : self.__ProcessDefine,
+ MODEL_META_DATA_INCLUDE : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IF : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF : self.__ProcessDirective,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF : self.__ProcessDirective,
+ MODEL_EFI_SKU_ID : self.__ProcessSkuId,
+ MODEL_EFI_LIBRARY_INSTANCE : self.__ProcessLibraryInstance,
+ MODEL_EFI_LIBRARY_CLASS : self.__ProcessLibraryClass,
+ MODEL_PCD_FIXED_AT_BUILD : self.__ProcessPcd,
+ MODEL_PCD_PATCHABLE_IN_MODULE : self.__ProcessPcd,
+ MODEL_PCD_FEATURE_FLAG : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_DEFAULT : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_HII : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_VPD : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_EX_DEFAULT : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_EX_HII : self.__ProcessPcd,
+ MODEL_PCD_DYNAMIC_EX_VPD : self.__ProcessPcd,
+ MODEL_META_DATA_COMPONENT : self.__ProcessComponent,
+ MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : self.__ProcessSourceOverridePath,
+ MODEL_META_DATA_BUILD_OPTION : self.__ProcessBuildOption,
+ MODEL_UNKNOWN : self._Skip,
+ MODEL_META_DATA_USER_EXTENSION : self._Skip,
+ }
+
+ self._RawTable = self._Table
+ self._Table = MetaFileStorage(self._RawTable.Cur, self.MetaFile, MODEL_FILE_DSC, True)
+ self._DirectiveStack = []
+ self._DirectiveEvalStack = []
+ self._FileWithError = self.MetaFile
+ self._FileLocalMacros = {}
+ self._SectionsMacroDict = {}
+ GlobalData.gPlatformDefines = {}
+
+ # Get all macro and PCD which has straitforward value
+ self.__RetrievePcdValue()
+ self._Content = self._RawTable.GetAll()
+ self._ContentIndex = 0
+ while self._ContentIndex < len(self._Content) :
+ Id, self._ItemType, V1, V2, V3, S1, S2, Owner, BelongsToFile, self._From, \
+ LineStart, ColStart, LineEnd, ColEnd, Enabled = self._Content[self._ContentIndex]
+
+ if self._From < 0:
+ self._FileWithError = self.MetaFile
+
+ self._ContentIndex += 1
+
+ self._Scope = [[S1, S2]]
+ self._LineIndex = LineStart - 1
+ self._ValueList = [V1, V2, V3]
+
+ try:
+ Processer[self._ItemType]()
+ except EvaluationException, Excpt:
+ #
+ # Only catch expression evaluation error here. We need to report
+ # the precise number of line on which the error occurred
+ #
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid expression: %s" % str(Excpt),
+ File=self._FileWithError, ExtraData=' '.join(self._ValueList),
+ Line=self._LineIndex+1)
+ except MacroException, Excpt:
+ EdkLogger.error('Parser', FORMAT_INVALID, str(Excpt),
+ File=self._FileWithError, ExtraData=' '.join(self._ValueList),
+ Line=self._LineIndex+1)
+
+ if self._ValueList == None:
+ continue
+
+ NewOwner = self._IdMapping.get(Owner, -1)
+ self._Enabled = int((not self._DirectiveEvalStack) or (False not in self._DirectiveEvalStack))
+ self._LastItem = self._Store(
+ self._ItemType,
+ self._ValueList[0],
+ self._ValueList[1],
+ self._ValueList[2],
+ S1,
+ S2,
+ NewOwner,
+ BelongsToFile,
+ self._From,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ self._Enabled
+ )
+ self._IdMapping[Id] = self._LastItem
+
+ RecordList = self._Table.GetAll()
+
+ self._RawTable.Drop()
+ self._Table.Drop()
+ for Record in RecordList:
+ EccGlobalData.gDb.TblDsc.Insert(Record[1],Record[2],Record[3],Record[4],Record[5],Record[6],Record[7],Record[8],Record[9],Record[10],Record[11],Record[12],Record[13],Record[14])
+ GlobalData.gPlatformDefines.update(self._FileLocalMacros)
+ self._PostProcessed = True
+ self._Content = None
+
+ def __ProcessSectionHeader(self):
+ self._SectionName = self._ValueList[0]
+ if self._SectionName in self.DataType:
+ self._SectionType = self.DataType[self._SectionName]
+ else:
+ self._SectionType = MODEL_UNKNOWN
+
+ def __ProcessSubsectionHeader(self):
+ self._SubsectionName = self._ValueList[0]
+ if self._SubsectionName in self.DataType:
+ self._SubsectionType = self.DataType[self._SubsectionName]
+ else:
+ self._SubsectionType = MODEL_UNKNOWN
+
+ def __RetrievePcdValue(self):
+ Records = self._RawTable.Query(MODEL_PCD_FEATURE_FLAG, BelongsToItem=-1.0)
+ for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records:
+ Value, DatumType, MaxDatumSize = AnalyzePcdData(Value)
+ # Only use PCD whose value is straitforward (no macro and PCD)
+ if self.SymbolPattern.findall(Value):
+ continue
+ Name = TokenSpaceGuid + '.' + PcdName
+ # Don't use PCD with different values.
+ if Name in self._Symbols and self._Symbols[Name] != Value:
+ self._Symbols.pop(Name)
+ continue
+ self._Symbols[Name] = Value
+
+ Records = self._RawTable.Query(MODEL_PCD_FIXED_AT_BUILD, BelongsToItem=-1.0)
+ for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records:
+ Value, DatumType, MaxDatumSize = AnalyzePcdData(Value)
+ # Only use PCD whose value is straitforward (no macro and PCD)
+ if self.SymbolPattern.findall(Value):
+ continue
+ Name = TokenSpaceGuid+'.'+PcdName
+ # Don't use PCD with different values.
+ if Name in self._Symbols and self._Symbols[Name] != Value:
+ self._Symbols.pop(Name)
+ continue
+ self._Symbols[Name] = Value
+
+ def __ProcessDefine(self):
+ if not self._Enabled:
+ return
+
+ Type, Name, Value = self._ValueList
+ Value = ReplaceMacro(Value, self._Macros, False)
+ if self._ItemType == MODEL_META_DATA_DEFINE:
+ if self._SectionType == MODEL_META_DATA_HEADER:
+ self._FileLocalMacros[Name] = Value
+ else:
+ SectionDictKey = self._SectionType, self._Scope[0][0], self._Scope[0][1]
+ if SectionDictKey not in self._SectionsMacroDict:
+ self._SectionsMacroDict[SectionDictKey] = {}
+ SectionLocalMacros = self._SectionsMacroDict[SectionDictKey]
+ SectionLocalMacros[Name] = Value
+ elif self._ItemType == MODEL_META_DATA_GLOBAL_DEFINE:
+ GlobalData.gEdkGlobal[Name] = Value
+
+ #
+ # Keyword in [Defines] section can be used as Macros
+ #
+ if (self._ItemType == MODEL_META_DATA_HEADER) and (self._SectionType == MODEL_META_DATA_HEADER):
+ self._FileLocalMacros[Name] = Value
+
+ self._ValueList = [Type, Name, Value]
+
+ def __ProcessDirective(self):
+ Result = None
+ if self._ItemType in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF]:
+ Macros = self._Macros
+ Macros.update(GlobalData.gGlobalDefines)
+ try:
+ Result = ValueExpression(self._ValueList[1], Macros)()
+ except SymbolNotFound, Exc:
+ EdkLogger.debug(EdkLogger.DEBUG_5, str(Exc), self._ValueList[1])
+ Result = False
+ except WrnExpression, Excpt:
+ #
+ # Catch expression evaluation warning here. We need to report
+ # the precise number of line and return the evaluation result
+ #
+ EdkLogger.warn('Parser', "Suspicious expression: %s" % str(Excpt),
+ File=self._FileWithError, ExtraData=' '.join(self._ValueList),
+ Line=self._LineIndex+1)
+ Result = Excpt.result
+
+ if self._ItemType in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]:
+ self._DirectiveStack.append(self._ItemType)
+ if self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_IF:
+ Result = bool(Result)
+ else:
+ Macro = self._ValueList[1]
+ Macro = Macro[2:-1] if (Macro.startswith("$(") and Macro.endswith(")")) else Macro
+ Result = Macro in self._Macros
+ if self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF:
+ Result = not Result
+ self._DirectiveEvalStack.append(Result)
+ elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF:
+ self._DirectiveStack.append(self._ItemType)
+ self._DirectiveEvalStack[-1] = not self._DirectiveEvalStack[-1]
+ self._DirectiveEvalStack.append(bool(Result))
+ elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE:
+ self._DirectiveStack[-1] = self._ItemType
+ self._DirectiveEvalStack[-1] = not self._DirectiveEvalStack[-1]
+ elif self._ItemType == MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF:
+ # Back to the nearest !if/!ifdef/!ifndef
+ while self._DirectiveStack:
+ self._DirectiveEvalStack.pop()
+ Directive = self._DirectiveStack.pop()
+ if Directive in [MODEL_META_DATA_CONDITIONAL_STATEMENT_IF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF]:
+ break
+ elif self._ItemType == MODEL_META_DATA_INCLUDE:
+ # The included file must be relative to workspace or same directory as DSC file
+ __IncludeMacros = {}
+ #
+ # Allow using system environment variables in path after !include
+ #
+ __IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE']
+ if "ECP_SOURCE" in GlobalData.gGlobalDefines.keys():
+ __IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE']
+ #
+ # During GenFds phase call DSC parser, will go into this branch.
+ #
+ elif "ECP_SOURCE" in GlobalData.gCommandLineDefines.keys():
+ __IncludeMacros['ECP_SOURCE'] = GlobalData.gCommandLineDefines['ECP_SOURCE']
+
+ __IncludeMacros['EFI_SOURCE'] = GlobalData.gGlobalDefines['EFI_SOURCE']
+ __IncludeMacros['EDK_SOURCE'] = GlobalData.gGlobalDefines['EDK_SOURCE']
+ #
+ # Allow using MACROs comes from [Defines] section to keep compatible.
+ #
+ __IncludeMacros.update(self._Macros)
+
+ IncludedFile = NormPath(ReplaceMacro(self._ValueList[1], __IncludeMacros, RaiseError=True))
+ #
+ # First search the include file under the same directory as DSC file
+ #
+ IncludedFile1 = PathClass(IncludedFile, self.MetaFile.Dir)
+ ErrorCode, ErrorInfo1 = IncludedFile1.Validate()
+ if ErrorCode != 0:
+ #
+ # Also search file under the WORKSPACE directory
+ #
+ IncludedFile1 = PathClass(IncludedFile, GlobalData.gWorkspace)
+ ErrorCode, ErrorInfo2 = IncludedFile1.Validate()
+ if ErrorCode != 0:
+ EdkLogger.error('parser', ErrorCode, File=self._FileWithError,
+ Line=self._LineIndex+1, ExtraData=ErrorInfo1 + "\n"+ ErrorInfo2)
+
+ self._FileWithError = IncludedFile1
+
+ IncludedFileTable = MetaFileStorage(self._Table.Cur, IncludedFile1, MODEL_FILE_DSC, True)
+ Owner = self._Content[self._ContentIndex-1][0]
+ Parser = DscParser(IncludedFile1, self._FileType, IncludedFileTable,
+ Owner=Owner, From=Owner)
+
+ # set the parser status with current status
+ Parser._SectionName = self._SectionName
+ Parser._SectionType = self._SectionType
+ Parser._Scope = self._Scope
+ Parser._Enabled = self._Enabled
+ # Parse the included file
+ Parser.Start()
+
+ # update current status with sub-parser's status
+ self._SectionName = Parser._SectionName
+ self._SectionType = Parser._SectionType
+ self._Scope = Parser._Scope
+ self._Enabled = Parser._Enabled
+
+ # Insert all records in the table for the included file into dsc file table
+ Records = IncludedFileTable.GetAll()
+ if Records:
+ self._Content[self._ContentIndex:self._ContentIndex] = Records
+ self._Content.pop(self._ContentIndex-1)
+ self._ValueList = None
+ self._ContentIndex -= 1
+
+ def __ProcessSkuId(self):
+ self._ValueList = [ReplaceMacro(Value, self._Macros, RaiseError=True)
+ for Value in self._ValueList]
+
+ def __ProcessLibraryInstance(self):
+ self._ValueList = [ReplaceMacro(Value, self._Macros) for Value in self._ValueList]
+
+ def __ProcessLibraryClass(self):
+ self._ValueList[1] = ReplaceMacro(self._ValueList[1], self._Macros, RaiseError=True)
+
+ def __ProcessPcd(self):
+ ValueList = GetSplitValueList(self._ValueList[2])
+ #
+ # PCD value can be an expression
+ #
+ if len(ValueList) > 1 and ValueList[1] == 'VOID*':
+ PcdValue = ValueList[0]
+ try:
+ ValueList[0] = ValueExpression(PcdValue, self._Macros)(True)
+ except WrnExpression, Value:
+ ValueList[0] = Value.result
+ else:
+ PcdValue = ValueList[-1]
+ try:
+ ValueList[-1] = ValueExpression(PcdValue, self._Macros)(True)
+ except WrnExpression, Value:
+ ValueList[-1] = Value.result
+
+ if ValueList[-1] == 'True':
+ ValueList[-1] = '1'
+ if ValueList[-1] == 'False':
+ ValueList[-1] = '0'
+
+ self._ValueList[2] = '|'.join(ValueList)
+
+ def __ProcessComponent(self):
+ self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)
+
+ def __ProcessSourceOverridePath(self):
+ self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)
+
+ def __ProcessBuildOption(self):
+ self._ValueList = [ReplaceMacro(Value, self._Macros, RaiseError=False)
+ for Value in self._ValueList]
+
+ _SectionParser = {
+ MODEL_META_DATA_HEADER : _DefineParser,
+ MODEL_EFI_SKU_ID : _SkuIdParser,
+ MODEL_EFI_LIBRARY_INSTANCE : _LibraryInstanceParser,
+ MODEL_EFI_LIBRARY_CLASS : _LibraryClassParser,
+ MODEL_PCD_FIXED_AT_BUILD : _PcdParser,
+ MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser,
+ MODEL_PCD_FEATURE_FLAG : _PcdParser,
+ MODEL_PCD_DYNAMIC_DEFAULT : _PcdParser,
+ MODEL_PCD_DYNAMIC_HII : _PcdParser,
+ MODEL_PCD_DYNAMIC_VPD : _PcdParser,
+ MODEL_PCD_DYNAMIC_EX_DEFAULT : _PcdParser,
+ MODEL_PCD_DYNAMIC_EX_HII : _PcdParser,
+ MODEL_PCD_DYNAMIC_EX_VPD : _PcdParser,
+ MODEL_META_DATA_COMPONENT : _ComponentParser,
+ MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : _CompponentSourceOverridePathParser,
+ MODEL_META_DATA_BUILD_OPTION : _BuildOptionParser,
+ MODEL_UNKNOWN : MetaFileParser._Skip,
+ MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip,
+ MODEL_META_DATA_SECTION_HEADER : MetaFileParser._SectionHeaderParser,
+ MODEL_META_DATA_SUBSECTION_HEADER : _SubsectionHeaderParser,
+ }
+
+ _Macros = property(_GetMacros)
+
+## DEC file parser class
+#
+# @param FilePath The path of platform description file
+# @param FileType The raw data of DSC file
+# @param Table Database used to retrieve module/package information
+# @param Macros Macros used for replacement in file
+#
+class DecParser(MetaFileParser):
+ # DEC file supported data types (one type per section)
+ DataType = {
+ TAB_DEC_DEFINES.upper() : MODEL_META_DATA_HEADER,
+ TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE,
+ TAB_INCLUDES.upper() : MODEL_EFI_INCLUDE,
+ TAB_LIBRARY_CLASSES.upper() : MODEL_EFI_LIBRARY_CLASS,
+ TAB_GUIDS.upper() : MODEL_EFI_GUID,
+ TAB_PPIS.upper() : MODEL_EFI_PPI,
+ TAB_PROTOCOLS.upper() : MODEL_EFI_PROTOCOL,
+ TAB_PCDS_FIXED_AT_BUILD_NULL.upper() : MODEL_PCD_FIXED_AT_BUILD,
+ TAB_PCDS_PATCHABLE_IN_MODULE_NULL.upper() : MODEL_PCD_PATCHABLE_IN_MODULE,
+ TAB_PCDS_FEATURE_FLAG_NULL.upper() : MODEL_PCD_FEATURE_FLAG,
+ TAB_PCDS_DYNAMIC_NULL.upper() : MODEL_PCD_DYNAMIC,
+ TAB_PCDS_DYNAMIC_EX_NULL.upper() : MODEL_PCD_DYNAMIC_EX,
+ }
+
+ ## Constructor of DecParser
+ #
+ # Initialize object of DecParser
+ #
+ # @param FilePath The path of platform description file
+ # @param FileType The raw data of DSC file
+ # @param Table Database used to retrieve module/package information
+ # @param Macros Macros used for replacement in file
+ #
+ def __init__(self, FilePath, FileType, Table):
+ # prevent re-initialization
+ if hasattr(self, "_Table"):
+ return
+ MetaFileParser.__init__(self, FilePath, FileType, Table)
+ self._Comments = []
+ self._Version = 0x00010005 # Only EDK2 dec file is supported
+ self.TblFile = EccGlobalData.gDb.TblFile
+ self.FileID = -1
+
+ ## Parser starter
+ def Start(self):
+ Content = ''
+ try:
+ Content = open(str(self.MetaFile), 'r').readlines()
+ except:
+ EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
+
+ #
+ # Insert a record for file
+ #
+ Filename = NormPath(self.MetaFile)
+ FileID = self.TblFile.GetFileId(Filename)
+ if FileID:
+ self.FileID = FileID
+ else:
+ self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_DEC)
+
+ for Index in range(0, len(Content)):
+ Line, Comment = CleanString2(Content[Index])
+ self._CurrentLine = Line
+ self._LineIndex = Index
+
+ # save comment for later use
+ if Comment:
+ self._Comments.append((Comment, self._LineIndex+1))
+ # skip empty line
+ if Line == '':
+ continue
+
+ # section header
+ if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END:
+ self._SectionHeaderParser()
+ self._Comments = []
+ continue
+ elif len(self._SectionType) == 0:
+ self._Comments = []
+ continue
+
+ # section content
+ self._ValueList = ['','','']
+ self._SectionParser[self._SectionType[0]](self)
+ if self._ValueList == None or self._ItemType == MODEL_META_DATA_DEFINE:
+ self._ItemType = -1
+ self._Comments = []
+ continue
+
+ #
+ # Model, Value1, Value2, Value3, Arch, BelongsToItem=-1, LineBegin=-1,
+ # ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, FeatureFlag='', Enabled=-1
+ #
+ for Arch, ModuleType, Type in self._Scope:
+ self._LastItem = self._Store(
+ Type,
+ self._ValueList[0],
+ self._ValueList[1],
+ self._ValueList[2],
+ Arch,
+ ModuleType,
+ self._Owner[-1],
+ self.FileID,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ 0
+ )
+ for Comment, LineNo in self._Comments:
+ self._Store(
+ MODEL_META_DATA_COMMENT,
+ Comment,
+ self._ValueList[0],
+ self._ValueList[1],
+ Arch,
+ ModuleType,
+ self._LastItem,
+ self.FileID,
+ LineNo,
+ -1,
+ LineNo,
+ -1,
+ 0
+ )
+ self._Comments = []
+ self._Done()
+
+ def _GetApplicableSectionMacro(self):
+ Macros = {}
+ for S1, S2, SectionType in self._Scope:
+ for Scope1, Scope2 in [("COMMON", "COMMON"), ("COMMON", S2), (S1, "COMMON"), (S1, S2)]:
+ if (SectionType, Scope1, Scope2) in self._SectionsMacroDict:
+ Macros.update(self._SectionsMacroDict[(SectionType, Scope1, Scope2)])
+ return Macros
+
+ ## Section header parser
+ #
+ # The section header is always in following format:
+ #
+ # [section_name.arch<.platform|module_type>]
+ #
+ def _SectionHeaderParser(self):
+ self._Scope = []
+ self._SectionName = ''
+ self._SectionType = []
+ ArchList = set()
+ for Item in GetSplitValueList(self._CurrentLine[1:-1], TAB_COMMA_SPLIT):
+ if Item == '':
+ continue
+ ItemList = GetSplitValueList(Item, TAB_SPLIT)
+
+ # different types of PCD are permissible in one section
+ self._SectionName = ItemList[0].upper()
+ if self._SectionName in self.DataType:
+ if self.DataType[self._SectionName] not in self._SectionType:
+ self._SectionType.append(self.DataType[self._SectionName])
+ else:
+ EdkLogger.warn("Parser", "Unrecognized section", File=self.MetaFile,
+ Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+ continue
+
+ if MODEL_PCD_FEATURE_FLAG in self._SectionType and len(self._SectionType) > 1:
+ EdkLogger.error(
+ 'Parser',
+ FORMAT_INVALID,
+ "%s must not be in the same section of other types of PCD" % TAB_PCDS_FEATURE_FLAG_NULL,
+ File=self.MetaFile,
+ Line=self._LineIndex+1,
+ ExtraData=self._CurrentLine
+ )
+ # S1 is always Arch
+ if len(ItemList) > 1:
+ S1 = ItemList[1].upper()
+ else:
+ S1 = 'COMMON'
+ ArchList.add(S1)
+ # S2 may be Platform or ModuleType
+ if len(ItemList) > 2:
+ S2 = ItemList[2].upper()
+ else:
+ S2 = 'COMMON'
+ if [S1, S2, self.DataType[self._SectionName]] not in self._Scope:
+ self._Scope.append([S1, S2, self.DataType[self._SectionName]])
+
+ # 'COMMON' must not be used with specific ARCHs at the same section
+ if 'COMMON' in ArchList and len(ArchList) > 1:
+ EdkLogger.error('Parser', FORMAT_INVALID, "'common' ARCH must not be used with specific ARCHs",
+ File=self.MetaFile, Line=self._LineIndex+1, ExtraData=self._CurrentLine)
+
+ ## [guids], [ppis] and [protocols] section parser
+ @ParseMacro
+ def _GuidParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_EQUAL_SPLIT, 1)
+ if len(TokenList) < 2:
+ EdkLogger.error('Parser', FORMAT_INVALID, "No GUID name or value specified",
+ ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if TokenList[0] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No GUID name specified",
+ ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if TokenList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No GUID value specified",
+ ExtraData=self._CurrentLine + " (<CName> = <GuidValueInCFormat>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ if TokenList[1][0] != '{' or TokenList[1][-1] != '}' or GuidStructureStringToGuidString(TokenList[1]) == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid GUID value format",
+ ExtraData=self._CurrentLine + \
+ " (<CName> = <GuidValueInCFormat:{8,4,4,{2,2,2,2,2,2,2,2}}>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ self._ValueList[0] = TokenList[0]
+ #Parse the Guid value format
+ GuidValueList = TokenList[1].strip(' {}').split(',')
+ Index = 0
+ HexList = []
+ if len(GuidValueList) == 11:
+ for GuidValue in GuidValueList:
+ GuidValue = GuidValue.strip()
+ if GuidValue.startswith('0x') or GuidValue.startswith('0X'):
+ HexList.append('0x' + str(GuidValue[2:]))
+ Index += 1
+ continue
+ else:
+ if GuidValue.startswith('{'):
+ HexList.append('0x' + str(GuidValue[3:]))
+ Index += 1
+ self._ValueList[1] = "{ %s, %s, %s, { %s, %s, %s, %s, %s, %s, %s, %s }}" % (HexList[0], HexList[1], HexList[2],HexList[3],HexList[4],HexList[5],HexList[6],HexList[7],HexList[8],HexList[9],HexList[10])
+ else:
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid GUID value format",
+ ExtraData=self._CurrentLine + \
+ " (<CName> = <GuidValueInCFormat:{8,4,4,{2,2,2,2,2,2,2,2}}>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ self._ValueList[0] = ''
+
+ ## PCD sections parser
+ #
+ # [PcdsFixedAtBuild]
+ # [PcdsPatchableInModule]
+ # [PcdsFeatureFlag]
+ # [PcdsDynamicEx
+ # [PcdsDynamic]
+ #
+ @ParseMacro
+ def _PcdParser(self):
+ TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
+ self._ValueList[0:1] = GetSplitValueList(TokenList[0], TAB_SPLIT)
+ # check PCD information
+ if self._ValueList[0] == '' or self._ValueList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No token space GUID or PCD name specified",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # check PCD datum information
+ if len(TokenList) < 2 or TokenList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "No PCD Datum information given",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+
+
+ ValueRe = re.compile(r'^\s*L?\".*\|.*\"')
+ PtrValue = ValueRe.findall(TokenList[1])
+
+ # Has VOID* type string, may contain "|" character in the string.
+ if len(PtrValue) != 0:
+ ptrValueList = re.sub(ValueRe, '', TokenList[1])
+ ValueList = GetSplitValueList(ptrValueList)
+ ValueList[0] = PtrValue[0]
+ else:
+ ValueList = GetSplitValueList(TokenList[1])
+
+
+ # check if there's enough datum information given
+ if len(ValueList) != 3:
+ EdkLogger.error('Parser', FORMAT_INVALID, "Invalid PCD Datum information given",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # check default value
+ if ValueList[0] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "Missing DefaultValue in PCD Datum information",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # check datum type
+ if ValueList[1] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "Missing DatumType in PCD Datum information",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # check token of the PCD
+ if ValueList[2] == '':
+ EdkLogger.error('Parser', FORMAT_INVALID, "Missing Token in PCD Datum information",
+ ExtraData=self._CurrentLine + \
+ " (<TokenSpaceGuidCName>.<PcdCName>|<DefaultValue>|<DatumType>|<Token>)",
+ File=self.MetaFile, Line=self._LineIndex+1)
+ # check format of default value against the datum type
+ IsValid, Cause = CheckPcdDatum(ValueList[1], ValueList[0])
+ if not IsValid:
+ EdkLogger.error('Parser', FORMAT_INVALID, Cause, ExtraData=self._CurrentLine,
+ File=self.MetaFile, Line=self._LineIndex+1)
+
+ if ValueList[0] in ['True', 'true', 'TRUE']:
+ ValueList[0] = '1'
+ elif ValueList[0] in ['False', 'false', 'FALSE']:
+ ValueList[0] = '0'
+
+ self._ValueList[2] = ValueList[0].strip() + '|' + ValueList[1].strip() + '|' + ValueList[2].strip()
+
+ _SectionParser = {
+ MODEL_META_DATA_HEADER : MetaFileParser._DefineParser,
+ MODEL_EFI_INCLUDE : MetaFileParser._PathParser,
+ MODEL_EFI_LIBRARY_CLASS : MetaFileParser._PathParser,
+ MODEL_EFI_GUID : _GuidParser,
+ MODEL_EFI_PPI : _GuidParser,
+ MODEL_EFI_PROTOCOL : _GuidParser,
+ MODEL_PCD_FIXED_AT_BUILD : _PcdParser,
+ MODEL_PCD_PATCHABLE_IN_MODULE : _PcdParser,
+ MODEL_PCD_FEATURE_FLAG : _PcdParser,
+ MODEL_PCD_DYNAMIC : _PcdParser,
+ MODEL_PCD_DYNAMIC_EX : _PcdParser,
+ MODEL_UNKNOWN : MetaFileParser._Skip,
+ MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip,
+ }
+
+
+## FdfObject
+#
+# This class defined basic Fdf object which is used by inheriting
+#
+# @param object: Inherited from object class
+#
+class FdfObject(object):
+ def __init__(self):
+ object.__init__()
+
+## Fdf
+#
+# This class defined the structure used in Fdf object
+#
+# @param FdfObject: Inherited from FdfObject class
+# @param Filename: Input value for Ffilename of Fdf file, default is None
+# @param WorkspaceDir: Input value for current workspace directory, default is None
+#
+class Fdf(FdfObject):
+ def __init__(self, Filename = None, IsToDatabase = False, WorkspaceDir = None, Database = None):
+ self.WorkspaceDir = WorkspaceDir
+ self.IsToDatabase = IsToDatabase
+
+ self.Cur = Database.Cur
+ self.TblFile = Database.TblFile
+ self.TblFdf = Database.TblFdf
+ self.FileID = -1
+ self.FileList = {}
+
+ #
+ # Load Fdf file if filename is not None
+ #
+ if Filename != None:
+ self.LoadFdfFile(Filename)
+
+ #
+ # Insert a FDF file record into database
+ #
+ def InsertFile(self, Filename):
+ FileID = -1
+ Filename = NormPath(Filename)
+ if Filename not in self.FileList:
+ FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_FDF)
+ self.FileList[Filename] = FileID
+
+ return self.FileList[Filename]
+
+
+ ## Load Fdf file
+ #
+ # Load the file if it exists
+ #
+ # @param Filename: Input value for filename of Fdf file
+ #
+ def LoadFdfFile(self, Filename):
+ FileList = []
+ #
+ # Parse Fdf file
+ #
+ Filename = NormPath(Filename)
+ Fdf = FdfParser(Filename)
+ Fdf.ParseFile()
+
+ #
+ # Insert inf file and pcd information
+ #
+ if self.IsToDatabase:
+ (Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled) = \
+ (0, '', '', '', 'COMMON', 'COMMON', -1, -1, -1, -1, -1, -1, 0)
+ for Index in range(0, len(Fdf.Profile.PcdDict)):
+ pass
+ for Key in Fdf.Profile.PcdDict.keys():
+ Model = MODEL_PCD
+ Value1 = Key[1]
+ Value2 = Key[0]
+ FileName = Fdf.Profile.PcdFileLineDict[Key][0]
+ StartLine = Fdf.Profile.PcdFileLineDict[Key][1]
+ BelongsToFile = self.InsertFile(FileName)
+ self.TblFdf.Insert(Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled)
+ for Index in range(0, len(Fdf.Profile.InfList)):
+ Model = MODEL_META_DATA_COMPONENT
+ Value1 = Fdf.Profile.InfList[Index]
+ Value2 = ''
+ FileName = Fdf.Profile.InfFileLineList[Index][0]
+ StartLine = Fdf.Profile.InfFileLineList[Index][1]
+ BelongsToFile = self.InsertFile(FileName)
+ self.TblFdf.Insert(Model, Value1, Value2, Value3, Scope1, Scope2, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled)
+
+##
+#
+# This acts like the main() function for the script, unless it is 'import'ed into another
+# script.
+#
+if __name__ == '__main__':
+ pass
+
diff --git a/BaseTools/Source/Python/Ecc/Xml/__init__.py b/BaseTools/Source/Python/Ecc/Xml/__init__.py index 5d268d990b..f09eece5fb 100644 --- a/BaseTools/Source/Python/Ecc/Xml/__init__.py +++ b/BaseTools/Source/Python/Ecc/Xml/__init__.py @@ -1,20 +1,20 @@ -## @file -# Python 'Library' package initialization file. -# -# This file is required to make Python interpreter treat the directory -# as containing package. -# -# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> -# -# 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. -# - -''' -Xml +## @file
+# Python 'Library' package initialization file.
+#
+# This file is required to make Python interpreter treat the directory
+# as containing package.
+#
+# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+#
+# 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.
+#
+
+'''
+Xml
'''
\ No newline at end of file |