From: Feng, Bob C Date: Mon, 14 Jan 2019 08:41:22 +0000 (+0800) Subject: BaseTools: Eot tool Python3 adaption X-Git-Tag: edk2-stable201903~204 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=8189be6fd7d7bdd15323b40d5f2f8d0ff822e2d5;hp=c60377d7f9ec80ecc7fe76c38b81ffd98b7ef2e4 BaseTools: Eot tool Python3 adaption v2: The python files under CParser4 are generated by antlr4 and for python3 usage. They have python3 specific syntax, for example the data type declaration for the arguments of a function. That is not compitable with python2. this patch is to remove these syntax. Eot tool Python3 adaption. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao Tested-by: Laszlo Ersek Tested-by: Ard Biesheuvel Reviewed-by: Liming Gao --- diff --git a/BaseTools/Source/Python/Eot/CLexer.py b/BaseTools/Source/Python/Eot/CLexer.py deleted file mode 100644 index b9e57c1b55..0000000000 --- a/BaseTools/Source/Python/Eot/CLexer.py +++ /dev/null @@ -1,4947 +0,0 @@ -# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 - -from antlr3 import * -from antlr3.compat import set, frozenset - -## @file -# The file defines the Lexer for C source files. -# -# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. -# This file is generated by running: -# java org.antlr.Tool C.g -# -# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials are licensed and made available -# under the terms and conditions of the BSD License which accompanies this -# distribution. The full text of the license may be found at: -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - - - -# for convenience in actions -HIDDEN = BaseRecognizer.HIDDEN - -# token types -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/Eot/CParser.py b/BaseTools/Source/Python/Eot/CParser.py deleted file mode 100644 index 0b74b53ae7..0000000000 --- a/BaseTools/Source/Python/Eot/CParser.py +++ /dev/null @@ -1,18839 +0,0 @@ -# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 - -from __future__ import print_function -from __future__ import absolute_import -from antlr3 import * -from antlr3.compat import set, frozenset - -## @file -# The file defines the parser for C source files. -# -# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. -# This file is generated by running: -# java org.antlr.Tool C.g -# -# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials are licensed and made available -# under the terms and conditions of the BSD License which accompanies this -# distribution. The full text of the license may be found at: -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -from . import CodeFragment -from . 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 = [ - "", "", "", "", - "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): - print(str(line)+ ',' + str(offset) + ':' + str(tokenText)) - - def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text): - PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset)) - FileProfile.PredicateExpressionList.append(PredExp) - - def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text): - EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) - FileProfile.EnumerationDefinitionList.append(EnumDef) - - def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text): - SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) - FileProfile.StructUnionDefinitionList.append(SUDef) - - def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText): - Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset)) - FileProfile.TypedefDefinitionList.append(Tdef) - - def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset): - FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset)) - FileProfile.FunctionDefinitionList.append(FuncDef) - - def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText): - VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset)) - FileProfile.VariableDeclarationList.append(VarDecl) - - def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList): - 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 as 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 as 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 = '' - self.function_definition_stack[-1].LBLine = 0 - 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: - - if d is not None: - self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop) - else: - self.function_definition_stack[-1].ModifierText = '' - self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop) - self.function_definition_stack[-1].DeclLine = declarator1.start.line - self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine - if a is not None: - self.function_definition_stack[-1].LBLine = a.start.line - self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine - 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: - - 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 as 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 is not 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: - - if t is not 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 as 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 as 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 as 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 as 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 as 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 is not 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: - - if e.stop is not 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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/Eot/CParser3/CLexer.py b/BaseTools/Source/Python/Eot/CParser3/CLexer.py new file mode 100644 index 0000000000..b9e57c1b55 --- /dev/null +++ b/BaseTools/Source/Python/Eot/CParser3/CLexer.py @@ -0,0 +1,4947 @@ +# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 + +from antlr3 import * +from antlr3.compat import set, frozenset + +## @file +# The file defines the Lexer for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + + + +# for convenience in actions +HIDDEN = BaseRecognizer.HIDDEN + +# token types +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/Eot/CParser3/CParser.py b/BaseTools/Source/Python/Eot/CParser3/CParser.py new file mode 100644 index 0000000000..0b74b53ae7 --- /dev/null +++ b/BaseTools/Source/Python/Eot/CParser3/CParser.py @@ -0,0 +1,18839 @@ +# $ANTLR 3.0.1 C.g 2010-02-23 09:58:53 + +from __future__ import print_function +from __future__ import absolute_import +from antlr3 import * +from antlr3.compat import set, frozenset + +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +from . import CodeFragment +from . 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 = [ + "", "", "", "", + "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): + print(str(line)+ ',' + str(offset) + ':' + str(tokenText)) + + def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text): + PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.PredicateExpressionList.append(PredExp) + + def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text): + EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.EnumerationDefinitionList.append(EnumDef) + + def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text): + SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.StructUnionDefinitionList.append(SUDef) + + def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText): + Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.TypedefDefinitionList.append(Tdef) + + def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset): + FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset)) + FileProfile.FunctionDefinitionList.append(FuncDef) + + def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText): + VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.VariableDeclarationList.append(VarDecl) + + def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList): + 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 as 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 as 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 = '' + self.function_definition_stack[-1].LBLine = 0 + 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: + + if d is not None: + self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop) + else: + self.function_definition_stack[-1].ModifierText = '' + self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop) + self.function_definition_stack[-1].DeclLine = declarator1.start.line + self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine + if a is not None: + self.function_definition_stack[-1].LBLine = a.start.line + self.function_definition_stack[-1].LBOffset = a.start.charPositionInLine + 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: + + 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 as 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 is not 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: + + if t is not 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 as 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 as 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 as 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 as 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 as 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 is not 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: + + if e.stop is not 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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/Eot/CParser3/__init__.py b/BaseTools/Source/Python/Eot/CParser3/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/BaseTools/Source/Python/Eot/CParser4/CLexer.py b/BaseTools/Source/Python/Eot/CParser4/CLexer.py new file mode 100644 index 0000000000..5bc32cd7cb --- /dev/null +++ b/BaseTools/Source/Python/Eot/CParser4/CLexer.py @@ -0,0 +1,633 @@ +# Generated from C.g4 by ANTLR 4.7.1 +from antlr4 import * +from io import StringIO +from typing.io import TextIO +import sys + + +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +import Ecc.CodeFragment as CodeFragment +import Ecc.FileProfile as FileProfile + + +def serializedATN(): + with StringIO() as buf: + buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2k") + buf.write("\u0383\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7") + buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r") + buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23") + buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30") + buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36") + buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%") + buf.write("\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.") + buf.write("\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64") + buf.write("\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:") + buf.write("\4;\t;\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\t") + buf.write("C\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\t") + buf.write("L\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\t") + buf.write("U\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4") + buf.write("^\t^\4_\t_\4`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4") + buf.write("g\tg\4h\th\4i\ti\4j\tj\4k\tk\4l\tl\4m\tm\4n\tn\4o\to\4") + buf.write("p\tp\4q\tq\4r\tr\3\2\3\2\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3") + buf.write("\4\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7") + buf.write("\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3") + buf.write("\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13") + buf.write("\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\16") + buf.write("\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20") + buf.write("\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22") + buf.write("\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23") + buf.write("\3\23\3\24\3\24\3\24\3\24\3\24\3\24\3\24\3\24\3\24\3\25") + buf.write("\3\25\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27") + buf.write("\3\27\3\27\3\27\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\32") + buf.write("\3\32\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\33") + buf.write("\3\33\3\33\3\33\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\36") + buf.write("\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37") + buf.write("\3\37\3\37\3\37\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3") + buf.write("!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3") + buf.write("\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"") + buf.write("\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#") + buf.write("\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3%\3") + buf.write("%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3") + buf.write("&\3&\3&\3&\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3") + buf.write(",\3,\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60\3\61\3\61\3\61") + buf.write("\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\63\3\64") + buf.write("\3\64\3\65\3\65\3\65\3\66\3\66\3\67\3\67\38\38\39\39\3") + buf.write("9\3:\3:\3:\3;\3;\3;\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3?\3") + buf.write("?\3?\3?\3@\3@\3@\3A\3A\3A\3B\3B\3B\3C\3C\3D\3D\3D\3E\3") + buf.write("E\3E\3F\3F\3G\3G\3H\3H\3H\3I\3I\3I\3J\3J\3K\3K\3L\3L\3") + buf.write("L\3M\3M\3M\3N\3N\3N\3O\3O\3O\3P\3P\3P\3P\3P\3P\3P\3P\3") + buf.write("Q\3Q\3Q\3Q\3Q\3R\3R\3R\3R\3R\3R\3S\3S\3S\3S\3S\3T\3T\3") + buf.write("T\3T\3T\3T\3T\3T\3U\3U\3U\3V\3V\3V\3V\3V\3W\3W\3W\3W\3") + buf.write("W\3W\3W\3X\3X\3X\3X\3X\3X\3Y\3Y\3Y\3Z\3Z\3Z\3Z\3Z\3[\3") + buf.write("[\3[\3[\3[\3[\3[\3[\3[\3\\\3\\\3\\\3\\\3\\\3\\\3]\3]\3") + buf.write("]\3]\3]\3]\3]\3^\3^\3^\7^\u02b2\n^\f^\16^\u02b5\13^\3") + buf.write("_\3_\3`\5`\u02ba\n`\3`\3`\3`\5`\u02bf\n`\3`\3`\3a\5a\u02c4") + buf.write("\na\3a\3a\3a\7a\u02c9\na\fa\16a\u02cc\13a\3a\3a\3b\3b") + buf.write("\3b\6b\u02d3\nb\rb\16b\u02d4\3b\5b\u02d8\nb\3c\3c\3c\7") + buf.write("c\u02dd\nc\fc\16c\u02e0\13c\5c\u02e2\nc\3c\5c\u02e5\n") + buf.write("c\3d\3d\6d\u02e9\nd\rd\16d\u02ea\3d\5d\u02ee\nd\3e\3e") + buf.write("\3f\3f\3f\3f\3f\3f\5f\u02f8\nf\3g\6g\u02fb\ng\rg\16g\u02fc") + buf.write("\3g\3g\7g\u0301\ng\fg\16g\u0304\13g\3g\5g\u0307\ng\3g") + buf.write("\5g\u030a\ng\3g\3g\6g\u030e\ng\rg\16g\u030f\3g\5g\u0313") + buf.write("\ng\3g\5g\u0316\ng\3g\6g\u0319\ng\rg\16g\u031a\3g\3g\5") + buf.write("g\u031f\ng\3g\6g\u0322\ng\rg\16g\u0323\3g\5g\u0327\ng") + buf.write("\3g\5g\u032a\ng\3h\3h\5h\u032e\nh\3h\6h\u0331\nh\rh\16") + buf.write("h\u0332\3i\3i\3j\3j\3j\5j\u033a\nj\3k\3k\3k\3k\3k\3k\3") + buf.write("k\3k\3k\5k\u0345\nk\3l\3l\3l\3l\3l\3l\3l\3m\3m\3m\3m\3") + buf.write("n\3n\3n\3n\3o\3o\3p\3p\3p\3p\7p\u035c\np\fp\16p\u035f") + buf.write("\13p\3p\3p\3p\3p\3p\3q\3q\3q\3q\7q\u036a\nq\fq\16q\u036d") + buf.write("\13q\3q\5q\u0370\nq\3q\3q\3q\3q\3r\3r\7r\u0378\nr\fr\16") + buf.write("r\u037b\13r\3r\5r\u037e\nr\3r\3r\3r\3r\3\u035d\2s\3\3") + buf.write("\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16") + buf.write("\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61") + buf.write("\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*") + buf.write("S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089F\u008b") + buf.write("G\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009b") + buf.write("O\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab") + buf.write("W\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb") + buf.write("_\u00bd\2\u00bf`\u00c1a\u00c3b\u00c5c\u00c7d\u00c9\2\u00cb") + buf.write("\2\u00cde\u00cf\2\u00d1\2\u00d3\2\u00d5\2\u00d7\2\u00d9") + buf.write("f\u00dbg\u00ddh\u00dfi\u00e1j\u00e3k\3\2\20\6\2&&C\\a") + buf.write("ac|\4\2))^^\4\2$$^^\4\2ZZzz\5\2\62;CHch\6\2NNWWnnww\4") + buf.write("\2WWww\4\2NNnn\4\2GGgg\4\2--//\6\2FFHHffhh\t\2))^^ddh") + buf.write("hppttvv\5\2\13\f\16\17\"\"\4\2\f\f\17\17\2\u03a2\2\3\3") + buf.write("\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2") + buf.write("\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2") + buf.write("\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2") + buf.write("\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2") + buf.write("\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3") + buf.write("\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2") + buf.write("\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3") + buf.write("\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K") + buf.write("\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2") + buf.write("U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2") + buf.write("\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2") + buf.write("\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2") + buf.write("\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3") + buf.write("\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083") + buf.write("\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2") + buf.write("\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091") + buf.write("\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2") + buf.write("\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f") + buf.write("\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2") + buf.write("\2\2\u00a7\3\2\2\2\2\u00a9\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad") + buf.write("\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2\2\2\u00b3\3\2\2") + buf.write("\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb") + buf.write("\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2\2\2\u00c3\3\2\2") + buf.write("\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00cd\3\2\2\2\2\u00d9") + buf.write("\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df\3\2\2") + buf.write("\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\3\u00e5\3\2\2\2\5\u00e7") + buf.write("\3\2\2\2\7\u00e9\3\2\2\2\t\u00f1\3\2\2\2\13\u00f3\3\2") + buf.write("\2\2\r\u00f5\3\2\2\2\17\u00fc\3\2\2\2\21\u0103\3\2\2\2") + buf.write("\23\u0108\3\2\2\2\25\u0111\3\2\2\2\27\u0118\3\2\2\2\31") + buf.write("\u011d\3\2\2\2\33\u0122\3\2\2\2\35\u0128\3\2\2\2\37\u012c") + buf.write("\3\2\2\2!\u0131\3\2\2\2#\u0137\3\2\2\2%\u013e\3\2\2\2") + buf.write("\'\u0145\3\2\2\2)\u014e\3\2\2\2+\u0150\3\2\2\2-\u0157") + buf.write("\3\2\2\2/\u015d\3\2\2\2\61\u015f\3\2\2\2\63\u0164\3\2") + buf.write("\2\2\65\u016a\3\2\2\2\67\u0173\3\2\2\29\u0176\3\2\2\2") + buf.write(";\u017a\3\2\2\2=\u0183\3\2\2\2?\u0189\3\2\2\2A\u0193\3") + buf.write("\2\2\2C\u019c\3\2\2\2E\u01ba\3\2\2\2G\u01c1\3\2\2\2I\u01d1") + buf.write("\3\2\2\2K\u01e4\3\2\2\2M\u01eb\3\2\2\2O\u01ed\3\2\2\2") + buf.write("Q\u01ef\3\2\2\2S\u01f1\3\2\2\2U\u01f3\3\2\2\2W\u01f5\3") + buf.write("\2\2\2Y\u01f9\3\2\2\2[\u01fb\3\2\2\2]\u01fd\3\2\2\2_\u01ff") + buf.write("\3\2\2\2a\u0201\3\2\2\2c\u0204\3\2\2\2e\u0207\3\2\2\2") + buf.write("g\u020e\3\2\2\2i\u0210\3\2\2\2k\u0213\3\2\2\2m\u0215\3") + buf.write("\2\2\2o\u0217\3\2\2\2q\u0219\3\2\2\2s\u021c\3\2\2\2u\u021f") + buf.write("\3\2\2\2w\u0222\3\2\2\2y\u0225\3\2\2\2{\u0228\3\2\2\2") + buf.write("}\u022c\3\2\2\2\177\u0230\3\2\2\2\u0081\u0233\3\2\2\2") + buf.write("\u0083\u0236\3\2\2\2\u0085\u0239\3\2\2\2\u0087\u023b\3") + buf.write("\2\2\2\u0089\u023e\3\2\2\2\u008b\u0241\3\2\2\2\u008d\u0243") + buf.write("\3\2\2\2\u008f\u0245\3\2\2\2\u0091\u0248\3\2\2\2\u0093") + buf.write("\u024b\3\2\2\2\u0095\u024d\3\2\2\2\u0097\u024f\3\2\2\2") + buf.write("\u0099\u0252\3\2\2\2\u009b\u0255\3\2\2\2\u009d\u0258\3") + buf.write("\2\2\2\u009f\u025b\3\2\2\2\u00a1\u0263\3\2\2\2\u00a3\u0268") + buf.write("\3\2\2\2\u00a5\u026e\3\2\2\2\u00a7\u0273\3\2\2\2\u00a9") + buf.write("\u027b\3\2\2\2\u00ab\u027e\3\2\2\2\u00ad\u0283\3\2\2\2") + buf.write("\u00af\u028a\3\2\2\2\u00b1\u0290\3\2\2\2\u00b3\u0293\3") + buf.write("\2\2\2\u00b5\u0298\3\2\2\2\u00b7\u02a1\3\2\2\2\u00b9\u02a7") + buf.write("\3\2\2\2\u00bb\u02ae\3\2\2\2\u00bd\u02b6\3\2\2\2\u00bf") + buf.write("\u02b9\3\2\2\2\u00c1\u02c3\3\2\2\2\u00c3\u02cf\3\2\2\2") + buf.write("\u00c5\u02e1\3\2\2\2\u00c7\u02e6\3\2\2\2\u00c9\u02ef\3") + buf.write("\2\2\2\u00cb\u02f7\3\2\2\2\u00cd\u0329\3\2\2\2\u00cf\u032b") + buf.write("\3\2\2\2\u00d1\u0334\3\2\2\2\u00d3\u0339\3\2\2\2\u00d5") + buf.write("\u0344\3\2\2\2\u00d7\u0346\3\2\2\2\u00d9\u034d\3\2\2\2") + buf.write("\u00db\u0351\3\2\2\2\u00dd\u0355\3\2\2\2\u00df\u0357\3") + buf.write("\2\2\2\u00e1\u0365\3\2\2\2\u00e3\u0375\3\2\2\2\u00e5\u00e6") + buf.write("\7}\2\2\u00e6\4\3\2\2\2\u00e7\u00e8\7=\2\2\u00e8\6\3\2") + buf.write("\2\2\u00e9\u00ea\7v\2\2\u00ea\u00eb\7{\2\2\u00eb\u00ec") + buf.write("\7r\2\2\u00ec\u00ed\7g\2\2\u00ed\u00ee\7f\2\2\u00ee\u00ef") + buf.write("\7g\2\2\u00ef\u00f0\7h\2\2\u00f0\b\3\2\2\2\u00f1\u00f2") + buf.write("\7.\2\2\u00f2\n\3\2\2\2\u00f3\u00f4\7?\2\2\u00f4\f\3\2") + buf.write("\2\2\u00f5\u00f6\7g\2\2\u00f6\u00f7\7z\2\2\u00f7\u00f8") + buf.write("\7v\2\2\u00f8\u00f9\7g\2\2\u00f9\u00fa\7t\2\2\u00fa\u00fb") + buf.write("\7p\2\2\u00fb\16\3\2\2\2\u00fc\u00fd\7u\2\2\u00fd\u00fe") + buf.write("\7v\2\2\u00fe\u00ff\7c\2\2\u00ff\u0100\7v\2\2\u0100\u0101") + buf.write("\7k\2\2\u0101\u0102\7e\2\2\u0102\20\3\2\2\2\u0103\u0104") + buf.write("\7c\2\2\u0104\u0105\7w\2\2\u0105\u0106\7v\2\2\u0106\u0107") + buf.write("\7q\2\2\u0107\22\3\2\2\2\u0108\u0109\7t\2\2\u0109\u010a") + buf.write("\7g\2\2\u010a\u010b\7i\2\2\u010b\u010c\7k\2\2\u010c\u010d") + buf.write("\7u\2\2\u010d\u010e\7v\2\2\u010e\u010f\7g\2\2\u010f\u0110") + buf.write("\7t\2\2\u0110\24\3\2\2\2\u0111\u0112\7U\2\2\u0112\u0113") + buf.write("\7V\2\2\u0113\u0114\7C\2\2\u0114\u0115\7V\2\2\u0115\u0116") + buf.write("\7K\2\2\u0116\u0117\7E\2\2\u0117\26\3\2\2\2\u0118\u0119") + buf.write("\7x\2\2\u0119\u011a\7q\2\2\u011a\u011b\7k\2\2\u011b\u011c") + buf.write("\7f\2\2\u011c\30\3\2\2\2\u011d\u011e\7e\2\2\u011e\u011f") + buf.write("\7j\2\2\u011f\u0120\7c\2\2\u0120\u0121\7t\2\2\u0121\32") + buf.write("\3\2\2\2\u0122\u0123\7u\2\2\u0123\u0124\7j\2\2\u0124\u0125") + buf.write("\7q\2\2\u0125\u0126\7t\2\2\u0126\u0127\7v\2\2\u0127\34") + buf.write("\3\2\2\2\u0128\u0129\7k\2\2\u0129\u012a\7p\2\2\u012a\u012b") + buf.write("\7v\2\2\u012b\36\3\2\2\2\u012c\u012d\7n\2\2\u012d\u012e") + buf.write("\7q\2\2\u012e\u012f\7p\2\2\u012f\u0130\7i\2\2\u0130 \3") + buf.write("\2\2\2\u0131\u0132\7h\2\2\u0132\u0133\7n\2\2\u0133\u0134") + buf.write("\7q\2\2\u0134\u0135\7c\2\2\u0135\u0136\7v\2\2\u0136\"") + buf.write("\3\2\2\2\u0137\u0138\7f\2\2\u0138\u0139\7q\2\2\u0139\u013a") + buf.write("\7w\2\2\u013a\u013b\7d\2\2\u013b\u013c\7n\2\2\u013c\u013d") + buf.write("\7g\2\2\u013d$\3\2\2\2\u013e\u013f\7u\2\2\u013f\u0140") + buf.write("\7k\2\2\u0140\u0141\7i\2\2\u0141\u0142\7p\2\2\u0142\u0143") + buf.write("\7g\2\2\u0143\u0144\7f\2\2\u0144&\3\2\2\2\u0145\u0146") + buf.write("\7w\2\2\u0146\u0147\7p\2\2\u0147\u0148\7u\2\2\u0148\u0149") + buf.write("\7k\2\2\u0149\u014a\7i\2\2\u014a\u014b\7p\2\2\u014b\u014c") + buf.write("\7g\2\2\u014c\u014d\7f\2\2\u014d(\3\2\2\2\u014e\u014f") + buf.write("\7\177\2\2\u014f*\3\2\2\2\u0150\u0151\7u\2\2\u0151\u0152") + buf.write("\7v\2\2\u0152\u0153\7t\2\2\u0153\u0154\7w\2\2\u0154\u0155") + buf.write("\7e\2\2\u0155\u0156\7v\2\2\u0156,\3\2\2\2\u0157\u0158") + buf.write("\7w\2\2\u0158\u0159\7p\2\2\u0159\u015a\7k\2\2\u015a\u015b") + buf.write("\7q\2\2\u015b\u015c\7p\2\2\u015c.\3\2\2\2\u015d\u015e") + buf.write("\7<\2\2\u015e\60\3\2\2\2\u015f\u0160\7g\2\2\u0160\u0161") + buf.write("\7p\2\2\u0161\u0162\7w\2\2\u0162\u0163\7o\2\2\u0163\62") + buf.write("\3\2\2\2\u0164\u0165\7e\2\2\u0165\u0166\7q\2\2\u0166\u0167") + buf.write("\7p\2\2\u0167\u0168\7u\2\2\u0168\u0169\7v\2\2\u0169\64") + buf.write("\3\2\2\2\u016a\u016b\7x\2\2\u016b\u016c\7q\2\2\u016c\u016d") + buf.write("\7n\2\2\u016d\u016e\7c\2\2\u016e\u016f\7v\2\2\u016f\u0170") + buf.write("\7k\2\2\u0170\u0171\7n\2\2\u0171\u0172\7g\2\2\u0172\66") + buf.write("\3\2\2\2\u0173\u0174\7K\2\2\u0174\u0175\7P\2\2\u01758") + buf.write("\3\2\2\2\u0176\u0177\7Q\2\2\u0177\u0178\7W\2\2\u0178\u0179") + buf.write("\7V\2\2\u0179:\3\2\2\2\u017a\u017b\7Q\2\2\u017b\u017c") + buf.write("\7R\2\2\u017c\u017d\7V\2\2\u017d\u017e\7K\2\2\u017e\u017f") + buf.write("\7Q\2\2\u017f\u0180\7P\2\2\u0180\u0181\7C\2\2\u0181\u0182") + buf.write("\7N\2\2\u0182<\3\2\2\2\u0183\u0184\7E\2\2\u0184\u0185") + buf.write("\7Q\2\2\u0185\u0186\7P\2\2\u0186\u0187\7U\2\2\u0187\u0188") + buf.write("\7V\2\2\u0188>\3\2\2\2\u0189\u018a\7W\2\2\u018a\u018b") + buf.write("\7P\2\2\u018b\u018c\7C\2\2\u018c\u018d\7N\2\2\u018d\u018e") + buf.write("\7K\2\2\u018e\u018f\7I\2\2\u018f\u0190\7P\2\2\u0190\u0191") + buf.write("\7G\2\2\u0191\u0192\7F\2\2\u0192@\3\2\2\2\u0193\u0194") + buf.write("\7X\2\2\u0194\u0195\7Q\2\2\u0195\u0196\7N\2\2\u0196\u0197") + buf.write("\7C\2\2\u0197\u0198\7V\2\2\u0198\u0199\7K\2\2\u0199\u019a") + buf.write("\7N\2\2\u019a\u019b\7G\2\2\u019bB\3\2\2\2\u019c\u019d") + buf.write("\7I\2\2\u019d\u019e\7N\2\2\u019e\u019f\7Q\2\2\u019f\u01a0") + buf.write("\7D\2\2\u01a0\u01a1\7C\2\2\u01a1\u01a2\7N\2\2\u01a2\u01a3") + buf.write("\7a\2\2\u01a3\u01a4\7T\2\2\u01a4\u01a5\7G\2\2\u01a5\u01a6") + buf.write("\7O\2\2\u01a6\u01a7\7Q\2\2\u01a7\u01a8\7X\2\2\u01a8\u01a9") + buf.write("\7G\2\2\u01a9\u01aa\7a\2\2\u01aa\u01ab\7K\2\2\u01ab\u01ac") + buf.write("\7H\2\2\u01ac\u01ad\7a\2\2\u01ad\u01ae\7W\2\2\u01ae\u01af") + buf.write("\7P\2\2\u01af\u01b0\7T\2\2\u01b0\u01b1\7G\2\2\u01b1\u01b2") + buf.write("\7H\2\2\u01b2\u01b3\7G\2\2\u01b3\u01b4\7T\2\2\u01b4\u01b5") + buf.write("\7G\2\2\u01b5\u01b6\7P\2\2\u01b6\u01b7\7E\2\2\u01b7\u01b8") + buf.write("\7G\2\2\u01b8\u01b9\7F\2\2\u01b9D\3\2\2\2\u01ba\u01bb") + buf.write("\7G\2\2\u01bb\u01bc\7H\2\2\u01bc\u01bd\7K\2\2\u01bd\u01be") + buf.write("\7C\2\2\u01be\u01bf\7R\2\2\u01bf\u01c0\7K\2\2\u01c0F\3") + buf.write("\2\2\2\u01c1\u01c2\7G\2\2\u01c2\u01c3\7H\2\2\u01c3\u01c4") + buf.write("\7K\2\2\u01c4\u01c5\7a\2\2\u01c5\u01c6\7D\2\2\u01c6\u01c7") + buf.write("\7Q\2\2\u01c7\u01c8\7Q\2\2\u01c8\u01c9\7V\2\2\u01c9\u01ca") + buf.write("\7U\2\2\u01ca\u01cb\7G\2\2\u01cb\u01cc\7T\2\2\u01cc\u01cd") + buf.write("\7X\2\2\u01cd\u01ce\7K\2\2\u01ce\u01cf\7E\2\2\u01cf\u01d0") + buf.write("\7G\2\2\u01d0H\3\2\2\2\u01d1\u01d2\7G\2\2\u01d2\u01d3") + buf.write("\7H\2\2\u01d3\u01d4\7K\2\2\u01d4\u01d5\7a\2\2\u01d5\u01d6") + buf.write("\7T\2\2\u01d6\u01d7\7W\2\2\u01d7\u01d8\7P\2\2\u01d8\u01d9") + buf.write("\7V\2\2\u01d9\u01da\7K\2\2\u01da\u01db\7O\2\2\u01db\u01dc") + buf.write("\7G\2\2\u01dc\u01dd\7U\2\2\u01dd\u01de\7G\2\2\u01de\u01df") + buf.write("\7T\2\2\u01df\u01e0\7X\2\2\u01e0\u01e1\7K\2\2\u01e1\u01e2") + buf.write("\7E\2\2\u01e2\u01e3\7G\2\2\u01e3J\3\2\2\2\u01e4\u01e5") + buf.write("\7R\2\2\u01e5\u01e6\7C\2\2\u01e6\u01e7\7E\2\2\u01e7\u01e8") + buf.write("\7M\2\2\u01e8\u01e9\7G\2\2\u01e9\u01ea\7F\2\2\u01eaL\3") + buf.write("\2\2\2\u01eb\u01ec\7*\2\2\u01ecN\3\2\2\2\u01ed\u01ee\7") + buf.write("+\2\2\u01eeP\3\2\2\2\u01ef\u01f0\7]\2\2\u01f0R\3\2\2\2") + buf.write("\u01f1\u01f2\7_\2\2\u01f2T\3\2\2\2\u01f3\u01f4\7,\2\2") + buf.write("\u01f4V\3\2\2\2\u01f5\u01f6\7\60\2\2\u01f6\u01f7\7\60") + buf.write("\2\2\u01f7\u01f8\7\60\2\2\u01f8X\3\2\2\2\u01f9\u01fa\7") + buf.write("-\2\2\u01faZ\3\2\2\2\u01fb\u01fc\7/\2\2\u01fc\\\3\2\2") + buf.write("\2\u01fd\u01fe\7\61\2\2\u01fe^\3\2\2\2\u01ff\u0200\7\'") + buf.write("\2\2\u0200`\3\2\2\2\u0201\u0202\7-\2\2\u0202\u0203\7-") + buf.write("\2\2\u0203b\3\2\2\2\u0204\u0205\7/\2\2\u0205\u0206\7/") + buf.write("\2\2\u0206d\3\2\2\2\u0207\u0208\7u\2\2\u0208\u0209\7k") + buf.write("\2\2\u0209\u020a\7|\2\2\u020a\u020b\7g\2\2\u020b\u020c") + buf.write("\7q\2\2\u020c\u020d\7h\2\2\u020df\3\2\2\2\u020e\u020f") + buf.write("\7\60\2\2\u020fh\3\2\2\2\u0210\u0211\7/\2\2\u0211\u0212") + buf.write("\7@\2\2\u0212j\3\2\2\2\u0213\u0214\7(\2\2\u0214l\3\2\2") + buf.write("\2\u0215\u0216\7\u0080\2\2\u0216n\3\2\2\2\u0217\u0218") + buf.write("\7#\2\2\u0218p\3\2\2\2\u0219\u021a\7,\2\2\u021a\u021b") + buf.write("\7?\2\2\u021br\3\2\2\2\u021c\u021d\7\61\2\2\u021d\u021e") + buf.write("\7?\2\2\u021et\3\2\2\2\u021f\u0220\7\'\2\2\u0220\u0221") + buf.write("\7?\2\2\u0221v\3\2\2\2\u0222\u0223\7-\2\2\u0223\u0224") + buf.write("\7?\2\2\u0224x\3\2\2\2\u0225\u0226\7/\2\2\u0226\u0227") + buf.write("\7?\2\2\u0227z\3\2\2\2\u0228\u0229\7>\2\2\u0229\u022a") + buf.write("\7>\2\2\u022a\u022b\7?\2\2\u022b|\3\2\2\2\u022c\u022d") + buf.write("\7@\2\2\u022d\u022e\7@\2\2\u022e\u022f\7?\2\2\u022f~\3") + buf.write("\2\2\2\u0230\u0231\7(\2\2\u0231\u0232\7?\2\2\u0232\u0080") + buf.write("\3\2\2\2\u0233\u0234\7`\2\2\u0234\u0235\7?\2\2\u0235\u0082") + buf.write("\3\2\2\2\u0236\u0237\7~\2\2\u0237\u0238\7?\2\2\u0238\u0084") + buf.write("\3\2\2\2\u0239\u023a\7A\2\2\u023a\u0086\3\2\2\2\u023b") + buf.write("\u023c\7~\2\2\u023c\u023d\7~\2\2\u023d\u0088\3\2\2\2\u023e") + buf.write("\u023f\7(\2\2\u023f\u0240\7(\2\2\u0240\u008a\3\2\2\2\u0241") + buf.write("\u0242\7~\2\2\u0242\u008c\3\2\2\2\u0243\u0244\7`\2\2\u0244") + buf.write("\u008e\3\2\2\2\u0245\u0246\7?\2\2\u0246\u0247\7?\2\2\u0247") + buf.write("\u0090\3\2\2\2\u0248\u0249\7#\2\2\u0249\u024a\7?\2\2\u024a") + buf.write("\u0092\3\2\2\2\u024b\u024c\7>\2\2\u024c\u0094\3\2\2\2") + buf.write("\u024d\u024e\7@\2\2\u024e\u0096\3\2\2\2\u024f\u0250\7") + buf.write(">\2\2\u0250\u0251\7?\2\2\u0251\u0098\3\2\2\2\u0252\u0253") + buf.write("\7@\2\2\u0253\u0254\7?\2\2\u0254\u009a\3\2\2\2\u0255\u0256") + buf.write("\7>\2\2\u0256\u0257\7>\2\2\u0257\u009c\3\2\2\2\u0258\u0259") + buf.write("\7@\2\2\u0259\u025a\7@\2\2\u025a\u009e\3\2\2\2\u025b\u025c") + buf.write("\7a\2\2\u025c\u025d\7a\2\2\u025d\u025e\7c\2\2\u025e\u025f") + buf.write("\7u\2\2\u025f\u0260\7o\2\2\u0260\u0261\7a\2\2\u0261\u0262") + buf.write("\7a\2\2\u0262\u00a0\3\2\2\2\u0263\u0264\7a\2\2\u0264\u0265") + buf.write("\7c\2\2\u0265\u0266\7u\2\2\u0266\u0267\7o\2\2\u0267\u00a2") + buf.write("\3\2\2\2\u0268\u0269\7a\2\2\u0269\u026a\7a\2\2\u026a\u026b") + buf.write("\7c\2\2\u026b\u026c\7u\2\2\u026c\u026d\7o\2\2\u026d\u00a4") + buf.write("\3\2\2\2\u026e\u026f\7e\2\2\u026f\u0270\7c\2\2\u0270\u0271") + buf.write("\7u\2\2\u0271\u0272\7g\2\2\u0272\u00a6\3\2\2\2\u0273\u0274") + buf.write("\7f\2\2\u0274\u0275\7g\2\2\u0275\u0276\7h\2\2\u0276\u0277") + buf.write("\7c\2\2\u0277\u0278\7w\2\2\u0278\u0279\7n\2\2\u0279\u027a") + buf.write("\7v\2\2\u027a\u00a8\3\2\2\2\u027b\u027c\7k\2\2\u027c\u027d") + buf.write("\7h\2\2\u027d\u00aa\3\2\2\2\u027e\u027f\7g\2\2\u027f\u0280") + buf.write("\7n\2\2\u0280\u0281\7u\2\2\u0281\u0282\7g\2\2\u0282\u00ac") + buf.write("\3\2\2\2\u0283\u0284\7u\2\2\u0284\u0285\7y\2\2\u0285\u0286") + buf.write("\7k\2\2\u0286\u0287\7v\2\2\u0287\u0288\7e\2\2\u0288\u0289") + buf.write("\7j\2\2\u0289\u00ae\3\2\2\2\u028a\u028b\7y\2\2\u028b\u028c") + buf.write("\7j\2\2\u028c\u028d\7k\2\2\u028d\u028e\7n\2\2\u028e\u028f") + buf.write("\7g\2\2\u028f\u00b0\3\2\2\2\u0290\u0291\7f\2\2\u0291\u0292") + buf.write("\7q\2\2\u0292\u00b2\3\2\2\2\u0293\u0294\7i\2\2\u0294\u0295") + buf.write("\7q\2\2\u0295\u0296\7v\2\2\u0296\u0297\7q\2\2\u0297\u00b4") + buf.write("\3\2\2\2\u0298\u0299\7e\2\2\u0299\u029a\7q\2\2\u029a\u029b") + buf.write("\7p\2\2\u029b\u029c\7v\2\2\u029c\u029d\7k\2\2\u029d\u029e") + buf.write("\7p\2\2\u029e\u029f\7w\2\2\u029f\u02a0\7g\2\2\u02a0\u00b6") + buf.write("\3\2\2\2\u02a1\u02a2\7d\2\2\u02a2\u02a3\7t\2\2\u02a3\u02a4") + buf.write("\7g\2\2\u02a4\u02a5\7c\2\2\u02a5\u02a6\7m\2\2\u02a6\u00b8") + buf.write("\3\2\2\2\u02a7\u02a8\7t\2\2\u02a8\u02a9\7g\2\2\u02a9\u02aa") + buf.write("\7v\2\2\u02aa\u02ab\7w\2\2\u02ab\u02ac\7t\2\2\u02ac\u02ad") + buf.write("\7p\2\2\u02ad\u00ba\3\2\2\2\u02ae\u02b3\5\u00bd_\2\u02af") + buf.write("\u02b2\5\u00bd_\2\u02b0\u02b2\4\62;\2\u02b1\u02af\3\2") + buf.write("\2\2\u02b1\u02b0\3\2\2\2\u02b2\u02b5\3\2\2\2\u02b3\u02b1") + buf.write("\3\2\2\2\u02b3\u02b4\3\2\2\2\u02b4\u00bc\3\2\2\2\u02b5") + buf.write("\u02b3\3\2\2\2\u02b6\u02b7\t\2\2\2\u02b7\u00be\3\2\2\2") + buf.write("\u02b8\u02ba\7N\2\2\u02b9\u02b8\3\2\2\2\u02b9\u02ba\3") + buf.write("\2\2\2\u02ba\u02bb\3\2\2\2\u02bb\u02be\7)\2\2\u02bc\u02bf") + buf.write("\5\u00d3j\2\u02bd\u02bf\n\3\2\2\u02be\u02bc\3\2\2\2\u02be") + buf.write("\u02bd\3\2\2\2\u02bf\u02c0\3\2\2\2\u02c0\u02c1\7)\2\2") + buf.write("\u02c1\u00c0\3\2\2\2\u02c2\u02c4\7N\2\2\u02c3\u02c2\3") + buf.write("\2\2\2\u02c3\u02c4\3\2\2\2\u02c4\u02c5\3\2\2\2\u02c5\u02ca") + buf.write("\7$\2\2\u02c6\u02c9\5\u00d3j\2\u02c7\u02c9\n\4\2\2\u02c8") + buf.write("\u02c6\3\2\2\2\u02c8\u02c7\3\2\2\2\u02c9\u02cc\3\2\2\2") + buf.write("\u02ca\u02c8\3\2\2\2\u02ca\u02cb\3\2\2\2\u02cb\u02cd\3") + buf.write("\2\2\2\u02cc\u02ca\3\2\2\2\u02cd\u02ce\7$\2\2\u02ce\u00c2") + buf.write("\3\2\2\2\u02cf\u02d0\7\62\2\2\u02d0\u02d2\t\5\2\2\u02d1") + buf.write("\u02d3\5\u00c9e\2\u02d2\u02d1\3\2\2\2\u02d3\u02d4\3\2") + buf.write("\2\2\u02d4\u02d2\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5\u02d7") + buf.write("\3\2\2\2\u02d6\u02d8\5\u00cbf\2\u02d7\u02d6\3\2\2\2\u02d7") + buf.write("\u02d8\3\2\2\2\u02d8\u00c4\3\2\2\2\u02d9\u02e2\7\62\2") + buf.write("\2\u02da\u02de\4\63;\2\u02db\u02dd\4\62;\2\u02dc\u02db") + buf.write("\3\2\2\2\u02dd\u02e0\3\2\2\2\u02de\u02dc\3\2\2\2\u02de") + buf.write("\u02df\3\2\2\2\u02df\u02e2\3\2\2\2\u02e0\u02de\3\2\2\2") + buf.write("\u02e1\u02d9\3\2\2\2\u02e1\u02da\3\2\2\2\u02e2\u02e4\3") + buf.write("\2\2\2\u02e3\u02e5\5\u00cbf\2\u02e4\u02e3\3\2\2\2\u02e4") + buf.write("\u02e5\3\2\2\2\u02e5\u00c6\3\2\2\2\u02e6\u02e8\7\62\2") + buf.write("\2\u02e7\u02e9\4\629\2\u02e8\u02e7\3\2\2\2\u02e9\u02ea") + buf.write("\3\2\2\2\u02ea\u02e8\3\2\2\2\u02ea\u02eb\3\2\2\2\u02eb") + buf.write("\u02ed\3\2\2\2\u02ec\u02ee\5\u00cbf\2\u02ed\u02ec\3\2") + buf.write("\2\2\u02ed\u02ee\3\2\2\2\u02ee\u00c8\3\2\2\2\u02ef\u02f0") + buf.write("\t\6\2\2\u02f0\u00ca\3\2\2\2\u02f1\u02f8\t\7\2\2\u02f2") + buf.write("\u02f3\t\b\2\2\u02f3\u02f8\t\t\2\2\u02f4\u02f5\t\b\2\2") + buf.write("\u02f5\u02f6\t\t\2\2\u02f6\u02f8\t\t\2\2\u02f7\u02f1\3") + buf.write("\2\2\2\u02f7\u02f2\3\2\2\2\u02f7\u02f4\3\2\2\2\u02f8\u00cc") + buf.write("\3\2\2\2\u02f9\u02fb\4\62;\2\u02fa\u02f9\3\2\2\2\u02fb") + buf.write("\u02fc\3\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2") + buf.write("\u02fd\u02fe\3\2\2\2\u02fe\u0302\7\60\2\2\u02ff\u0301") + buf.write("\4\62;\2\u0300\u02ff\3\2\2\2\u0301\u0304\3\2\2\2\u0302") + buf.write("\u0300\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0306\3\2\2\2") + buf.write("\u0304\u0302\3\2\2\2\u0305\u0307\5\u00cfh\2\u0306\u0305") + buf.write("\3\2\2\2\u0306\u0307\3\2\2\2\u0307\u0309\3\2\2\2\u0308") + buf.write("\u030a\5\u00d1i\2\u0309\u0308\3\2\2\2\u0309\u030a\3\2") + buf.write("\2\2\u030a\u032a\3\2\2\2\u030b\u030d\7\60\2\2\u030c\u030e") + buf.write("\4\62;\2\u030d\u030c\3\2\2\2\u030e\u030f\3\2\2\2\u030f") + buf.write("\u030d\3\2\2\2\u030f\u0310\3\2\2\2\u0310\u0312\3\2\2\2") + buf.write("\u0311\u0313\5\u00cfh\2\u0312\u0311\3\2\2\2\u0312\u0313") + buf.write("\3\2\2\2\u0313\u0315\3\2\2\2\u0314\u0316\5\u00d1i\2\u0315") + buf.write("\u0314\3\2\2\2\u0315\u0316\3\2\2\2\u0316\u032a\3\2\2\2") + buf.write("\u0317\u0319\4\62;\2\u0318\u0317\3\2\2\2\u0319\u031a\3") + buf.write("\2\2\2\u031a\u0318\3\2\2\2\u031a\u031b\3\2\2\2\u031b\u031c") + buf.write("\3\2\2\2\u031c\u031e\5\u00cfh\2\u031d\u031f\5\u00d1i\2") + buf.write("\u031e\u031d\3\2\2\2\u031e\u031f\3\2\2\2\u031f\u032a\3") + buf.write("\2\2\2\u0320\u0322\4\62;\2\u0321\u0320\3\2\2\2\u0322\u0323") + buf.write("\3\2\2\2\u0323\u0321\3\2\2\2\u0323\u0324\3\2\2\2\u0324") + buf.write("\u0326\3\2\2\2\u0325\u0327\5\u00cfh\2\u0326\u0325\3\2") + buf.write("\2\2\u0326\u0327\3\2\2\2\u0327\u0328\3\2\2\2\u0328\u032a") + buf.write("\5\u00d1i\2\u0329\u02fa\3\2\2\2\u0329\u030b\3\2\2\2\u0329") + buf.write("\u0318\3\2\2\2\u0329\u0321\3\2\2\2\u032a\u00ce\3\2\2\2") + buf.write("\u032b\u032d\t\n\2\2\u032c\u032e\t\13\2\2\u032d\u032c") + buf.write("\3\2\2\2\u032d\u032e\3\2\2\2\u032e\u0330\3\2\2\2\u032f") + buf.write("\u0331\4\62;\2\u0330\u032f\3\2\2\2\u0331\u0332\3\2\2\2") + buf.write("\u0332\u0330\3\2\2\2\u0332\u0333\3\2\2\2\u0333\u00d0\3") + buf.write("\2\2\2\u0334\u0335\t\f\2\2\u0335\u00d2\3\2\2\2\u0336\u0337") + buf.write("\7^\2\2\u0337\u033a\t\r\2\2\u0338\u033a\5\u00d5k\2\u0339") + buf.write("\u0336\3\2\2\2\u0339\u0338\3\2\2\2\u033a\u00d4\3\2\2\2") + buf.write("\u033b\u033c\7^\2\2\u033c\u033d\4\62\65\2\u033d\u033e") + buf.write("\4\629\2\u033e\u0345\4\629\2\u033f\u0340\7^\2\2\u0340") + buf.write("\u0341\4\629\2\u0341\u0345\4\629\2\u0342\u0343\7^\2\2") + buf.write("\u0343\u0345\4\629\2\u0344\u033b\3\2\2\2\u0344\u033f\3") + buf.write("\2\2\2\u0344\u0342\3\2\2\2\u0345\u00d6\3\2\2\2\u0346\u0347") + buf.write("\7^\2\2\u0347\u0348\7w\2\2\u0348\u0349\5\u00c9e\2\u0349") + buf.write("\u034a\5\u00c9e\2\u034a\u034b\5\u00c9e\2\u034b\u034c\5") + buf.write("\u00c9e\2\u034c\u00d8\3\2\2\2\u034d\u034e\t\16\2\2\u034e") + buf.write("\u034f\3\2\2\2\u034f\u0350\bm\2\2\u0350\u00da\3\2\2\2") + buf.write("\u0351\u0352\7^\2\2\u0352\u0353\3\2\2\2\u0353\u0354\b") + buf.write("n\2\2\u0354\u00dc\3\2\2\2\u0355\u0356\4\5\0\2\u0356\u00de") + buf.write("\3\2\2\2\u0357\u0358\7\61\2\2\u0358\u0359\7,\2\2\u0359") + buf.write("\u035d\3\2\2\2\u035a\u035c\13\2\2\2\u035b\u035a\3\2\2") + buf.write("\2\u035c\u035f\3\2\2\2\u035d\u035e\3\2\2\2\u035d\u035b") + buf.write("\3\2\2\2\u035e\u0360\3\2\2\2\u035f\u035d\3\2\2\2\u0360") + buf.write("\u0361\7,\2\2\u0361\u0362\7\61\2\2\u0362\u0363\3\2\2\2") + buf.write("\u0363\u0364\bp\2\2\u0364\u00e0\3\2\2\2\u0365\u0366\7") + buf.write("\61\2\2\u0366\u0367\7\61\2\2\u0367\u036b\3\2\2\2\u0368") + buf.write("\u036a\n\17\2\2\u0369\u0368\3\2\2\2\u036a\u036d\3\2\2") + buf.write("\2\u036b\u0369\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036f") + buf.write("\3\2\2\2\u036d\u036b\3\2\2\2\u036e\u0370\7\17\2\2\u036f") + buf.write("\u036e\3\2\2\2\u036f\u0370\3\2\2\2\u0370\u0371\3\2\2\2") + buf.write("\u0371\u0372\7\f\2\2\u0372\u0373\3\2\2\2\u0373\u0374\b") + buf.write("q\2\2\u0374\u00e2\3\2\2\2\u0375\u0379\7%\2\2\u0376\u0378") + buf.write("\n\17\2\2\u0377\u0376\3\2\2\2\u0378\u037b\3\2\2\2\u0379") + buf.write("\u0377\3\2\2\2\u0379\u037a\3\2\2\2\u037a\u037d\3\2\2\2") + buf.write("\u037b\u0379\3\2\2\2\u037c\u037e\7\17\2\2\u037d\u037c") + buf.write("\3\2\2\2\u037d\u037e\3\2\2\2\u037e\u037f\3\2\2\2\u037f") + buf.write("\u0380\7\f\2\2\u0380\u0381\3\2\2\2\u0381\u0382\br\2\2") + buf.write("\u0382\u00e4\3\2\2\2\'\2\u02b1\u02b3\u02b9\u02be\u02c3") + buf.write("\u02c8\u02ca\u02d4\u02d7\u02de\u02e1\u02e4\u02ea\u02ed") + buf.write("\u02f7\u02fc\u0302\u0306\u0309\u030f\u0312\u0315\u031a") + buf.write("\u031e\u0323\u0326\u0329\u032d\u0332\u0339\u0344\u035d") + buf.write("\u036b\u036f\u0379\u037d\3\2\3\2") + return buf.getvalue() + + +class CLexer(Lexer): + + atn = ATNDeserializer().deserialize(serializedATN()) + + decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] + + T__0 = 1 + T__1 = 2 + T__2 = 3 + T__3 = 4 + T__4 = 5 + T__5 = 6 + T__6 = 7 + T__7 = 8 + T__8 = 9 + T__9 = 10 + T__10 = 11 + T__11 = 12 + T__12 = 13 + T__13 = 14 + T__14 = 15 + T__15 = 16 + T__16 = 17 + T__17 = 18 + T__18 = 19 + T__19 = 20 + T__20 = 21 + T__21 = 22 + T__22 = 23 + T__23 = 24 + T__24 = 25 + T__25 = 26 + T__26 = 27 + T__27 = 28 + T__28 = 29 + T__29 = 30 + T__30 = 31 + T__31 = 32 + T__32 = 33 + T__33 = 34 + T__34 = 35 + T__35 = 36 + T__36 = 37 + T__37 = 38 + T__38 = 39 + T__39 = 40 + T__40 = 41 + T__41 = 42 + T__42 = 43 + T__43 = 44 + T__44 = 45 + T__45 = 46 + T__46 = 47 + T__47 = 48 + T__48 = 49 + T__49 = 50 + T__50 = 51 + T__51 = 52 + T__52 = 53 + T__53 = 54 + T__54 = 55 + T__55 = 56 + T__56 = 57 + T__57 = 58 + T__58 = 59 + T__59 = 60 + T__60 = 61 + T__61 = 62 + T__62 = 63 + T__63 = 64 + T__64 = 65 + T__65 = 66 + T__66 = 67 + T__67 = 68 + T__68 = 69 + T__69 = 70 + T__70 = 71 + T__71 = 72 + T__72 = 73 + T__73 = 74 + T__74 = 75 + T__75 = 76 + T__76 = 77 + T__77 = 78 + T__78 = 79 + T__79 = 80 + T__80 = 81 + T__81 = 82 + T__82 = 83 + T__83 = 84 + T__84 = 85 + T__85 = 86 + T__86 = 87 + T__87 = 88 + T__88 = 89 + T__89 = 90 + T__90 = 91 + T__91 = 92 + IDENTIFIER = 93 + CHARACTER_LITERAL = 94 + STRING_LITERAL = 95 + HEX_LITERAL = 96 + DECIMAL_LITERAL = 97 + OCTAL_LITERAL = 98 + FLOATING_POINT_LITERAL = 99 + WS = 100 + BS = 101 + UnicodeVocabulary = 102 + COMMENT = 103 + LINE_COMMENT = 104 + LINE_COMMAND = 105 + + channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] + + modeNames = [ "DEFAULT_MODE" ] + + literalNames = [ "", + "'{'", "';'", "'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'", "'goto'", "'continue'", "'break'", "'return'" ] + + symbolicNames = [ "", + "IDENTIFIER", "CHARACTER_LITERAL", "STRING_LITERAL", "HEX_LITERAL", + "DECIMAL_LITERAL", "OCTAL_LITERAL", "FLOATING_POINT_LITERAL", + "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT", + "LINE_COMMAND" ] + + ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", + "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", + "T__14", "T__15", "T__16", "T__17", "T__18", "T__19", + "T__20", "T__21", "T__22", "T__23", "T__24", "T__25", + "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", + "T__32", "T__33", "T__34", "T__35", "T__36", "T__37", + "T__38", "T__39", "T__40", "T__41", "T__42", "T__43", + "T__44", "T__45", "T__46", "T__47", "T__48", "T__49", + "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", + "T__56", "T__57", "T__58", "T__59", "T__60", "T__61", + "T__62", "T__63", "T__64", "T__65", "T__66", "T__67", + "T__68", "T__69", "T__70", "T__71", "T__72", "T__73", + "T__74", "T__75", "T__76", "T__77", "T__78", "T__79", + "T__80", "T__81", "T__82", "T__83", "T__84", "T__85", + "T__86", "T__87", "T__88", "T__89", "T__90", "T__91", + "IDENTIFIER", "LETTER", "CHARACTER_LITERAL", "STRING_LITERAL", + "HEX_LITERAL", "DECIMAL_LITERAL", "OCTAL_LITERAL", "HexDigit", + "IntegerTypeSuffix", "FLOATING_POINT_LITERAL", "Exponent", + "FloatTypeSuffix", "EscapeSequence", "OctalEscape", "UnicodeEscape", + "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT", + "LINE_COMMAND" ] + + grammarFileName = "C.g4" + + # @param output= sys.stdout Type: TextIO + def __init__(self,input=None,output= sys.stdout): + super().__init__(input, output) + self.checkVersion("4.7.1") + self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) + self._actions = None + self._predicates = None + + + + def printTokenInfo(self,line,offset,tokenText): + print(str(line)+ ',' + str(offset) + ':' + str(tokenText)) + + def StorePredicateExpression(self,StartLine,StartOffset,EndLine,EndOffset,Text): + PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.PredicateExpressionList.append(PredExp) + + def StoreEnumerationDefinition(self,StartLine,StartOffset,EndLine,EndOffset,Text): + EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.EnumerationDefinitionList.append(EnumDef) + + def StoreStructUnionDefinition(self,StartLine,StartOffset,EndLine,EndOffset,Text): + SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.StructUnionDefinitionList.append(SUDef) + + def StoreTypedefDefinition(self,StartLine,StartOffset,EndLine,EndOffset,FromText,ToText): + Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.TypedefDefinitionList.append(Tdef) + + def StoreFunctionDefinition(self,StartLine,StartOffset,EndLine,EndOffset,ModifierText,DeclText,LeftBraceLine,LeftBraceOffset,DeclLine,DeclOffset): + FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset)) + FileProfile.FunctionDefinitionList.append(FuncDef) + + def StoreVariableDeclaration(self,StartLine,StartOffset,EndLine,EndOffset,ModifierText,DeclText): + VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.VariableDeclarationList.append(VarDecl) + + def StoreFunctionCalling(self,StartLine,StartOffset,EndLine,EndOffset,FuncName,ParamList): + FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.FunctionCallingList.append(FuncCall) + + + diff --git a/BaseTools/Source/Python/Eot/CParser4/CListener.py b/BaseTools/Source/Python/Eot/CParser4/CListener.py new file mode 100644 index 0000000000..f745c33aad --- /dev/null +++ b/BaseTools/Source/Python/Eot/CParser4/CListener.py @@ -0,0 +1,814 @@ +# Generated from C.g4 by ANTLR 4.7.1 +from antlr4 import * +if __name__ is not None and "." in __name__: + from .CParser import CParser +else: + from CParser import CParser + +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +import Ecc.CodeFragment as CodeFragment +import Ecc.FileProfile as FileProfile + + +# This class defines a complete listener for a parse tree produced by CParser. +class CListener(ParseTreeListener): + + # Enter a parse tree produced by CParser#translation_unit. + # @param ctx Type: CParser.Translation_unitContext + def enterTranslation_unit(self,ctx): + pass + + # Exit a parse tree produced by CParser#translation_unit. + # @param ctx Type: CParser.Translation_unitContext + def exitTranslation_unit(self,ctx): + pass + + + # Enter a parse tree produced by CParser#external_declaration. + # @param ctx Type: CParser.External_declarationContext + def enterExternal_declaration(self,ctx): + pass + + # Exit a parse tree produced by CParser#external_declaration. + # @param ctx Type: CParser.External_declarationContext + def exitExternal_declaration(self,ctx): + pass + + + # Enter a parse tree produced by CParser#function_definition. + # @param ctx Type: CParser.Function_definitionContext + def enterFunction_definition(self,ctx): + pass + + # Exit a parse tree produced by CParser#function_definition. + # @param ctx Type: CParser.Function_definitionContext + def exitFunction_definition(self,ctx): + pass + + + # Enter a parse tree produced by CParser#declaration_specifiers. + # @param ctx Type: CParser.Declaration_specifiersContext + def enterDeclaration_specifiers(self,ctx): + pass + + # Exit a parse tree produced by CParser#declaration_specifiers. + # @param ctx Type: CParser.Declaration_specifiersContext + def exitDeclaration_specifiers(self,ctx): + pass + + + # Enter a parse tree produced by CParser#declaration. + # @param ctx Type: CParser.DeclarationContext + def enterDeclaration(self,ctx): + pass + + # Exit a parse tree produced by CParser#declaration. + # @param ctx Type: CParser.DeclarationContext + def exitDeclaration(self,ctx): + pass + + + # Enter a parse tree produced by CParser#init_declarator_list. + # @param ctx Type: CParser.Init_declarator_listContext + def enterInit_declarator_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#init_declarator_list. + # @param ctx Type: CParser.Init_declarator_listContext + def exitInit_declarator_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#init_declarator. + # @param ctx Type: CParser.Init_declaratorContext + def enterInit_declarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#init_declarator. + # @param ctx Type: CParser.Init_declaratorContext + def exitInit_declarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#storage_class_specifier. + # @param ctx Type: CParser.Storage_class_specifierContext + def enterStorage_class_specifier(self,ctx): + pass + + # Exit a parse tree produced by CParser#storage_class_specifier. + # @param ctx Type: CParser.Storage_class_specifierContext + def exitStorage_class_specifier(self,ctx): + pass + + + # Enter a parse tree produced by CParser#type_specifier. + # @param ctx Type: CParser.Type_specifierContext + def enterType_specifier(self,ctx): + pass + + # Exit a parse tree produced by CParser#type_specifier. + # @param ctx Type: CParser.Type_specifierContext + def exitType_specifier(self,ctx): + pass + + + # Enter a parse tree produced by CParser#type_id. + # @param ctx Type: CParser.Type_idContext + def enterType_id(self,ctx): + pass + + # Exit a parse tree produced by CParser#type_id. + # @param ctx Type: CParser.Type_idContext + def exitType_id(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_or_union_specifier. + # @param ctx Type: CParser.Struct_or_union_specifierContext + def enterStruct_or_union_specifier(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_or_union_specifier. + # @param ctx Type: CParser.Struct_or_union_specifierContext + def exitStruct_or_union_specifier(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_or_union. + # @param ctx Type: CParser.Struct_or_unionContext + def enterStruct_or_union(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_or_union. + # @param ctx Type: CParser.Struct_or_unionContext + def exitStruct_or_union(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_declaration_list. + # @param ctx Type: CParser.Struct_declaration_listContext + def enterStruct_declaration_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_declaration_list. + # @param ctx Type: CParser.Struct_declaration_listContext + def exitStruct_declaration_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_declaration. + # @param ctx Type: CParser.Struct_declarationContext + def enterStruct_declaration(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_declaration. + # @param ctx Type: CParser.Struct_declarationContext + def exitStruct_declaration(self,ctx): + pass + + + # Enter a parse tree produced by CParser#specifier_qualifier_list. + # @param ctx Type: CParser.Specifier_qualifier_listContext + def enterSpecifier_qualifier_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#specifier_qualifier_list. + # @param ctx Type: CParser.Specifier_qualifier_listContext + def exitSpecifier_qualifier_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_declarator_list. + # @param ctx Type: CParser.Struct_declarator_listContext + def enterStruct_declarator_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_declarator_list. + # @param ctx Type: CParser.Struct_declarator_listContext + def exitStruct_declarator_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#struct_declarator. + # @param ctx Type: CParser.Struct_declaratorContext + def enterStruct_declarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#struct_declarator. + # @param ctx Type: CParser.Struct_declaratorContext + def exitStruct_declarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#enum_specifier. + # @param ctx Type: CParser.Enum_specifierContext + def enterEnum_specifier(self,ctx): + pass + + # Exit a parse tree produced by CParser#enum_specifier. + # @param ctx Type: CParser.Enum_specifierContext + def exitEnum_specifier(self,ctx): + pass + + + # Enter a parse tree produced by CParser#enumerator_list. + # @param ctx Type: CParser.Enumerator_listContext + def enterEnumerator_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#enumerator_list. + # @param ctx Type: CParser.Enumerator_listContext + def exitEnumerator_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#enumerator. + # @param ctx Type: CParser.EnumeratorContext + def enterEnumerator(self,ctx): + pass + + # Exit a parse tree produced by CParser#enumerator. + # @param ctx Type: CParser.EnumeratorContext + def exitEnumerator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#type_qualifier. + # @param ctx Type: CParser.Type_qualifierContext + def enterType_qualifier(self,ctx): + pass + + # Exit a parse tree produced by CParser#type_qualifier. + # @param ctx Type: CParser.Type_qualifierContext + def exitType_qualifier(self,ctx): + pass + + + # Enter a parse tree produced by CParser#declarator. + # @param ctx Type: CParser.DeclaratorContext + def enterDeclarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#declarator. + # @param ctx Type: CParser.DeclaratorContext + def exitDeclarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#direct_declarator. + # @param ctx Type: CParser.Direct_declaratorContext + def enterDirect_declarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#direct_declarator. + # @param ctx Type: CParser.Direct_declaratorContext + def exitDirect_declarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#declarator_suffix. + # @param ctx Type: CParser.Declarator_suffixContext + def enterDeclarator_suffix(self,ctx): + pass + + # Exit a parse tree produced by CParser#declarator_suffix. + # @param ctx Type: CParser.Declarator_suffixContext + def exitDeclarator_suffix(self,ctx): + pass + + + # Enter a parse tree produced by CParser#pointer. + # @param ctx Type: CParser.PointerContext + def enterPointer(self,ctx): + pass + + # Exit a parse tree produced by CParser#pointer. + # @param ctx Type: CParser.PointerContext + def exitPointer(self,ctx): + pass + + + # Enter a parse tree produced by CParser#parameter_type_list. + # @param ctx Type: CParser.Parameter_type_listContext + def enterParameter_type_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#parameter_type_list. + # @param ctx Type: CParser.Parameter_type_listContext + def exitParameter_type_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#parameter_list. + # @param ctx Type: CParser.Parameter_listContext + def enterParameter_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#parameter_list. + # @param ctx Type: CParser.Parameter_listContext + def exitParameter_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#parameter_declaration. + # @param ctx Type: CParser.Parameter_declarationContext + def enterParameter_declaration(self,ctx): + pass + + # Exit a parse tree produced by CParser#parameter_declaration. + # @param ctx Type: CParser.Parameter_declarationContext + def exitParameter_declaration(self,ctx): + pass + + + # Enter a parse tree produced by CParser#identifier_list. + # @param ctx Type: CParser.Identifier_listContext + def enterIdentifier_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#identifier_list. + # @param ctx Type: CParser.Identifier_listContext + def exitIdentifier_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#type_name. + # @param ctx Type: CParser.Type_nameContext + def enterType_name(self,ctx): + pass + + # Exit a parse tree produced by CParser#type_name. + # @param ctx Type: CParser.Type_nameContext + def exitType_name(self,ctx): + pass + + + # Enter a parse tree produced by CParser#abstract_declarator. + # @param ctx Type: CParser.Abstract_declaratorContext + def enterAbstract_declarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#abstract_declarator. + # @param ctx Type: CParser.Abstract_declaratorContext + def exitAbstract_declarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#direct_abstract_declarator. + # @param ctx Type: CParser.Direct_abstract_declaratorContext + def enterDirect_abstract_declarator(self,ctx): + pass + + # Exit a parse tree produced by CParser#direct_abstract_declarator. + # @param ctx Type: CParser.Direct_abstract_declaratorContext + def exitDirect_abstract_declarator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#abstract_declarator_suffix. + # @param ctx Type: CParser.Abstract_declarator_suffixContext + def enterAbstract_declarator_suffix(self,ctx): + pass + + # Exit a parse tree produced by CParser#abstract_declarator_suffix. + # @param ctx Type: CParser.Abstract_declarator_suffixContext + def exitAbstract_declarator_suffix(self,ctx): + pass + + + # Enter a parse tree produced by CParser#initializer. + # @param ctx Type: CParser.InitializerContext + def enterInitializer(self,ctx): + pass + + # Exit a parse tree produced by CParser#initializer. + # @param ctx Type: CParser.InitializerContext + def exitInitializer(self,ctx): + pass + + + # Enter a parse tree produced by CParser#initializer_list. + # @param ctx Type: CParser.Initializer_listContext + def enterInitializer_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#initializer_list. + # @param ctx Type: CParser.Initializer_listContext + def exitInitializer_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#argument_expression_list. + # @param ctx Type: CParser.Argument_expression_listContext + def enterArgument_expression_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#argument_expression_list. + # @param ctx Type: CParser.Argument_expression_listContext + def exitArgument_expression_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#additive_expression. + # @param ctx Type: CParser.Additive_expressionContext + def enterAdditive_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#additive_expression. + # @param ctx Type: CParser.Additive_expressionContext + def exitAdditive_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#multiplicative_expression. + # @param ctx Type: CParser.Multiplicative_expressionContext + def enterMultiplicative_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#multiplicative_expression. + # @param ctx Type: CParser.Multiplicative_expressionContext + def exitMultiplicative_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#cast_expression. + # @param ctx Type: CParser.Cast_expressionContext + def enterCast_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#cast_expression. + # @param ctx Type: CParser.Cast_expressionContext + def exitCast_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#unary_expression. + # @param ctx Type: CParser.Unary_expressionContext + def enterUnary_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#unary_expression. + # @param ctx Type: CParser.Unary_expressionContext + def exitUnary_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#postfix_expression. + # @param ctx Type: CParser.Postfix_expressionContext + def enterPostfix_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#postfix_expression. + # @param ctx Type: CParser.Postfix_expressionContext + def exitPostfix_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#macro_parameter_list. + # @param ctx Type: CParser.Macro_parameter_listContext + def enterMacro_parameter_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#macro_parameter_list. + # @param ctx Type: CParser.Macro_parameter_listContext + def exitMacro_parameter_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#unary_operator. + # @param ctx Type: CParser.Unary_operatorContext + def enterUnary_operator(self,ctx): + pass + + # Exit a parse tree produced by CParser#unary_operator. + # @param ctx Type: CParser.Unary_operatorContext + def exitUnary_operator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#primary_expression. + # @param ctx Type: CParser.Primary_expressionContext + def enterPrimary_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#primary_expression. + # @param ctx Type: CParser.Primary_expressionContext + def exitPrimary_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#constant. + # @param ctx Type: CParser.ConstantContext + def enterConstant(self,ctx): + pass + + # Exit a parse tree produced by CParser#constant. + # @param ctx Type: CParser.ConstantContext + def exitConstant(self,ctx): + pass + + + # Enter a parse tree produced by CParser#expression. + # @param ctx Type: CParser.ExpressionContext + def enterExpression(self,ctx): + pass + + # Exit a parse tree produced by CParser#expression. + # @param ctx Type: CParser.ExpressionContext + def exitExpression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#constant_expression. + # @param ctx Type: CParser.Constant_expressionContext + def enterConstant_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#constant_expression. + # @param ctx Type: CParser.Constant_expressionContext + def exitConstant_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#assignment_expression. + # @param ctx Type: CParser.Assignment_expressionContext + def enterAssignment_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#assignment_expression. + # @param ctx Type: CParser.Assignment_expressionContext + def exitAssignment_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#lvalue. + # @param ctx Type: CParser.LvalueContext + def enterLvalue(self,ctx): + pass + + # Exit a parse tree produced by CParser#lvalue. + # @param ctx Type: CParser.LvalueContext + def exitLvalue(self,ctx): + pass + + + # Enter a parse tree produced by CParser#assignment_operator. + # @param ctx Type: CParser.Assignment_operatorContext + def enterAssignment_operator(self,ctx): + pass + + # Exit a parse tree produced by CParser#assignment_operator. + # @param ctx Type: CParser.Assignment_operatorContext + def exitAssignment_operator(self,ctx): + pass + + + # Enter a parse tree produced by CParser#conditional_expression. + # @param ctx Type: CParser.Conditional_expressionContext + def enterConditional_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#conditional_expression. + # @param ctx Type: CParser.Conditional_expressionContext + def exitConditional_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#logical_or_expression. + # @param ctx Type: CParser.Logical_or_expressionContext + def enterLogical_or_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#logical_or_expression. + # @param ctx Type: CParser.Logical_or_expressionContext + def exitLogical_or_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#logical_and_expression. + # @param ctx Type: CParser.Logical_and_expressionContext + def enterLogical_and_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#logical_and_expression. + # @param ctx Type: CParser.Logical_and_expressionContext + def exitLogical_and_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#inclusive_or_expression. + # @param ctx Type: CParser.Inclusive_or_expressionContext + def enterInclusive_or_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#inclusive_or_expression. + # @param ctx Type: CParser.Inclusive_or_expressionContext + def exitInclusive_or_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#exclusive_or_expression. + # @param ctx Type: CParser.Exclusive_or_expressionContext + def enterExclusive_or_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#exclusive_or_expression. + # @param ctx Type: CParser.Exclusive_or_expressionContext + def exitExclusive_or_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#and_expression. + # @param ctx Type: CParser.And_expressionContext + def enterAnd_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#and_expression. + # @param ctx Type: CParser.And_expressionContext + def exitAnd_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#equality_expression. + # @param ctx Type: CParser.Equality_expressionContext + def enterEquality_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#equality_expression. + # @param ctx Type: CParser.Equality_expressionContext + def exitEquality_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#relational_expression. + # @param ctx Type: CParser.Relational_expressionContext + def enterRelational_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#relational_expression. + # @param ctx Type: CParser.Relational_expressionContext + def exitRelational_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#shift_expression. + # @param ctx Type: CParser.Shift_expressionContext + def enterShift_expression(self,ctx): + pass + + # Exit a parse tree produced by CParser#shift_expression. + # @param ctx Type: CParser.Shift_expressionContext + def exitShift_expression(self,ctx): + pass + + + # Enter a parse tree produced by CParser#statement. + # @param ctx Type: CParser.StatementContext + def enterStatement(self,ctx): + pass + + # Exit a parse tree produced by CParser#statement. + # @param ctx Type: CParser.StatementContext + def exitStatement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#asm2_statement. + # @param ctx Type: CParser.Asm2_statementContext + def enterAsm2_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#asm2_statement. + # @param ctx Type: CParser.Asm2_statementContext + def exitAsm2_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#asm1_statement. + # @param ctx Type: CParser.Asm1_statementContext + def enterAsm1_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#asm1_statement. + # @param ctx Type: CParser.Asm1_statementContext + def exitAsm1_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#asm_statement. + # @param ctx Type: CParser.Asm_statementContext + def enterAsm_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#asm_statement. + # @param ctx Type: CParser.Asm_statementContext + def exitAsm_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#macro_statement. + # @param ctx Type: CParser.Macro_statementContext + def enterMacro_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#macro_statement. + # @param ctx Type: CParser.Macro_statementContext + def exitMacro_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#labeled_statement. + # @param ctx Type: CParser.Labeled_statementContext + def enterLabeled_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#labeled_statement. + # @param ctx Type: CParser.Labeled_statementContext + def exitLabeled_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#compound_statement. + # @param ctx Type: CParser.Compound_statementContext + def enterCompound_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#compound_statement. + # @param ctx Type: CParser.Compound_statementContext + def exitCompound_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#statement_list. + # @param ctx Type: CParser.Statement_listContext + def enterStatement_list(self,ctx): + pass + + # Exit a parse tree produced by CParser#statement_list. + # @param ctx Type: CParser.Statement_listContext + def exitStatement_list(self,ctx): + pass + + + # Enter a parse tree produced by CParser#expression_statement. + # @param ctx Type: CParser.Expression_statementContext + def enterExpression_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#expression_statement. + # @param ctx Type: CParser.Expression_statementContext + def exitExpression_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#selection_statement. + # @param ctx Type: CParser.Selection_statementContext + def enterSelection_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#selection_statement. + # @param ctx Type: CParser.Selection_statementContext + def exitSelection_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#iteration_statement. + # @param ctx Type: CParser.Iteration_statementContext + def enterIteration_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#iteration_statement. + # @param ctx Type: CParser.Iteration_statementContext + def exitIteration_statement(self,ctx): + pass + + + # Enter a parse tree produced by CParser#jump_statement. + # @param ctx Type: CParser.Jump_statementContext + def enterJump_statement(self,ctx): + pass + + # Exit a parse tree produced by CParser#jump_statement. + # @param ctx Type: CParser.Jump_statementContext + def exitJump_statement(self,ctx): + pass + + diff --git a/BaseTools/Source/Python/Eot/CParser4/CParser.py b/BaseTools/Source/Python/Eot/CParser4/CParser.py new file mode 100644 index 0000000000..08d8a423f4 --- /dev/null +++ b/BaseTools/Source/Python/Eot/CParser4/CParser.py @@ -0,0 +1,6279 @@ +# Generated from C.g4 by ANTLR 4.7.1 +# encoding: utf-8 +from antlr4 import * +from io import StringIO +from typing.io import TextIO +import sys + + +## @file +# The file defines the parser for C source files. +# +# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE. +# This file is generated by running: +# java org.antlr.Tool C.g +# +# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at: +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +import Ecc.CodeFragment as CodeFragment +import Ecc.FileProfile as FileProfile + +def serializedATN(): + with StringIO() as buf: + buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3k") + buf.write("\u0380\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") + buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") + buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") + buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") + buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") + buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t") + buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4") + buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64") + buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t") + buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t") + buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\3\2\7\2\u0092\n\2\f\2\16\2\u0095") + buf.write("\13\2\3\3\5\3\u0098\n\3\3\3\3\3\7\3\u009c\n\3\f\3\16\3") + buf.write("\u009f\13\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3\u00a7\n\3\5\3") + buf.write("\u00a9\n\3\3\4\5\4\u00ac\n\4\3\4\3\4\6\4\u00b0\n\4\r\4") + buf.write("\16\4\u00b1\3\4\3\4\3\4\5\4\u00b7\n\4\3\4\3\4\3\5\3\5") + buf.write("\3\5\6\5\u00be\n\5\r\5\16\5\u00bf\3\6\3\6\5\6\u00c4\n") + buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6\u00cc\n\6\3\6\3\6\3\6\5") + buf.write("\6\u00d1\n\6\3\7\3\7\3\7\7\7\u00d6\n\7\f\7\16\7\u00d9") + buf.write("\13\7\3\b\3\b\3\b\5\b\u00de\n\b\3\t\3\t\3\n\3\n\3\n\3") + buf.write("\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n") + buf.write("\7\n\u00f3\n\n\f\n\16\n\u00f6\13\n\3\n\3\n\5\n\u00fa\n") + buf.write("\n\3\13\3\13\3\f\3\f\5\f\u0100\n\f\3\f\3\f\3\f\3\f\3\f") + buf.write("\3\f\3\f\5\f\u0109\n\f\3\r\3\r\3\16\6\16\u010e\n\16\r") + buf.write("\16\16\16\u010f\3\17\3\17\3\17\3\17\3\20\3\20\6\20\u0118") + buf.write("\n\20\r\20\16\20\u0119\3\21\3\21\3\21\7\21\u011f\n\21") + buf.write("\f\21\16\21\u0122\13\21\3\22\3\22\3\22\5\22\u0127\n\22") + buf.write("\3\22\3\22\5\22\u012b\n\22\3\23\3\23\3\23\3\23\5\23\u0131") + buf.write("\n\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\5\23\u013a\n") + buf.write("\23\3\23\3\23\3\23\3\23\5\23\u0140\n\23\3\24\3\24\3\24") + buf.write("\7\24\u0145\n\24\f\24\16\24\u0148\13\24\3\25\3\25\3\25") + buf.write("\5\25\u014d\n\25\3\26\3\26\3\27\5\27\u0152\n\27\3\27\5") + buf.write("\27\u0155\n\27\3\27\5\27\u0158\n\27\3\27\5\27\u015b\n") + buf.write("\27\3\27\3\27\5\27\u015f\n\27\3\30\3\30\7\30\u0163\n\30") + buf.write("\f\30\16\30\u0166\13\30\3\30\3\30\5\30\u016a\n\30\3\30") + buf.write("\3\30\3\30\6\30\u016f\n\30\r\30\16\30\u0170\5\30\u0173") + buf.write("\n\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31") + buf.write("\3\31\3\31\3\31\3\31\3\31\3\31\5\31\u0185\n\31\3\32\3") + buf.write("\32\6\32\u0189\n\32\r\32\16\32\u018a\3\32\5\32\u018e\n") + buf.write("\32\3\32\3\32\3\32\5\32\u0193\n\32\3\33\3\33\3\33\5\33") + buf.write("\u0198\n\33\3\33\5\33\u019b\n\33\3\34\3\34\3\34\5\34\u01a0") + buf.write("\n\34\3\34\7\34\u01a3\n\34\f\34\16\34\u01a6\13\34\3\35") + buf.write("\3\35\3\35\7\35\u01ab\n\35\f\35\16\35\u01ae\13\35\3\35") + buf.write("\5\35\u01b1\n\35\3\35\7\35\u01b4\n\35\f\35\16\35\u01b7") + buf.write("\13\35\3\35\5\35\u01ba\n\35\3\36\3\36\3\36\7\36\u01bf") + buf.write("\n\36\f\36\16\36\u01c2\13\36\3\37\3\37\5\37\u01c6\n\37") + buf.write("\3\37\5\37\u01c9\n\37\3 \3 \5 \u01cd\n \3 \5 \u01d0\n") + buf.write(" \3!\3!\3!\3!\3!\5!\u01d7\n!\3!\7!\u01da\n!\f!\16!\u01dd") + buf.write("\13!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\5") + buf.write("\"\u01eb\n\"\3#\3#\3#\3#\5#\u01f1\n#\3#\3#\5#\u01f5\n") + buf.write("#\3$\3$\3$\7$\u01fa\n$\f$\16$\u01fd\13$\3%\3%\5%\u0201") + buf.write("\n%\3%\3%\3%\5%\u0206\n%\7%\u0208\n%\f%\16%\u020b\13%") + buf.write("\3&\3&\3&\3&\3&\7&\u0212\n&\f&\16&\u0215\13&\3\'\3\'\3") + buf.write("\'\3\'\3\'\3\'\3\'\7\'\u021e\n\'\f\'\16\'\u0221\13\'\3") + buf.write("(\3(\3(\3(\3(\3(\5(\u0229\n(\3)\3)\3)\3)\3)\3)\3)\3)\3") + buf.write(")\3)\3)\3)\3)\3)\3)\5)\u023a\n)\3*\3*\3*\3*\3*\3*\3*\3") + buf.write("*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3") + buf.write("*\3*\3*\3*\7*\u0259\n*\f*\16*\u025c\13*\3+\3+\3+\7+\u0261") + buf.write("\n+\f+\16+\u0264\13+\3,\3,\3-\3-\3-\3-\3-\3-\5-\u026e") + buf.write("\n-\3.\3.\3.\3.\3.\7.\u0275\n.\f.\16.\u0278\13.\3.\6.") + buf.write("\u027b\n.\r.\16.\u027c\6.\u027f\n.\r.\16.\u0280\3.\7.") + buf.write("\u0284\n.\f.\16.\u0287\13.\3.\5.\u028a\n.\3/\3/\3/\7/") + buf.write("\u028f\n/\f/\16/\u0292\13/\3\60\3\60\3\61\3\61\3\61\3") + buf.write("\61\3\61\5\61\u029b\n\61\3\62\3\62\3\63\3\63\3\64\3\64") + buf.write("\3\64\3\64\3\64\3\64\3\64\5\64\u02a8\n\64\3\65\3\65\3") + buf.write("\65\7\65\u02ad\n\65\f\65\16\65\u02b0\13\65\3\66\3\66\3") + buf.write("\66\7\66\u02b5\n\66\f\66\16\66\u02b8\13\66\3\67\3\67\3") + buf.write("\67\7\67\u02bd\n\67\f\67\16\67\u02c0\13\67\38\38\38\7") + buf.write("8\u02c5\n8\f8\168\u02c8\138\39\39\39\79\u02cd\n9\f9\16") + buf.write("9\u02d0\139\3:\3:\3:\7:\u02d5\n:\f:\16:\u02d8\13:\3;\3") + buf.write(";\3;\7;\u02dd\n;\f;\16;\u02e0\13;\3<\3<\3<\7<\u02e5\n") + buf.write("<\f<\16<\u02e8\13<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\5") + buf.write("=\u02f5\n=\3>\5>\u02f8\n>\3>\3>\3>\7>\u02fd\n>\f>\16>") + buf.write("\u0300\13>\3>\3>\3>\3?\3?\3?\7?\u0308\n?\f?\16?\u030b") + buf.write("\13?\3?\3?\3@\3@\3@\7@\u0312\n@\f@\16@\u0315\13@\3@\3") + buf.write("@\3A\3A\3A\7A\u031c\nA\fA\16A\u031f\13A\3A\5A\u0322\n") + buf.write("A\3A\5A\u0325\nA\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3") + buf.write("B\5B\u0334\nB\3C\3C\7C\u0338\nC\fC\16C\u033b\13C\3C\5") + buf.write("C\u033e\nC\3C\3C\3D\6D\u0343\nD\rD\16D\u0344\3E\3E\3E") + buf.write("\3E\5E\u034b\nE\3F\3F\3F\3F\3F\3F\3F\3F\5F\u0355\nF\3") + buf.write("F\3F\3F\3F\3F\3F\5F\u035d\nF\3G\3G\3G\3G\3G\3G\3G\3G\3") + buf.write("G\3G\3G\3G\3G\3G\3G\3G\5G\u036f\nG\3H\3H\3H\3H\3H\3H\3") + buf.write("H\3H\3H\3H\3H\3H\3H\5H\u037e\nH\3H\2\2I\2\4\6\b\n\f\16") + buf.write("\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDF") + buf.write("HJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086") + buf.write("\u0088\u008a\u008c\u008e\2\f\3\2\b\f\3\2\27\30\3\2\33") + buf.write("\'\5\2,,./\679\4\2\7\7:C\3\2IJ\3\2KN\3\2OP\3\2\4\4\3\2") + buf.write("\26\26\2\u03d8\2\u0093\3\2\2\2\4\u00a8\3\2\2\2\6\u00ab") + buf.write("\3\2\2\2\b\u00bd\3\2\2\2\n\u00d0\3\2\2\2\f\u00d2\3\2\2") + buf.write("\2\16\u00da\3\2\2\2\20\u00df\3\2\2\2\22\u00f9\3\2\2\2") + buf.write("\24\u00fb\3\2\2\2\26\u0108\3\2\2\2\30\u010a\3\2\2\2\32") + buf.write("\u010d\3\2\2\2\34\u0111\3\2\2\2\36\u0117\3\2\2\2 \u011b") + buf.write("\3\2\2\2\"\u012a\3\2\2\2$\u013f\3\2\2\2&\u0141\3\2\2\2") + buf.write("(\u0149\3\2\2\2*\u014e\3\2\2\2,\u015e\3\2\2\2.\u0172\3") + buf.write("\2\2\2\60\u0184\3\2\2\2\62\u0192\3\2\2\2\64\u0194\3\2") + buf.write("\2\2\66\u019c\3\2\2\28\u01b9\3\2\2\2:\u01bb\3\2\2\2<\u01c8") + buf.write("\3\2\2\2>\u01cf\3\2\2\2@\u01d6\3\2\2\2B\u01ea\3\2\2\2") + buf.write("D\u01f4\3\2\2\2F\u01f6\3\2\2\2H\u01fe\3\2\2\2J\u020c\3") + buf.write("\2\2\2L\u0216\3\2\2\2N\u0228\3\2\2\2P\u0239\3\2\2\2R\u023b") + buf.write("\3\2\2\2T\u025d\3\2\2\2V\u0265\3\2\2\2X\u026d\3\2\2\2") + buf.write("Z\u0289\3\2\2\2\\\u028b\3\2\2\2^\u0293\3\2\2\2`\u029a") + buf.write("\3\2\2\2b\u029c\3\2\2\2d\u029e\3\2\2\2f\u02a0\3\2\2\2") + buf.write("h\u02a9\3\2\2\2j\u02b1\3\2\2\2l\u02b9\3\2\2\2n\u02c1\3") + buf.write("\2\2\2p\u02c9\3\2\2\2r\u02d1\3\2\2\2t\u02d9\3\2\2\2v\u02e1") + buf.write("\3\2\2\2x\u02f4\3\2\2\2z\u02f7\3\2\2\2|\u0304\3\2\2\2") + buf.write("~\u030e\3\2\2\2\u0080\u0318\3\2\2\2\u0082\u0333\3\2\2") + buf.write("\2\u0084\u0335\3\2\2\2\u0086\u0342\3\2\2\2\u0088\u034a") + buf.write("\3\2\2\2\u008a\u035c\3\2\2\2\u008c\u036e\3\2\2\2\u008e") + buf.write("\u037d\3\2\2\2\u0090\u0092\5\4\3\2\u0091\u0090\3\2\2\2") + buf.write("\u0092\u0095\3\2\2\2\u0093\u0091\3\2\2\2\u0093\u0094\3") + buf.write("\2\2\2\u0094\3\3\2\2\2\u0095\u0093\3\2\2\2\u0096\u0098") + buf.write("\5\b\5\2\u0097\u0096\3\2\2\2\u0097\u0098\3\2\2\2\u0098") + buf.write("\u0099\3\2\2\2\u0099\u009d\5,\27\2\u009a\u009c\5\n\6\2") + buf.write("\u009b\u009a\3\2\2\2\u009c\u009f\3\2\2\2\u009d\u009b\3") + buf.write("\2\2\2\u009d\u009e\3\2\2\2\u009e\u00a0\3\2\2\2\u009f\u009d") + buf.write("\3\2\2\2\u00a0\u00a1\7\3\2\2\u00a1\u00a9\3\2\2\2\u00a2") + buf.write("\u00a9\5\6\4\2\u00a3\u00a9\5\n\6\2\u00a4\u00a6\5\u0080") + buf.write("A\2\u00a5\u00a7\7\4\2\2\u00a6\u00a5\3\2\2\2\u00a6\u00a7") + buf.write("\3\2\2\2\u00a7\u00a9\3\2\2\2\u00a8\u0097\3\2\2\2\u00a8") + buf.write("\u00a2\3\2\2\2\u00a8\u00a3\3\2\2\2\u00a8\u00a4\3\2\2\2") + buf.write("\u00a9\5\3\2\2\2\u00aa\u00ac\5\b\5\2\u00ab\u00aa\3\2\2") + buf.write("\2\u00ab\u00ac\3\2\2\2\u00ac\u00ad\3\2\2\2\u00ad\u00b6") + buf.write("\5,\27\2\u00ae\u00b0\5\n\6\2\u00af\u00ae\3\2\2\2\u00b0") + buf.write("\u00b1\3\2\2\2\u00b1\u00af\3\2\2\2\u00b1\u00b2\3\2\2\2") + buf.write("\u00b2\u00b3\3\2\2\2\u00b3\u00b4\5\u0084C\2\u00b4\u00b7") + buf.write("\3\2\2\2\u00b5\u00b7\5\u0084C\2\u00b6\u00af\3\2\2\2\u00b6") + buf.write("\u00b5\3\2\2\2\u00b7\u00b8\3\2\2\2\u00b8\u00b9\b\4\1\2") + buf.write("\u00b9\7\3\2\2\2\u00ba\u00be\5\20\t\2\u00bb\u00be\5\22") + buf.write("\n\2\u00bc\u00be\5*\26\2\u00bd\u00ba\3\2\2\2\u00bd\u00bb") + buf.write("\3\2\2\2\u00bd\u00bc\3\2\2\2\u00be\u00bf\3\2\2\2\u00bf") + buf.write("\u00bd\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\t\3\2\2\2\u00c1") + buf.write("\u00c3\7\5\2\2\u00c2\u00c4\5\b\5\2\u00c3\u00c2\3\2\2\2") + buf.write("\u00c3\u00c4\3\2\2\2\u00c4\u00c5\3\2\2\2\u00c5\u00c6\5") + buf.write("\f\7\2\u00c6\u00c7\7\4\2\2\u00c7\u00c8\b\6\1\2\u00c8\u00d1") + buf.write("\3\2\2\2\u00c9\u00cb\5\b\5\2\u00ca\u00cc\5\f\7\2\u00cb") + buf.write("\u00ca\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00cd\3\2\2\2") + buf.write("\u00cd\u00ce\7\4\2\2\u00ce\u00cf\b\6\1\2\u00cf\u00d1\3") + buf.write("\2\2\2\u00d0\u00c1\3\2\2\2\u00d0\u00c9\3\2\2\2\u00d1\13") + buf.write("\3\2\2\2\u00d2\u00d7\5\16\b\2\u00d3\u00d4\7\6\2\2\u00d4") + buf.write("\u00d6\5\16\b\2\u00d5\u00d3\3\2\2\2\u00d6\u00d9\3\2\2") + buf.write("\2\u00d7\u00d5\3\2\2\2\u00d7\u00d8\3\2\2\2\u00d8\r\3\2") + buf.write("\2\2\u00d9\u00d7\3\2\2\2\u00da\u00dd\5,\27\2\u00db\u00dc") + buf.write("\7\7\2\2\u00dc\u00de\5D#\2\u00dd\u00db\3\2\2\2\u00dd\u00de") + buf.write("\3\2\2\2\u00de\17\3\2\2\2\u00df\u00e0\t\2\2\2\u00e0\21") + buf.write("\3\2\2\2\u00e1\u00fa\7\r\2\2\u00e2\u00fa\7\16\2\2\u00e3") + buf.write("\u00fa\7\17\2\2\u00e4\u00fa\7\20\2\2\u00e5\u00fa\7\21") + buf.write("\2\2\u00e6\u00fa\7\22\2\2\u00e7\u00fa\7\23\2\2\u00e8\u00fa") + buf.write("\7\24\2\2\u00e9\u00fa\7\25\2\2\u00ea\u00eb\5\26\f\2\u00eb") + buf.write("\u00ec\b\n\1\2\u00ec\u00fa\3\2\2\2\u00ed\u00ee\5$\23\2") + buf.write("\u00ee\u00ef\b\n\1\2\u00ef\u00fa\3\2\2\2\u00f0\u00f4\7") + buf.write("_\2\2\u00f1\u00f3\5*\26\2\u00f2\u00f1\3\2\2\2\u00f3\u00f6") + buf.write("\3\2\2\2\u00f4\u00f2\3\2\2\2\u00f4\u00f5\3\2\2\2\u00f5") + buf.write("\u00f7\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f7\u00fa\5,\27\2") + buf.write("\u00f8\u00fa\5\24\13\2\u00f9\u00e1\3\2\2\2\u00f9\u00e2") + buf.write("\3\2\2\2\u00f9\u00e3\3\2\2\2\u00f9\u00e4\3\2\2\2\u00f9") + buf.write("\u00e5\3\2\2\2\u00f9\u00e6\3\2\2\2\u00f9\u00e7\3\2\2\2") + buf.write("\u00f9\u00e8\3\2\2\2\u00f9\u00e9\3\2\2\2\u00f9\u00ea\3") + buf.write("\2\2\2\u00f9\u00ed\3\2\2\2\u00f9\u00f0\3\2\2\2\u00f9\u00f8") + buf.write("\3\2\2\2\u00fa\23\3\2\2\2\u00fb\u00fc\7_\2\2\u00fc\25") + buf.write("\3\2\2\2\u00fd\u00ff\5\30\r\2\u00fe\u0100\7_\2\2\u00ff") + buf.write("\u00fe\3\2\2\2\u00ff\u0100\3\2\2\2\u0100\u0101\3\2\2\2") + buf.write("\u0101\u0102\7\3\2\2\u0102\u0103\5\32\16\2\u0103\u0104") + buf.write("\7\26\2\2\u0104\u0109\3\2\2\2\u0105\u0106\5\30\r\2\u0106") + buf.write("\u0107\7_\2\2\u0107\u0109\3\2\2\2\u0108\u00fd\3\2\2\2") + buf.write("\u0108\u0105\3\2\2\2\u0109\27\3\2\2\2\u010a\u010b\t\3") + buf.write("\2\2\u010b\31\3\2\2\2\u010c\u010e\5\34\17\2\u010d\u010c") + buf.write("\3\2\2\2\u010e\u010f\3\2\2\2\u010f\u010d\3\2\2\2\u010f") + buf.write("\u0110\3\2\2\2\u0110\33\3\2\2\2\u0111\u0112\5\36\20\2") + buf.write("\u0112\u0113\5 \21\2\u0113\u0114\7\4\2\2\u0114\35\3\2") + buf.write("\2\2\u0115\u0118\5*\26\2\u0116\u0118\5\22\n\2\u0117\u0115") + buf.write("\3\2\2\2\u0117\u0116\3\2\2\2\u0118\u0119\3\2\2\2\u0119") + buf.write("\u0117\3\2\2\2\u0119\u011a\3\2\2\2\u011a\37\3\2\2\2\u011b") + buf.write("\u0120\5\"\22\2\u011c\u011d\7\6\2\2\u011d\u011f\5\"\22") + buf.write("\2\u011e\u011c\3\2\2\2\u011f\u0122\3\2\2\2\u0120\u011e") + buf.write("\3\2\2\2\u0120\u0121\3\2\2\2\u0121!\3\2\2\2\u0122\u0120") + buf.write("\3\2\2\2\u0123\u0126\5,\27\2\u0124\u0125\7\31\2\2\u0125") + buf.write("\u0127\5^\60\2\u0126\u0124\3\2\2\2\u0126\u0127\3\2\2\2") + buf.write("\u0127\u012b\3\2\2\2\u0128\u0129\7\31\2\2\u0129\u012b") + buf.write("\5^\60\2\u012a\u0123\3\2\2\2\u012a\u0128\3\2\2\2\u012b") + buf.write("#\3\2\2\2\u012c\u012d\7\32\2\2\u012d\u012e\7\3\2\2\u012e") + buf.write("\u0130\5&\24\2\u012f\u0131\7\6\2\2\u0130\u012f\3\2\2\2") + buf.write("\u0130\u0131\3\2\2\2\u0131\u0132\3\2\2\2\u0132\u0133\7") + buf.write("\26\2\2\u0133\u0140\3\2\2\2\u0134\u0135\7\32\2\2\u0135") + buf.write("\u0136\7_\2\2\u0136\u0137\7\3\2\2\u0137\u0139\5&\24\2") + buf.write("\u0138\u013a\7\6\2\2\u0139\u0138\3\2\2\2\u0139\u013a\3") + buf.write("\2\2\2\u013a\u013b\3\2\2\2\u013b\u013c\7\26\2\2\u013c") + buf.write("\u0140\3\2\2\2\u013d\u013e\7\32\2\2\u013e\u0140\7_\2\2") + buf.write("\u013f\u012c\3\2\2\2\u013f\u0134\3\2\2\2\u013f\u013d\3") + buf.write("\2\2\2\u0140%\3\2\2\2\u0141\u0146\5(\25\2\u0142\u0143") + buf.write("\7\6\2\2\u0143\u0145\5(\25\2\u0144\u0142\3\2\2\2\u0145") + buf.write("\u0148\3\2\2\2\u0146\u0144\3\2\2\2\u0146\u0147\3\2\2\2") + buf.write("\u0147\'\3\2\2\2\u0148\u0146\3\2\2\2\u0149\u014c\7_\2") + buf.write("\2\u014a\u014b\7\7\2\2\u014b\u014d\5^\60\2\u014c\u014a") + buf.write("\3\2\2\2\u014c\u014d\3\2\2\2\u014d)\3\2\2\2\u014e\u014f") + buf.write("\t\4\2\2\u014f+\3\2\2\2\u0150\u0152\5\62\32\2\u0151\u0150") + buf.write("\3\2\2\2\u0151\u0152\3\2\2\2\u0152\u0154\3\2\2\2\u0153") + buf.write("\u0155\7$\2\2\u0154\u0153\3\2\2\2\u0154\u0155\3\2\2\2") + buf.write("\u0155\u0157\3\2\2\2\u0156\u0158\7%\2\2\u0157\u0156\3") + buf.write("\2\2\2\u0157\u0158\3\2\2\2\u0158\u015a\3\2\2\2\u0159\u015b") + buf.write("\7&\2\2\u015a\u0159\3\2\2\2\u015a\u015b\3\2\2\2\u015b") + buf.write("\u015c\3\2\2\2\u015c\u015f\5.\30\2\u015d\u015f\5\62\32") + buf.write("\2\u015e\u0151\3\2\2\2\u015e\u015d\3\2\2\2\u015f-\3\2") + buf.write("\2\2\u0160\u0164\7_\2\2\u0161\u0163\5\60\31\2\u0162\u0161") + buf.write("\3\2\2\2\u0163\u0166\3\2\2\2\u0164\u0162\3\2\2\2\u0164") + buf.write("\u0165\3\2\2\2\u0165\u0173\3\2\2\2\u0166\u0164\3\2\2\2") + buf.write("\u0167\u0169\7(\2\2\u0168\u016a\7$\2\2\u0169\u0168\3\2") + buf.write("\2\2\u0169\u016a\3\2\2\2\u016a\u016b\3\2\2\2\u016b\u016c") + buf.write("\5,\27\2\u016c\u016e\7)\2\2\u016d\u016f\5\60\31\2\u016e") + buf.write("\u016d\3\2\2\2\u016f\u0170\3\2\2\2\u0170\u016e\3\2\2\2") + buf.write("\u0170\u0171\3\2\2\2\u0171\u0173\3\2\2\2\u0172\u0160\3") + buf.write("\2\2\2\u0172\u0167\3\2\2\2\u0173/\3\2\2\2\u0174\u0175") + buf.write("\7*\2\2\u0175\u0176\5^\60\2\u0176\u0177\7+\2\2\u0177\u0185") + buf.write("\3\2\2\2\u0178\u0179\7*\2\2\u0179\u0185\7+\2\2\u017a\u017b") + buf.write("\7(\2\2\u017b\u017c\5\64\33\2\u017c\u017d\7)\2\2\u017d") + buf.write("\u0185\3\2\2\2\u017e\u017f\7(\2\2\u017f\u0180\5:\36\2") + buf.write("\u0180\u0181\7)\2\2\u0181\u0185\3\2\2\2\u0182\u0183\7") + buf.write("(\2\2\u0183\u0185\7)\2\2\u0184\u0174\3\2\2\2\u0184\u0178") + buf.write("\3\2\2\2\u0184\u017a\3\2\2\2\u0184\u017e\3\2\2\2\u0184") + buf.write("\u0182\3\2\2\2\u0185\61\3\2\2\2\u0186\u0188\7,\2\2\u0187") + buf.write("\u0189\5*\26\2\u0188\u0187\3\2\2\2\u0189\u018a\3\2\2\2") + buf.write("\u018a\u0188\3\2\2\2\u018a\u018b\3\2\2\2\u018b\u018d\3") + buf.write("\2\2\2\u018c\u018e\5\62\32\2\u018d\u018c\3\2\2\2\u018d") + buf.write("\u018e\3\2\2\2\u018e\u0193\3\2\2\2\u018f\u0190\7,\2\2") + buf.write("\u0190\u0193\5\62\32\2\u0191\u0193\7,\2\2\u0192\u0186") + buf.write("\3\2\2\2\u0192\u018f\3\2\2\2\u0192\u0191\3\2\2\2\u0193") + buf.write("\63\3\2\2\2\u0194\u019a\5\66\34\2\u0195\u0197\7\6\2\2") + buf.write("\u0196\u0198\7\37\2\2\u0197\u0196\3\2\2\2\u0197\u0198") + buf.write("\3\2\2\2\u0198\u0199\3\2\2\2\u0199\u019b\7-\2\2\u019a") + buf.write("\u0195\3\2\2\2\u019a\u019b\3\2\2\2\u019b\65\3\2\2\2\u019c") + buf.write("\u01a4\58\35\2\u019d\u019f\7\6\2\2\u019e\u01a0\7\37\2") + buf.write("\2\u019f\u019e\3\2\2\2\u019f\u01a0\3\2\2\2\u01a0\u01a1") + buf.write("\3\2\2\2\u01a1\u01a3\58\35\2\u01a2\u019d\3\2\2\2\u01a3") + buf.write("\u01a6\3\2\2\2\u01a4\u01a2\3\2\2\2\u01a4\u01a5\3\2\2\2") + buf.write("\u01a5\67\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7\u01ac\5\b") + buf.write("\5\2\u01a8\u01ab\5,\27\2\u01a9\u01ab\5> \2\u01aa\u01a8") + buf.write("\3\2\2\2\u01aa\u01a9\3\2\2\2\u01ab\u01ae\3\2\2\2\u01ac") + buf.write("\u01aa\3\2\2\2\u01ac\u01ad\3\2\2\2\u01ad\u01b0\3\2\2\2") + buf.write("\u01ae\u01ac\3\2\2\2\u01af\u01b1\7\37\2\2\u01b0\u01af") + buf.write("\3\2\2\2\u01b0\u01b1\3\2\2\2\u01b1\u01ba\3\2\2\2\u01b2") + buf.write("\u01b4\5\62\32\2\u01b3\u01b2\3\2\2\2\u01b4\u01b7\3\2\2") + buf.write("\2\u01b5\u01b3\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u01b8") + buf.write("\3\2\2\2\u01b7\u01b5\3\2\2\2\u01b8\u01ba\7_\2\2\u01b9") + buf.write("\u01a7\3\2\2\2\u01b9\u01b5\3\2\2\2\u01ba9\3\2\2\2\u01bb") + buf.write("\u01c0\7_\2\2\u01bc\u01bd\7\6\2\2\u01bd\u01bf\7_\2\2\u01be") + buf.write("\u01bc\3\2\2\2\u01bf\u01c2\3\2\2\2\u01c0\u01be\3\2\2\2") + buf.write("\u01c0\u01c1\3\2\2\2\u01c1;\3\2\2\2\u01c2\u01c0\3\2\2") + buf.write("\2\u01c3\u01c5\5\36\20\2\u01c4\u01c6\5> \2\u01c5\u01c4") + buf.write("\3\2\2\2\u01c5\u01c6\3\2\2\2\u01c6\u01c9\3\2\2\2\u01c7") + buf.write("\u01c9\5\24\13\2\u01c8\u01c3\3\2\2\2\u01c8\u01c7\3\2\2") + buf.write("\2\u01c9=\3\2\2\2\u01ca\u01cc\5\62\32\2\u01cb\u01cd\5") + buf.write("@!\2\u01cc\u01cb\3\2\2\2\u01cc\u01cd\3\2\2\2\u01cd\u01d0") + buf.write("\3\2\2\2\u01ce\u01d0\5@!\2\u01cf\u01ca\3\2\2\2\u01cf\u01ce") + buf.write("\3\2\2\2\u01d0?\3\2\2\2\u01d1\u01d2\7(\2\2\u01d2\u01d3") + buf.write("\5> \2\u01d3\u01d4\7)\2\2\u01d4\u01d7\3\2\2\2\u01d5\u01d7") + buf.write("\5B\"\2\u01d6\u01d1\3\2\2\2\u01d6\u01d5\3\2\2\2\u01d7") + buf.write("\u01db\3\2\2\2\u01d8\u01da\5B\"\2\u01d9\u01d8\3\2\2\2") + buf.write("\u01da\u01dd\3\2\2\2\u01db\u01d9\3\2\2\2\u01db\u01dc\3") + buf.write("\2\2\2\u01dcA\3\2\2\2\u01dd\u01db\3\2\2\2\u01de\u01df") + buf.write("\7*\2\2\u01df\u01eb\7+\2\2\u01e0\u01e1\7*\2\2\u01e1\u01e2") + buf.write("\5^\60\2\u01e2\u01e3\7+\2\2\u01e3\u01eb\3\2\2\2\u01e4") + buf.write("\u01e5\7(\2\2\u01e5\u01eb\7)\2\2\u01e6\u01e7\7(\2\2\u01e7") + buf.write("\u01e8\5\64\33\2\u01e8\u01e9\7)\2\2\u01e9\u01eb\3\2\2") + buf.write("\2\u01ea\u01de\3\2\2\2\u01ea\u01e0\3\2\2\2\u01ea\u01e4") + buf.write("\3\2\2\2\u01ea\u01e6\3\2\2\2\u01ebC\3\2\2\2\u01ec\u01f5") + buf.write("\5`\61\2\u01ed\u01ee\7\3\2\2\u01ee\u01f0\5F$\2\u01ef\u01f1") + buf.write("\7\6\2\2\u01f0\u01ef\3\2\2\2\u01f0\u01f1\3\2\2\2\u01f1") + buf.write("\u01f2\3\2\2\2\u01f2\u01f3\7\26\2\2\u01f3\u01f5\3\2\2") + buf.write("\2\u01f4\u01ec\3\2\2\2\u01f4\u01ed\3\2\2\2\u01f5E\3\2") + buf.write("\2\2\u01f6\u01fb\5D#\2\u01f7\u01f8\7\6\2\2\u01f8\u01fa") + buf.write("\5D#\2\u01f9\u01f7\3\2\2\2\u01fa\u01fd\3\2\2\2\u01fb\u01f9") + buf.write("\3\2\2\2\u01fb\u01fc\3\2\2\2\u01fcG\3\2\2\2\u01fd\u01fb") + buf.write("\3\2\2\2\u01fe\u0200\5`\61\2\u01ff\u0201\7\37\2\2\u0200") + buf.write("\u01ff\3\2\2\2\u0200\u0201\3\2\2\2\u0201\u0209\3\2\2\2") + buf.write("\u0202\u0203\7\6\2\2\u0203\u0205\5`\61\2\u0204\u0206\7") + buf.write("\37\2\2\u0205\u0204\3\2\2\2\u0205\u0206\3\2\2\2\u0206") + buf.write("\u0208\3\2\2\2\u0207\u0202\3\2\2\2\u0208\u020b\3\2\2\2") + buf.write("\u0209\u0207\3\2\2\2\u0209\u020a\3\2\2\2\u020aI\3\2\2") + buf.write("\2\u020b\u0209\3\2\2\2\u020c\u0213\5L\'\2\u020d\u020e") + buf.write("\7.\2\2\u020e\u0212\5L\'\2\u020f\u0210\7/\2\2\u0210\u0212") + buf.write("\5L\'\2\u0211\u020d\3\2\2\2\u0211\u020f\3\2\2\2\u0212") + buf.write("\u0215\3\2\2\2\u0213\u0211\3\2\2\2\u0213\u0214\3\2\2\2") + buf.write("\u0214K\3\2\2\2\u0215\u0213\3\2\2\2\u0216\u021f\5N(\2") + buf.write("\u0217\u0218\7,\2\2\u0218\u021e\5N(\2\u0219\u021a\7\60") + buf.write("\2\2\u021a\u021e\5N(\2\u021b\u021c\7\61\2\2\u021c\u021e") + buf.write("\5N(\2\u021d\u0217\3\2\2\2\u021d\u0219\3\2\2\2\u021d\u021b") + buf.write("\3\2\2\2\u021e\u0221\3\2\2\2\u021f\u021d\3\2\2\2\u021f") + buf.write("\u0220\3\2\2\2\u0220M\3\2\2\2\u0221\u021f\3\2\2\2\u0222") + buf.write("\u0223\7(\2\2\u0223\u0224\5<\37\2\u0224\u0225\7)\2\2\u0225") + buf.write("\u0226\5N(\2\u0226\u0229\3\2\2\2\u0227\u0229\5P)\2\u0228") + buf.write("\u0222\3\2\2\2\u0228\u0227\3\2\2\2\u0229O\3\2\2\2\u022a") + buf.write("\u023a\5R*\2\u022b\u022c\7\62\2\2\u022c\u023a\5P)\2\u022d") + buf.write("\u022e\7\63\2\2\u022e\u023a\5P)\2\u022f\u0230\5V,\2\u0230") + buf.write("\u0231\5N(\2\u0231\u023a\3\2\2\2\u0232\u0233\7\64\2\2") + buf.write("\u0233\u023a\5P)\2\u0234\u0235\7\64\2\2\u0235\u0236\7") + buf.write("(\2\2\u0236\u0237\5<\37\2\u0237\u0238\7)\2\2\u0238\u023a") + buf.write("\3\2\2\2\u0239\u022a\3\2\2\2\u0239\u022b\3\2\2\2\u0239") + buf.write("\u022d\3\2\2\2\u0239\u022f\3\2\2\2\u0239\u0232\3\2\2\2") + buf.write("\u0239\u0234\3\2\2\2\u023aQ\3\2\2\2\u023b\u023c\5X-\2") + buf.write("\u023c\u025a\b*\1\2\u023d\u023e\7*\2\2\u023e\u023f\5\\") + buf.write("/\2\u023f\u0240\7+\2\2\u0240\u0259\3\2\2\2\u0241\u0242") + buf.write("\7(\2\2\u0242\u0243\7)\2\2\u0243\u0259\b*\1\2\u0244\u0245") + buf.write("\7(\2\2\u0245\u0246\5H%\2\u0246\u0247\7)\2\2\u0247\u0248") + buf.write("\b*\1\2\u0248\u0259\3\2\2\2\u0249\u024a\7(\2\2\u024a\u024b") + buf.write("\5T+\2\u024b\u024c\7)\2\2\u024c\u0259\3\2\2\2\u024d\u024e") + buf.write("\7\65\2\2\u024e\u024f\7_\2\2\u024f\u0259\b*\1\2\u0250") + buf.write("\u0251\7,\2\2\u0251\u0252\7_\2\2\u0252\u0259\b*\1\2\u0253") + buf.write("\u0254\7\66\2\2\u0254\u0255\7_\2\2\u0255\u0259\b*\1\2") + buf.write("\u0256\u0259\7\62\2\2\u0257\u0259\7\63\2\2\u0258\u023d") + buf.write("\3\2\2\2\u0258\u0241\3\2\2\2\u0258\u0244\3\2\2\2\u0258") + buf.write("\u0249\3\2\2\2\u0258\u024d\3\2\2\2\u0258\u0250\3\2\2\2") + buf.write("\u0258\u0253\3\2\2\2\u0258\u0256\3\2\2\2\u0258\u0257\3") + buf.write("\2\2\2\u0259\u025c\3\2\2\2\u025a\u0258\3\2\2\2\u025a\u025b") + buf.write("\3\2\2\2\u025bS\3\2\2\2\u025c\u025a\3\2\2\2\u025d\u0262") + buf.write("\58\35\2\u025e\u025f\7\6\2\2\u025f\u0261\58\35\2\u0260") + buf.write("\u025e\3\2\2\2\u0261\u0264\3\2\2\2\u0262\u0260\3\2\2\2") + buf.write("\u0262\u0263\3\2\2\2\u0263U\3\2\2\2\u0264\u0262\3\2\2") + buf.write("\2\u0265\u0266\t\5\2\2\u0266W\3\2\2\2\u0267\u026e\7_\2") + buf.write("\2\u0268\u026e\5Z.\2\u0269\u026a\7(\2\2\u026a\u026b\5") + buf.write("\\/\2\u026b\u026c\7)\2\2\u026c\u026e\3\2\2\2\u026d\u0267") + buf.write("\3\2\2\2\u026d\u0268\3\2\2\2\u026d\u0269\3\2\2\2\u026e") + buf.write("Y\3\2\2\2\u026f\u028a\7b\2\2\u0270\u028a\7d\2\2\u0271") + buf.write("\u028a\7c\2\2\u0272\u028a\7`\2\2\u0273\u0275\7_\2\2\u0274") + buf.write("\u0273\3\2\2\2\u0275\u0278\3\2\2\2\u0276\u0274\3\2\2\2") + buf.write("\u0276\u0277\3\2\2\2\u0277\u027a\3\2\2\2\u0278\u0276\3") + buf.write("\2\2\2\u0279\u027b\7a\2\2\u027a\u0279\3\2\2\2\u027b\u027c") + buf.write("\3\2\2\2\u027c\u027a\3\2\2\2\u027c\u027d\3\2\2\2\u027d") + buf.write("\u027f\3\2\2\2\u027e\u0276\3\2\2\2\u027f\u0280\3\2\2\2") + buf.write("\u0280\u027e\3\2\2\2\u0280\u0281\3\2\2\2\u0281\u0285\3") + buf.write("\2\2\2\u0282\u0284\7_\2\2\u0283\u0282\3\2\2\2\u0284\u0287") + buf.write("\3\2\2\2\u0285\u0283\3\2\2\2\u0285\u0286\3\2\2\2\u0286") + buf.write("\u028a\3\2\2\2\u0287\u0285\3\2\2\2\u0288\u028a\7e\2\2") + buf.write("\u0289\u026f\3\2\2\2\u0289\u0270\3\2\2\2\u0289\u0271\3") + buf.write("\2\2\2\u0289\u0272\3\2\2\2\u0289\u027e\3\2\2\2\u0289\u0288") + buf.write("\3\2\2\2\u028a[\3\2\2\2\u028b\u0290\5`\61\2\u028c\u028d") + buf.write("\7\6\2\2\u028d\u028f\5`\61\2\u028e\u028c\3\2\2\2\u028f") + buf.write("\u0292\3\2\2\2\u0290\u028e\3\2\2\2\u0290\u0291\3\2\2\2") + buf.write("\u0291]\3\2\2\2\u0292\u0290\3\2\2\2\u0293\u0294\5f\64") + buf.write("\2\u0294_\3\2\2\2\u0295\u0296\5b\62\2\u0296\u0297\5d\63") + buf.write("\2\u0297\u0298\5`\61\2\u0298\u029b\3\2\2\2\u0299\u029b") + buf.write("\5f\64\2\u029a\u0295\3\2\2\2\u029a\u0299\3\2\2\2\u029b") + buf.write("a\3\2\2\2\u029c\u029d\5P)\2\u029dc\3\2\2\2\u029e\u029f") + buf.write("\t\6\2\2\u029fe\3\2\2\2\u02a0\u02a7\5h\65\2\u02a1\u02a2") + buf.write("\7D\2\2\u02a2\u02a3\5\\/\2\u02a3\u02a4\7\31\2\2\u02a4") + buf.write("\u02a5\5f\64\2\u02a5\u02a6\b\64\1\2\u02a6\u02a8\3\2\2") + buf.write("\2\u02a7\u02a1\3\2\2\2\u02a7\u02a8\3\2\2\2\u02a8g\3\2") + buf.write("\2\2\u02a9\u02ae\5j\66\2\u02aa\u02ab\7E\2\2\u02ab\u02ad") + buf.write("\5j\66\2\u02ac\u02aa\3\2\2\2\u02ad\u02b0\3\2\2\2\u02ae") + buf.write("\u02ac\3\2\2\2\u02ae\u02af\3\2\2\2\u02afi\3\2\2\2\u02b0") + buf.write("\u02ae\3\2\2\2\u02b1\u02b6\5l\67\2\u02b2\u02b3\7F\2\2") + buf.write("\u02b3\u02b5\5l\67\2\u02b4\u02b2\3\2\2\2\u02b5\u02b8\3") + buf.write("\2\2\2\u02b6\u02b4\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7k") + buf.write("\3\2\2\2\u02b8\u02b6\3\2\2\2\u02b9\u02be\5n8\2\u02ba\u02bb") + buf.write("\7G\2\2\u02bb\u02bd\5n8\2\u02bc\u02ba\3\2\2\2\u02bd\u02c0") + buf.write("\3\2\2\2\u02be\u02bc\3\2\2\2\u02be\u02bf\3\2\2\2\u02bf") + buf.write("m\3\2\2\2\u02c0\u02be\3\2\2\2\u02c1\u02c6\5p9\2\u02c2") + buf.write("\u02c3\7H\2\2\u02c3\u02c5\5p9\2\u02c4\u02c2\3\2\2\2\u02c5") + buf.write("\u02c8\3\2\2\2\u02c6\u02c4\3\2\2\2\u02c6\u02c7\3\2\2\2") + buf.write("\u02c7o\3\2\2\2\u02c8\u02c6\3\2\2\2\u02c9\u02ce\5r:\2") + buf.write("\u02ca\u02cb\7\67\2\2\u02cb\u02cd\5r:\2\u02cc\u02ca\3") + buf.write("\2\2\2\u02cd\u02d0\3\2\2\2\u02ce\u02cc\3\2\2\2\u02ce\u02cf") + buf.write("\3\2\2\2\u02cfq\3\2\2\2\u02d0\u02ce\3\2\2\2\u02d1\u02d6") + buf.write("\5t;\2\u02d2\u02d3\t\7\2\2\u02d3\u02d5\5t;\2\u02d4\u02d2") + buf.write("\3\2\2\2\u02d5\u02d8\3\2\2\2\u02d6\u02d4\3\2\2\2\u02d6") + buf.write("\u02d7\3\2\2\2\u02d7s\3\2\2\2\u02d8\u02d6\3\2\2\2\u02d9") + buf.write("\u02de\5v<\2\u02da\u02db\t\b\2\2\u02db\u02dd\5v<\2\u02dc") + buf.write("\u02da\3\2\2\2\u02dd\u02e0\3\2\2\2\u02de\u02dc\3\2\2\2") + buf.write("\u02de\u02df\3\2\2\2\u02dfu\3\2\2\2\u02e0\u02de\3\2\2") + buf.write("\2\u02e1\u02e6\5J&\2\u02e2\u02e3\t\t\2\2\u02e3\u02e5\5") + buf.write("J&\2\u02e4\u02e2\3\2\2\2\u02e5\u02e8\3\2\2\2\u02e6\u02e4") + buf.write("\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7w\3\2\2\2\u02e8\u02e6") + buf.write("\3\2\2\2\u02e9\u02f5\5\u0082B\2\u02ea\u02f5\5\u0084C\2") + buf.write("\u02eb\u02f5\5\u0088E\2\u02ec\u02f5\5\u008aF\2\u02ed\u02f5") + buf.write("\5\u008cG\2\u02ee\u02f5\5\u008eH\2\u02ef\u02f5\5\u0080") + buf.write("A\2\u02f0\u02f5\5z>\2\u02f1\u02f5\5|?\2\u02f2\u02f5\5") + buf.write("~@\2\u02f3\u02f5\5\n\6\2\u02f4\u02e9\3\2\2\2\u02f4\u02ea") + buf.write("\3\2\2\2\u02f4\u02eb\3\2\2\2\u02f4\u02ec\3\2\2\2\u02f4") + buf.write("\u02ed\3\2\2\2\u02f4\u02ee\3\2\2\2\u02f4\u02ef\3\2\2\2") + buf.write("\u02f4\u02f0\3\2\2\2\u02f4\u02f1\3\2\2\2\u02f4\u02f2\3") + buf.write("\2\2\2\u02f4\u02f3\3\2\2\2\u02f5y\3\2\2\2\u02f6\u02f8") + buf.write("\7Q\2\2\u02f7\u02f6\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8") + buf.write("\u02f9\3\2\2\2\u02f9\u02fa\7_\2\2\u02fa\u02fe\7(\2\2\u02fb") + buf.write("\u02fd\n\n\2\2\u02fc\u02fb\3\2\2\2\u02fd\u0300\3\2\2\2") + buf.write("\u02fe\u02fc\3\2\2\2\u02fe\u02ff\3\2\2\2\u02ff\u0301\3") + buf.write("\2\2\2\u0300\u02fe\3\2\2\2\u0301\u0302\7)\2\2\u0302\u0303") + buf.write("\7\4\2\2\u0303{\3\2\2\2\u0304\u0305\7R\2\2\u0305\u0309") + buf.write("\7\3\2\2\u0306\u0308\n\13\2\2\u0307\u0306\3\2\2\2\u0308") + buf.write("\u030b\3\2\2\2\u0309\u0307\3\2\2\2\u0309\u030a\3\2\2\2") + buf.write("\u030a\u030c\3\2\2\2\u030b\u0309\3\2\2\2\u030c\u030d\7") + buf.write("\26\2\2\u030d}\3\2\2\2\u030e\u030f\7S\2\2\u030f\u0313") + buf.write("\7\3\2\2\u0310\u0312\n\13\2\2\u0311\u0310\3\2\2\2\u0312") + buf.write("\u0315\3\2\2\2\u0313\u0311\3\2\2\2\u0313\u0314\3\2\2\2") + buf.write("\u0314\u0316\3\2\2\2\u0315\u0313\3\2\2\2\u0316\u0317\7") + buf.write("\26\2\2\u0317\177\3\2\2\2\u0318\u0319\7_\2\2\u0319\u031d") + buf.write("\7(\2\2\u031a\u031c\5\n\6\2\u031b\u031a\3\2\2\2\u031c") + buf.write("\u031f\3\2\2\2\u031d\u031b\3\2\2\2\u031d\u031e\3\2\2\2") + buf.write("\u031e\u0321\3\2\2\2\u031f\u031d\3\2\2\2\u0320\u0322\5") + buf.write("\u0086D\2\u0321\u0320\3\2\2\2\u0321\u0322\3\2\2\2\u0322") + buf.write("\u0324\3\2\2\2\u0323\u0325\5\\/\2\u0324\u0323\3\2\2\2") + buf.write("\u0324\u0325\3\2\2\2\u0325\u0326\3\2\2\2\u0326\u0327\7") + buf.write(")\2\2\u0327\u0081\3\2\2\2\u0328\u0329\7_\2\2\u0329\u032a") + buf.write("\7\31\2\2\u032a\u0334\5x=\2\u032b\u032c\7T\2\2\u032c\u032d") + buf.write("\5^\60\2\u032d\u032e\7\31\2\2\u032e\u032f\5x=\2\u032f") + buf.write("\u0334\3\2\2\2\u0330\u0331\7U\2\2\u0331\u0332\7\31\2\2") + buf.write("\u0332\u0334\5x=\2\u0333\u0328\3\2\2\2\u0333\u032b\3\2") + buf.write("\2\2\u0333\u0330\3\2\2\2\u0334\u0083\3\2\2\2\u0335\u0339") + buf.write("\7\3\2\2\u0336\u0338\5\n\6\2\u0337\u0336\3\2\2\2\u0338") + buf.write("\u033b\3\2\2\2\u0339\u0337\3\2\2\2\u0339\u033a\3\2\2\2") + buf.write("\u033a\u033d\3\2\2\2\u033b\u0339\3\2\2\2\u033c\u033e\5") + buf.write("\u0086D\2\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e") + buf.write("\u033f\3\2\2\2\u033f\u0340\7\26\2\2\u0340\u0085\3\2\2") + buf.write("\2\u0341\u0343\5x=\2\u0342\u0341\3\2\2\2\u0343\u0344\3") + buf.write("\2\2\2\u0344\u0342\3\2\2\2\u0344\u0345\3\2\2\2\u0345\u0087") + buf.write("\3\2\2\2\u0346\u034b\7\4\2\2\u0347\u0348\5\\/\2\u0348") + buf.write("\u0349\7\4\2\2\u0349\u034b\3\2\2\2\u034a\u0346\3\2\2\2") + buf.write("\u034a\u0347\3\2\2\2\u034b\u0089\3\2\2\2\u034c\u034d\7") + buf.write("V\2\2\u034d\u034e\7(\2\2\u034e\u034f\5\\/\2\u034f\u0350") + buf.write("\7)\2\2\u0350\u0351\bF\1\2\u0351\u0354\5x=\2\u0352\u0353") + buf.write("\7W\2\2\u0353\u0355\5x=\2\u0354\u0352\3\2\2\2\u0354\u0355") + buf.write("\3\2\2\2\u0355\u035d\3\2\2\2\u0356\u0357\7X\2\2\u0357") + buf.write("\u0358\7(\2\2\u0358\u0359\5\\/\2\u0359\u035a\7)\2\2\u035a") + buf.write("\u035b\5x=\2\u035b\u035d\3\2\2\2\u035c\u034c\3\2\2\2\u035c") + buf.write("\u0356\3\2\2\2\u035d\u008b\3\2\2\2\u035e\u035f\7Y\2\2") + buf.write("\u035f\u0360\7(\2\2\u0360\u0361\5\\/\2\u0361\u0362\7)") + buf.write("\2\2\u0362\u0363\5x=\2\u0363\u0364\bG\1\2\u0364\u036f") + buf.write("\3\2\2\2\u0365\u0366\7Z\2\2\u0366\u0367\5x=\2\u0367\u0368") + buf.write("\7Y\2\2\u0368\u0369\7(\2\2\u0369\u036a\5\\/\2\u036a\u036b") + buf.write("\7)\2\2\u036b\u036c\7\4\2\2\u036c\u036d\bG\1\2\u036d\u036f") + buf.write("\3\2\2\2\u036e\u035e\3\2\2\2\u036e\u0365\3\2\2\2\u036f") + buf.write("\u008d\3\2\2\2\u0370\u0371\7[\2\2\u0371\u0372\7_\2\2\u0372") + buf.write("\u037e\7\4\2\2\u0373\u0374\7\\\2\2\u0374\u037e\7\4\2\2") + buf.write("\u0375\u0376\7]\2\2\u0376\u037e\7\4\2\2\u0377\u0378\7") + buf.write("^\2\2\u0378\u037e\7\4\2\2\u0379\u037a\7^\2\2\u037a\u037b") + buf.write("\5\\/\2\u037b\u037c\7\4\2\2\u037c\u037e\3\2\2\2\u037d") + buf.write("\u0370\3\2\2\2\u037d\u0373\3\2\2\2\u037d\u0375\3\2\2\2") + buf.write("\u037d\u0377\3\2\2\2\u037d\u0379\3\2\2\2\u037e\u008f\3") + buf.write("\2\2\2o\u0093\u0097\u009d\u00a6\u00a8\u00ab\u00b1\u00b6") + buf.write("\u00bd\u00bf\u00c3\u00cb\u00d0\u00d7\u00dd\u00f4\u00f9") + buf.write("\u00ff\u0108\u010f\u0117\u0119\u0120\u0126\u012a\u0130") + buf.write("\u0139\u013f\u0146\u014c\u0151\u0154\u0157\u015a\u015e") + buf.write("\u0164\u0169\u0170\u0172\u0184\u018a\u018d\u0192\u0197") + buf.write("\u019a\u019f\u01a4\u01aa\u01ac\u01b0\u01b5\u01b9\u01c0") + buf.write("\u01c5\u01c8\u01cc\u01cf\u01d6\u01db\u01ea\u01f0\u01f4") + buf.write("\u01fb\u0200\u0205\u0209\u0211\u0213\u021d\u021f\u0228") + buf.write("\u0239\u0258\u025a\u0262\u026d\u0276\u027c\u0280\u0285") + buf.write("\u0289\u0290\u029a\u02a7\u02ae\u02b6\u02be\u02c6\u02ce") + buf.write("\u02d6\u02de\u02e6\u02f4\u02f7\u02fe\u0309\u0313\u031d") + buf.write("\u0321\u0324\u0333\u0339\u033d\u0344\u034a\u0354\u035c") + buf.write("\u036e\u037d") + return buf.getvalue() + + +class CParser ( Parser ): + + grammarFileName = "C.g4" + + atn = ATNDeserializer().deserialize(serializedATN()) + + decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] + + sharedContextCache = PredictionContextCache() + + literalNames = [ "", "'{'", "';'", "'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'", "'goto'", + "'continue'", "'break'", "'return'" ] + + symbolicNames = [ "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "IDENTIFIER", "CHARACTER_LITERAL", "STRING_LITERAL", + "HEX_LITERAL", "DECIMAL_LITERAL", "OCTAL_LITERAL", + "FLOATING_POINT_LITERAL", "WS", "BS", "UnicodeVocabulary", + "COMMENT", "LINE_COMMENT", "LINE_COMMAND" ] + + RULE_translation_unit = 0 + RULE_external_declaration = 1 + RULE_function_definition = 2 + RULE_declaration_specifiers = 3 + RULE_declaration = 4 + RULE_init_declarator_list = 5 + RULE_init_declarator = 6 + RULE_storage_class_specifier = 7 + RULE_type_specifier = 8 + RULE_type_id = 9 + RULE_struct_or_union_specifier = 10 + RULE_struct_or_union = 11 + RULE_struct_declaration_list = 12 + RULE_struct_declaration = 13 + RULE_specifier_qualifier_list = 14 + RULE_struct_declarator_list = 15 + RULE_struct_declarator = 16 + RULE_enum_specifier = 17 + RULE_enumerator_list = 18 + RULE_enumerator = 19 + RULE_type_qualifier = 20 + RULE_declarator = 21 + RULE_direct_declarator = 22 + RULE_declarator_suffix = 23 + RULE_pointer = 24 + RULE_parameter_type_list = 25 + RULE_parameter_list = 26 + RULE_parameter_declaration = 27 + RULE_identifier_list = 28 + RULE_type_name = 29 + RULE_abstract_declarator = 30 + RULE_direct_abstract_declarator = 31 + RULE_abstract_declarator_suffix = 32 + RULE_initializer = 33 + RULE_initializer_list = 34 + RULE_argument_expression_list = 35 + RULE_additive_expression = 36 + RULE_multiplicative_expression = 37 + RULE_cast_expression = 38 + RULE_unary_expression = 39 + RULE_postfix_expression = 40 + RULE_macro_parameter_list = 41 + RULE_unary_operator = 42 + RULE_primary_expression = 43 + RULE_constant = 44 + RULE_expression = 45 + RULE_constant_expression = 46 + RULE_assignment_expression = 47 + RULE_lvalue = 48 + RULE_assignment_operator = 49 + RULE_conditional_expression = 50 + RULE_logical_or_expression = 51 + RULE_logical_and_expression = 52 + RULE_inclusive_or_expression = 53 + RULE_exclusive_or_expression = 54 + RULE_and_expression = 55 + RULE_equality_expression = 56 + RULE_relational_expression = 57 + RULE_shift_expression = 58 + RULE_statement = 59 + RULE_asm2_statement = 60 + RULE_asm1_statement = 61 + RULE_asm_statement = 62 + RULE_macro_statement = 63 + RULE_labeled_statement = 64 + RULE_compound_statement = 65 + RULE_statement_list = 66 + RULE_expression_statement = 67 + RULE_selection_statement = 68 + RULE_iteration_statement = 69 + RULE_jump_statement = 70 + + ruleNames = [ "translation_unit", "external_declaration", "function_definition", + "declaration_specifiers", "declaration", "init_declarator_list", + "init_declarator", "storage_class_specifier", "type_specifier", + "type_id", "struct_or_union_specifier", "struct_or_union", + "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", + "struct_declarator_list", "struct_declarator", "enum_specifier", + "enumerator_list", "enumerator", "type_qualifier", "declarator", + "direct_declarator", "declarator_suffix", "pointer", + "parameter_type_list", "parameter_list", "parameter_declaration", + "identifier_list", "type_name", "abstract_declarator", + "direct_abstract_declarator", "abstract_declarator_suffix", + "initializer", "initializer_list", "argument_expression_list", + "additive_expression", "multiplicative_expression", "cast_expression", + "unary_expression", "postfix_expression", "macro_parameter_list", + "unary_operator", "primary_expression", "constant", "expression", + "constant_expression", "assignment_expression", "lvalue", + "assignment_operator", "conditional_expression", "logical_or_expression", + "logical_and_expression", "inclusive_or_expression", + "exclusive_or_expression", "and_expression", "equality_expression", + "relational_expression", "shift_expression", "statement", + "asm2_statement", "asm1_statement", "asm_statement", + "macro_statement", "labeled_statement", "compound_statement", + "statement_list", "expression_statement", "selection_statement", + "iteration_statement", "jump_statement" ] + + EOF = Token.EOF + T__0=1 + T__1=2 + T__2=3 + T__3=4 + T__4=5 + T__5=6 + T__6=7 + T__7=8 + T__8=9 + T__9=10 + T__10=11 + T__11=12 + T__12=13 + T__13=14 + T__14=15 + T__15=16 + T__16=17 + T__17=18 + T__18=19 + T__19=20 + T__20=21 + T__21=22 + T__22=23 + T__23=24 + T__24=25 + T__25=26 + T__26=27 + T__27=28 + T__28=29 + T__29=30 + T__30=31 + T__31=32 + T__32=33 + T__33=34 + T__34=35 + T__35=36 + T__36=37 + T__37=38 + T__38=39 + T__39=40 + T__40=41 + T__41=42 + T__42=43 + T__43=44 + T__44=45 + T__45=46 + T__46=47 + T__47=48 + T__48=49 + T__49=50 + T__50=51 + T__51=52 + T__52=53 + T__53=54 + T__54=55 + T__55=56 + T__56=57 + T__57=58 + T__58=59 + T__59=60 + T__60=61 + T__61=62 + T__62=63 + T__63=64 + T__64=65 + T__65=66 + T__66=67 + T__67=68 + T__68=69 + T__69=70 + T__70=71 + T__71=72 + T__72=73 + T__73=74 + T__74=75 + T__75=76 + T__76=77 + T__77=78 + T__78=79 + T__79=80 + T__80=81 + T__81=82 + T__82=83 + T__83=84 + T__84=85 + T__85=86 + T__86=87 + T__87=88 + T__88=89 + T__89=90 + T__90=91 + T__91=92 + IDENTIFIER=93 + CHARACTER_LITERAL=94 + STRING_LITERAL=95 + HEX_LITERAL=96 + DECIMAL_LITERAL=97 + OCTAL_LITERAL=98 + FLOATING_POINT_LITERAL=99 + WS=100 + BS=101 + UnicodeVocabulary=102 + COMMENT=103 + LINE_COMMENT=104 + LINE_COMMAND=105 + + # @param input Type: TokenStream + # @param output= sys.stdout Type: TextIO + def __init__(self,input,output= sys.stdout): + super().__init__(input, output) + self.checkVersion("4.7.1") + self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) + self._predicates = None + + + + + def printTokenInfo(self,line,offset,tokenText): + print(str(line)+ ',' + str(offset) + ':' + str(tokenText)) + + def StorePredicateExpression(self,StartLine,StartOffset,EndLine,EndOffset,Text): + PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.PredicateExpressionList.append(PredExp) + + def StoreEnumerationDefinition(self,StartLine,StartOffset,EndLine,EndOffset,Text): + EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.EnumerationDefinitionList.append(EnumDef) + + def StoreStructUnionDefinition(self,StartLine,StartOffset,EndLine,EndOffset,Text): + SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.StructUnionDefinitionList.append(SUDef) + + def StoreTypedefDefinition(self,StartLine,StartOffset,EndLine,EndOffset,FromText,ToText): + Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.TypedefDefinitionList.append(Tdef) + + def StoreFunctionDefinition(self,StartLine,StartOffset,EndLine,EndOffset,ModifierText,DeclText,LeftBraceLine,LeftBraceOffset,DeclLine,DeclOffset): + FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset)) + FileProfile.FunctionDefinitionList.append(FuncDef) + + def StoreVariableDeclaration(self,StartLine,StartOffset,EndLine,EndOffset,ModifierText,DeclText): + VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.VariableDeclarationList.append(VarDecl) + + def StoreFunctionCalling(self,StartLine,StartOffset,EndLine,EndOffset,FuncName,ParamList): + FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset)) + FileProfile.FunctionCallingList.append(FuncCall) + + + + class Translation_unitContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def external_declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.External_declarationContext) + else: + return self.getTypedRuleContext(CParser.External_declarationContext,i) + + + def getRuleIndex(self): + return CParser.RULE_translation_unit + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterTranslation_unit" ): + listener.enterTranslation_unit(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitTranslation_unit" ): + listener.exitTranslation_unit(self) + + + + + def translation_unit(self): + + localctx = CParser.Translation_unitContext(self, self._ctx, self.state) + self.enterRule(localctx, 0, self.RULE_translation_unit) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 145 + self._errHandler.sync(self) + _la = self._input.LA(1) + while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__41))) != 0) or _la==CParser.IDENTIFIER: + self.state = 142 + self.external_declaration() + self.state = 147 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class External_declarationContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + def declaration_specifiers(self): + return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0) + + + # @param i=None Type: int + def declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.DeclarationContext) + else: + return self.getTypedRuleContext(CParser.DeclarationContext,i) + + + def function_definition(self): + return self.getTypedRuleContext(CParser.Function_definitionContext,0) + + + def macro_statement(self): + return self.getTypedRuleContext(CParser.Macro_statementContext,0) + + + def getRuleIndex(self): + return CParser.RULE_external_declaration + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterExternal_declaration" ): + listener.enterExternal_declaration(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitExternal_declaration" ): + listener.exitExternal_declaration(self) + + + + + def external_declaration(self): + + localctx = CParser.External_declarationContext(self, self._ctx, self.state) + self.enterRule(localctx, 2, self.RULE_external_declaration) + self._la = 0 # Token type + try: + self.state = 166 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,4,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 149 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,1,self._ctx) + if la_ == 1: + self.state = 148 + self.declaration_specifiers() + + + self.state = 151 + self.declarator() + self.state = 155 + self._errHandler.sync(self) + _la = self._input.LA(1) + while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER: + self.state = 152 + self.declaration() + self.state = 157 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 158 + self.match(CParser.T__0) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 160 + self.function_definition() + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 161 + self.declaration() + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 162 + self.macro_statement() + self.state = 164 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__1: + self.state = 163 + self.match(CParser.T__1) + + + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Function_definitionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.ModifierText = '' + self.DeclText = '' + self.LBLine = 0 + self.LBOffset = 0 + self.DeclLine = 0 + self.DeclOffset = 0 + self.d = None # Declaration_specifiersContext + self._declaration_specifiers = None # Declaration_specifiersContext + self._declarator = None # DeclaratorContext + self.a = None # Compound_statementContext + self.b = None # Compound_statementContext + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + def compound_statement(self): + return self.getTypedRuleContext(CParser.Compound_statementContext,0) + + + def declaration_specifiers(self): + return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0) + + + # @param i=None Type: int + def declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.DeclarationContext) + else: + return self.getTypedRuleContext(CParser.DeclarationContext,i) + + + def getRuleIndex(self): + return CParser.RULE_function_definition + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterFunction_definition" ): + listener.enterFunction_definition(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitFunction_definition" ): + listener.exitFunction_definition(self) + + + + + def function_definition(self): + + localctx = CParser.Function_definitionContext(self, self._ctx, self.state) + self.enterRule(localctx, 4, self.RULE_function_definition) + + ModifierText = ''; + DeclText = ''; + LBLine = 0; + LBOffset = 0; + DeclLine = 0; + DeclOffset = 0; + + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 169 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,5,self._ctx) + if la_ == 1: + self.state = 168 + localctx.d = localctx._declaration_specifiers = self.declaration_specifiers() + + + self.state = 171 + localctx._declarator = self.declarator() + self.state = 180 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__2, CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9, CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36, CParser.IDENTIFIER]: + self.state = 173 + self._errHandler.sync(self) + _la = self._input.LA(1) + while True: + self.state = 172 + self.declaration() + self.state = 175 + self._errHandler.sync(self) + _la = self._input.LA(1) + if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER): + break + + self.state = 177 + localctx.a = self.compound_statement() + pass + elif token in [CParser.T__0]: + self.state = 179 + localctx.b = self.compound_statement() + pass + else: + raise NoViableAltException(self) + + + if localctx.d != None: + ModifierText = (None if localctx._declaration_specifiers is None else self._input.getText((localctx._declaration_specifiers.start,localctx._declaration_specifiers.stop))) + else: + ModifierText = '' + DeclText = (None if localctx._declarator is None else self._input.getText((localctx._declarator.start,localctx._declarator.stop))) + DeclLine = (None if localctx._declarator is None else localctx._declarator.start).line + DeclOffset = (None if localctx._declarator is None else localctx._declarator.start).column + if localctx.a != None: + LBLine = (None if localctx.a is None else localctx.a.start).line + LBOffset = (None if localctx.a is None else localctx.a.start).column + else: + LBLine = (None if localctx.b is None else localctx.b.start).line + LBOffset = (None if localctx.b is None else localctx.b.start).column + + self._ctx.stop = self._input.LT(-1) + + self.StoreFunctionDefinition(localctx.start.line, localctx.start.column, localctx.stop.line, localctx.stop.column, ModifierText, DeclText, LBLine, LBOffset, DeclLine, DeclOffset) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Declaration_specifiersContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def storage_class_specifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Storage_class_specifierContext) + else: + return self.getTypedRuleContext(CParser.Storage_class_specifierContext,i) + + + # @param i=None Type: int + def type_specifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_specifierContext) + else: + return self.getTypedRuleContext(CParser.Type_specifierContext,i) + + + # @param i=None Type: int + def type_qualifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_qualifierContext) + else: + return self.getTypedRuleContext(CParser.Type_qualifierContext,i) + + + def getRuleIndex(self): + return CParser.RULE_declaration_specifiers + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDeclaration_specifiers" ): + listener.enterDeclaration_specifiers(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDeclaration_specifiers" ): + listener.exitDeclaration_specifiers(self) + + + + + def declaration_specifiers(self): + + localctx = CParser.Declaration_specifiersContext(self, self._ctx, self.state) + self.enterRule(localctx, 6, self.RULE_declaration_specifiers) + try: + self.enterOuterAlt(localctx, 1) + self.state = 187 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 187 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9]: + self.state = 184 + self.storage_class_specifier() + pass + elif token in [CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.IDENTIFIER]: + self.state = 185 + self.type_specifier() + pass + elif token in [CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36]: + self.state = 186 + self.type_qualifier() + pass + else: + raise NoViableAltException(self) + + + else: + raise NoViableAltException(self) + self.state = 189 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,9,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class DeclarationContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.a = None # Token + self.b = None # Declaration_specifiersContext + self.c = None # Init_declarator_listContext + self.d = None # Token + self.s = None # Declaration_specifiersContext + self.t = None # Init_declarator_listContext + self.e = None # Token + + def init_declarator_list(self): + return self.getTypedRuleContext(CParser.Init_declarator_listContext,0) + + + def declaration_specifiers(self): + return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0) + + + def getRuleIndex(self): + return CParser.RULE_declaration + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDeclaration" ): + listener.enterDeclaration(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDeclaration" ): + listener.exitDeclaration(self) + + + + + def declaration(self): + + localctx = CParser.DeclarationContext(self, self._ctx, self.state) + self.enterRule(localctx, 8, self.RULE_declaration) + self._la = 0 # Token type + try: + self.state = 206 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__2]: + self.enterOuterAlt(localctx, 1) + self.state = 191 + localctx.a = self.match(CParser.T__2) + self.state = 193 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,10,self._ctx) + if la_ == 1: + self.state = 192 + localctx.b = self.declaration_specifiers() + + + self.state = 195 + localctx.c = self.init_declarator_list() + self.state = 196 + localctx.d = self.match(CParser.T__1) + + if localctx.b is not None: + self.StoreTypedefDefinition(localctx.a.line, localctx.a.column, (0 if localctx.d is None else localctx.d.line), localctx.d.column, (None if localctx.b is None else self._input.getText((localctx.b.start,localctx.b.stop))), (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop)))) + else: + self.StoreTypedefDefinition(localctx.a.line, localctx.a.column, (0 if localctx.d is None else localctx.d.line), localctx.d.column, '', (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop)))) + + pass + elif token in [CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9, CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36, CParser.IDENTIFIER]: + self.enterOuterAlt(localctx, 2) + self.state = 199 + localctx.s = self.declaration_specifiers() + self.state = 201 + self._errHandler.sync(self) + _la = self._input.LA(1) + if ((((_la - 34)) & ~0x3f) == 0 and ((1 << (_la - 34)) & ((1 << (CParser.T__33 - 34)) | (1 << (CParser.T__34 - 34)) | (1 << (CParser.T__35 - 34)) | (1 << (CParser.T__37 - 34)) | (1 << (CParser.T__41 - 34)) | (1 << (CParser.IDENTIFIER - 34)))) != 0): + self.state = 200 + localctx.t = self.init_declarator_list() + + + self.state = 203 + localctx.e = self.match(CParser.T__1) + + if localctx.t is not None: + self.StoreVariableDeclaration((None if localctx.s is None else localctx.s.start).line, (None if localctx.s is None else localctx.s.start).column, (None if localctx.t is None else localctx.t.start).line, (None if localctx.t is None else localctx.t.start).column, (None if localctx.s is None else self._input.getText((localctx.s.start,localctx.s.stop))), (None if localctx.t is None else self._input.getText((localctx.t.start,localctx.t.stop)))) + + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Init_declarator_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def init_declarator(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Init_declaratorContext) + else: + return self.getTypedRuleContext(CParser.Init_declaratorContext,i) + + + def getRuleIndex(self): + return CParser.RULE_init_declarator_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterInit_declarator_list" ): + listener.enterInit_declarator_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitInit_declarator_list" ): + listener.exitInit_declarator_list(self) + + + + + def init_declarator_list(self): + + localctx = CParser.Init_declarator_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 10, self.RULE_init_declarator_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 208 + self.init_declarator() + self.state = 213 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 209 + self.match(CParser.T__3) + self.state = 210 + self.init_declarator() + self.state = 215 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Init_declaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + def initializer(self): + return self.getTypedRuleContext(CParser.InitializerContext,0) + + + def getRuleIndex(self): + return CParser.RULE_init_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterInit_declarator" ): + listener.enterInit_declarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitInit_declarator" ): + listener.exitInit_declarator(self) + + + + + def init_declarator(self): + + localctx = CParser.Init_declaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 12, self.RULE_init_declarator) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 216 + self.declarator() + self.state = 219 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__4: + self.state = 217 + self.match(CParser.T__4) + self.state = 218 + self.initializer() + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Storage_class_specifierContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_storage_class_specifier + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStorage_class_specifier" ): + listener.enterStorage_class_specifier(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStorage_class_specifier" ): + listener.exitStorage_class_specifier(self) + + + + + def storage_class_specifier(self): + + localctx = CParser.Storage_class_specifierContext(self, self._ctx, self.state) + self.enterRule(localctx, 14, self.RULE_storage_class_specifier) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 221 + _la = self._input.LA(1) + if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9))) != 0)): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Type_specifierContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.s = None # Struct_or_union_specifierContext + self.e = None # Enum_specifierContext + + def struct_or_union_specifier(self): + return self.getTypedRuleContext(CParser.Struct_or_union_specifierContext,0) + + + def enum_specifier(self): + return self.getTypedRuleContext(CParser.Enum_specifierContext,0) + + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + # @param i=None Type: int + def type_qualifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_qualifierContext) + else: + return self.getTypedRuleContext(CParser.Type_qualifierContext,i) + + + def type_id(self): + return self.getTypedRuleContext(CParser.Type_idContext,0) + + + def getRuleIndex(self): + return CParser.RULE_type_specifier + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterType_specifier" ): + listener.enterType_specifier(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitType_specifier" ): + listener.exitType_specifier(self) + + + + + def type_specifier(self): + + localctx = CParser.Type_specifierContext(self, self._ctx, self.state) + self.enterRule(localctx, 16, self.RULE_type_specifier) + try: + self.state = 247 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,16,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 223 + self.match(CParser.T__10) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 224 + self.match(CParser.T__11) + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 225 + self.match(CParser.T__12) + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 226 + self.match(CParser.T__13) + pass + + elif la_ == 5: + self.enterOuterAlt(localctx, 5) + self.state = 227 + self.match(CParser.T__14) + pass + + elif la_ == 6: + self.enterOuterAlt(localctx, 6) + self.state = 228 + self.match(CParser.T__15) + pass + + elif la_ == 7: + self.enterOuterAlt(localctx, 7) + self.state = 229 + self.match(CParser.T__16) + pass + + elif la_ == 8: + self.enterOuterAlt(localctx, 8) + self.state = 230 + self.match(CParser.T__17) + pass + + elif la_ == 9: + self.enterOuterAlt(localctx, 9) + self.state = 231 + self.match(CParser.T__18) + pass + + elif la_ == 10: + self.enterOuterAlt(localctx, 10) + self.state = 232 + localctx.s = self.struct_or_union_specifier() + + if localctx.s.stop is not None: + self.StoreStructUnionDefinition((None if localctx.s is None else localctx.s.start).line, (None if localctx.s is None else localctx.s.start).column, (None if localctx.s is None else localctx.s.stop).line, (None if localctx.s is None else localctx.s.stop).column, (None if localctx.s is None else self._input.getText((localctx.s.start,localctx.s.stop)))) + + pass + + elif la_ == 11: + self.enterOuterAlt(localctx, 11) + self.state = 235 + localctx.e = self.enum_specifier() + + if localctx.e.stop is not None: + self.StoreEnumerationDefinition((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop)))) + + pass + + elif la_ == 12: + self.enterOuterAlt(localctx, 12) + self.state = 238 + self.match(CParser.IDENTIFIER) + self.state = 242 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,15,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 239 + self.type_qualifier() + self.state = 244 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,15,self._ctx) + + self.state = 245 + self.declarator() + pass + + elif la_ == 13: + self.enterOuterAlt(localctx, 13) + self.state = 246 + self.type_id() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Type_idContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def getRuleIndex(self): + return CParser.RULE_type_id + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterType_id" ): + listener.enterType_id(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitType_id" ): + listener.exitType_id(self) + + + + + def type_id(self): + + localctx = CParser.Type_idContext(self, self._ctx, self.state) + self.enterRule(localctx, 18, self.RULE_type_id) + try: + self.enterOuterAlt(localctx, 1) + self.state = 249 + self.match(CParser.IDENTIFIER) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_or_union_specifierContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def struct_or_union(self): + return self.getTypedRuleContext(CParser.Struct_or_unionContext,0) + + + def struct_declaration_list(self): + return self.getTypedRuleContext(CParser.Struct_declaration_listContext,0) + + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def getRuleIndex(self): + return CParser.RULE_struct_or_union_specifier + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_or_union_specifier" ): + listener.enterStruct_or_union_specifier(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_or_union_specifier" ): + listener.exitStruct_or_union_specifier(self) + + + + + def struct_or_union_specifier(self): + + localctx = CParser.Struct_or_union_specifierContext(self, self._ctx, self.state) + self.enterRule(localctx, 20, self.RULE_struct_or_union_specifier) + self._la = 0 # Token type + try: + self.state = 262 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,18,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 251 + self.struct_or_union() + self.state = 253 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.IDENTIFIER: + self.state = 252 + self.match(CParser.IDENTIFIER) + + + self.state = 255 + self.match(CParser.T__0) + self.state = 256 + self.struct_declaration_list() + self.state = 257 + self.match(CParser.T__19) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 259 + self.struct_or_union() + self.state = 260 + self.match(CParser.IDENTIFIER) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_or_unionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_struct_or_union + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_or_union" ): + listener.enterStruct_or_union(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_or_union" ): + listener.exitStruct_or_union(self) + + + + + def struct_or_union(self): + + localctx = CParser.Struct_or_unionContext(self, self._ctx, self.state) + self.enterRule(localctx, 22, self.RULE_struct_or_union) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 264 + _la = self._input.LA(1) + if not(_la==CParser.T__20 or _la==CParser.T__21): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_declaration_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def struct_declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Struct_declarationContext) + else: + return self.getTypedRuleContext(CParser.Struct_declarationContext,i) + + + def getRuleIndex(self): + return CParser.RULE_struct_declaration_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_declaration_list" ): + listener.enterStruct_declaration_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_declaration_list" ): + listener.exitStruct_declaration_list(self) + + + + + def struct_declaration_list(self): + + localctx = CParser.Struct_declaration_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 24, self.RULE_struct_declaration_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 267 + self._errHandler.sync(self) + _la = self._input.LA(1) + while True: + self.state = 266 + self.struct_declaration() + self.state = 269 + self._errHandler.sync(self) + _la = self._input.LA(1) + if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER): + break + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_declarationContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def specifier_qualifier_list(self): + return self.getTypedRuleContext(CParser.Specifier_qualifier_listContext,0) + + + def struct_declarator_list(self): + return self.getTypedRuleContext(CParser.Struct_declarator_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_struct_declaration + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_declaration" ): + listener.enterStruct_declaration(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_declaration" ): + listener.exitStruct_declaration(self) + + + + + def struct_declaration(self): + + localctx = CParser.Struct_declarationContext(self, self._ctx, self.state) + self.enterRule(localctx, 26, self.RULE_struct_declaration) + try: + self.enterOuterAlt(localctx, 1) + self.state = 271 + self.specifier_qualifier_list() + self.state = 272 + self.struct_declarator_list() + self.state = 273 + self.match(CParser.T__1) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Specifier_qualifier_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def type_qualifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_qualifierContext) + else: + return self.getTypedRuleContext(CParser.Type_qualifierContext,i) + + + # @param i=None Type: int + def type_specifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_specifierContext) + else: + return self.getTypedRuleContext(CParser.Type_specifierContext,i) + + + def getRuleIndex(self): + return CParser.RULE_specifier_qualifier_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterSpecifier_qualifier_list" ): + listener.enterSpecifier_qualifier_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitSpecifier_qualifier_list" ): + listener.exitSpecifier_qualifier_list(self) + + + + + def specifier_qualifier_list(self): + + localctx = CParser.Specifier_qualifier_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 28, self.RULE_specifier_qualifier_list) + try: + self.enterOuterAlt(localctx, 1) + self.state = 277 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 277 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36]: + self.state = 275 + self.type_qualifier() + pass + elif token in [CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.IDENTIFIER]: + self.state = 276 + self.type_specifier() + pass + else: + raise NoViableAltException(self) + + + else: + raise NoViableAltException(self) + self.state = 279 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,21,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_declarator_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def struct_declarator(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Struct_declaratorContext) + else: + return self.getTypedRuleContext(CParser.Struct_declaratorContext,i) + + + def getRuleIndex(self): + return CParser.RULE_struct_declarator_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_declarator_list" ): + listener.enterStruct_declarator_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_declarator_list" ): + listener.exitStruct_declarator_list(self) + + + + + def struct_declarator_list(self): + + localctx = CParser.Struct_declarator_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 30, self.RULE_struct_declarator_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 281 + self.struct_declarator() + self.state = 286 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 282 + self.match(CParser.T__3) + self.state = 283 + self.struct_declarator() + self.state = 288 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Struct_declaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + def constant_expression(self): + return self.getTypedRuleContext(CParser.Constant_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_struct_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStruct_declarator" ): + listener.enterStruct_declarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStruct_declarator" ): + listener.exitStruct_declarator(self) + + + + + def struct_declarator(self): + + localctx = CParser.Struct_declaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 32, self.RULE_struct_declarator) + self._la = 0 # Token type + try: + self.state = 296 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__37, CParser.T__41, CParser.IDENTIFIER]: + self.enterOuterAlt(localctx, 1) + self.state = 289 + self.declarator() + self.state = 292 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__22: + self.state = 290 + self.match(CParser.T__22) + self.state = 291 + self.constant_expression() + + + pass + elif token in [CParser.T__22]: + self.enterOuterAlt(localctx, 2) + self.state = 294 + self.match(CParser.T__22) + self.state = 295 + self.constant_expression() + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Enum_specifierContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def enumerator_list(self): + return self.getTypedRuleContext(CParser.Enumerator_listContext,0) + + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def getRuleIndex(self): + return CParser.RULE_enum_specifier + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterEnum_specifier" ): + listener.enterEnum_specifier(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitEnum_specifier" ): + listener.exitEnum_specifier(self) + + + + + def enum_specifier(self): + + localctx = CParser.Enum_specifierContext(self, self._ctx, self.state) + self.enterRule(localctx, 34, self.RULE_enum_specifier) + self._la = 0 # Token type + try: + self.state = 317 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,27,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 298 + self.match(CParser.T__23) + self.state = 299 + self.match(CParser.T__0) + self.state = 300 + self.enumerator_list() + self.state = 302 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__3: + self.state = 301 + self.match(CParser.T__3) + + + self.state = 304 + self.match(CParser.T__19) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 306 + self.match(CParser.T__23) + self.state = 307 + self.match(CParser.IDENTIFIER) + self.state = 308 + self.match(CParser.T__0) + self.state = 309 + self.enumerator_list() + self.state = 311 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__3: + self.state = 310 + self.match(CParser.T__3) + + + self.state = 313 + self.match(CParser.T__19) + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 315 + self.match(CParser.T__23) + self.state = 316 + self.match(CParser.IDENTIFIER) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Enumerator_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def enumerator(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.EnumeratorContext) + else: + return self.getTypedRuleContext(CParser.EnumeratorContext,i) + + + def getRuleIndex(self): + return CParser.RULE_enumerator_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterEnumerator_list" ): + listener.enterEnumerator_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitEnumerator_list" ): + listener.exitEnumerator_list(self) + + + + + def enumerator_list(self): + + localctx = CParser.Enumerator_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 36, self.RULE_enumerator_list) + try: + self.enterOuterAlt(localctx, 1) + self.state = 319 + self.enumerator() + self.state = 324 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,28,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 320 + self.match(CParser.T__3) + self.state = 321 + self.enumerator() + self.state = 326 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,28,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class EnumeratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def constant_expression(self): + return self.getTypedRuleContext(CParser.Constant_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_enumerator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterEnumerator" ): + listener.enterEnumerator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitEnumerator" ): + listener.exitEnumerator(self) + + + + + def enumerator(self): + + localctx = CParser.EnumeratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 38, self.RULE_enumerator) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 327 + self.match(CParser.IDENTIFIER) + self.state = 330 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__4: + self.state = 328 + self.match(CParser.T__4) + self.state = 329 + self.constant_expression() + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Type_qualifierContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_type_qualifier + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterType_qualifier" ): + listener.enterType_qualifier(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitType_qualifier" ): + listener.exitType_qualifier(self) + + + + + def type_qualifier(self): + + localctx = CParser.Type_qualifierContext(self, self._ctx, self.state) + self.enterRule(localctx, 40, self.RULE_type_qualifier) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 332 + _la = self._input.LA(1) + if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0)): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class DeclaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def direct_declarator(self): + return self.getTypedRuleContext(CParser.Direct_declaratorContext,0) + + + def pointer(self): + return self.getTypedRuleContext(CParser.PointerContext,0) + + + def getRuleIndex(self): + return CParser.RULE_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDeclarator" ): + listener.enterDeclarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDeclarator" ): + listener.exitDeclarator(self) + + + + + def declarator(self): + + localctx = CParser.DeclaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 42, self.RULE_declarator) + self._la = 0 # Token type + try: + self.state = 348 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,34,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 335 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__41: + self.state = 334 + self.pointer() + + + self.state = 338 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__33: + self.state = 337 + self.match(CParser.T__33) + + + self.state = 341 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__34: + self.state = 340 + self.match(CParser.T__34) + + + self.state = 344 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__35: + self.state = 343 + self.match(CParser.T__35) + + + self.state = 346 + self.direct_declarator() + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 347 + self.pointer() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Direct_declaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + # @param i=None Type: int + def declarator_suffix(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Declarator_suffixContext) + else: + return self.getTypedRuleContext(CParser.Declarator_suffixContext,i) + + + def declarator(self): + return self.getTypedRuleContext(CParser.DeclaratorContext,0) + + + def getRuleIndex(self): + return CParser.RULE_direct_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDirect_declarator" ): + listener.enterDirect_declarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDirect_declarator" ): + listener.exitDirect_declarator(self) + + + + + def direct_declarator(self): + + localctx = CParser.Direct_declaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 44, self.RULE_direct_declarator) + try: + self.state = 368 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.IDENTIFIER]: + self.enterOuterAlt(localctx, 1) + self.state = 350 + self.match(CParser.IDENTIFIER) + self.state = 354 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,35,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 351 + self.declarator_suffix() + self.state = 356 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,35,self._ctx) + + pass + elif token in [CParser.T__37]: + self.enterOuterAlt(localctx, 2) + self.state = 357 + self.match(CParser.T__37) + self.state = 359 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,36,self._ctx) + if la_ == 1: + self.state = 358 + self.match(CParser.T__33) + + + self.state = 361 + self.declarator() + self.state = 362 + self.match(CParser.T__38) + self.state = 364 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 363 + self.declarator_suffix() + + else: + raise NoViableAltException(self) + self.state = 366 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,37,self._ctx) + + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Declarator_suffixContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def constant_expression(self): + return self.getTypedRuleContext(CParser.Constant_expressionContext,0) + + + def parameter_type_list(self): + return self.getTypedRuleContext(CParser.Parameter_type_listContext,0) + + + def identifier_list(self): + return self.getTypedRuleContext(CParser.Identifier_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_declarator_suffix + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDeclarator_suffix" ): + listener.enterDeclarator_suffix(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDeclarator_suffix" ): + listener.exitDeclarator_suffix(self) + + + + + def declarator_suffix(self): + + localctx = CParser.Declarator_suffixContext(self, self._ctx, self.state) + self.enterRule(localctx, 46, self.RULE_declarator_suffix) + try: + self.state = 386 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,39,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 370 + self.match(CParser.T__39) + self.state = 371 + self.constant_expression() + self.state = 372 + self.match(CParser.T__40) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 374 + self.match(CParser.T__39) + self.state = 375 + self.match(CParser.T__40) + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 376 + self.match(CParser.T__37) + self.state = 377 + self.parameter_type_list() + self.state = 378 + self.match(CParser.T__38) + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 380 + self.match(CParser.T__37) + self.state = 381 + self.identifier_list() + self.state = 382 + self.match(CParser.T__38) + pass + + elif la_ == 5: + self.enterOuterAlt(localctx, 5) + self.state = 384 + self.match(CParser.T__37) + self.state = 385 + self.match(CParser.T__38) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class PointerContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def type_qualifier(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Type_qualifierContext) + else: + return self.getTypedRuleContext(CParser.Type_qualifierContext,i) + + + def pointer(self): + return self.getTypedRuleContext(CParser.PointerContext,0) + + + def getRuleIndex(self): + return CParser.RULE_pointer + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterPointer" ): + listener.enterPointer(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitPointer" ): + listener.exitPointer(self) + + + + + def pointer(self): + + localctx = CParser.PointerContext(self, self._ctx, self.state) + self.enterRule(localctx, 48, self.RULE_pointer) + try: + self.state = 400 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,42,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 388 + self.match(CParser.T__41) + self.state = 390 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 389 + self.type_qualifier() + + else: + raise NoViableAltException(self) + self.state = 392 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,40,self._ctx) + + self.state = 395 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,41,self._ctx) + if la_ == 1: + self.state = 394 + self.pointer() + + + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 397 + self.match(CParser.T__41) + self.state = 398 + self.pointer() + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 399 + self.match(CParser.T__41) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Parameter_type_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def parameter_list(self): + return self.getTypedRuleContext(CParser.Parameter_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_parameter_type_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterParameter_type_list" ): + listener.enterParameter_type_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitParameter_type_list" ): + listener.exitParameter_type_list(self) + + + + + def parameter_type_list(self): + + localctx = CParser.Parameter_type_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 50, self.RULE_parameter_type_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 402 + self.parameter_list() + self.state = 408 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__3: + self.state = 403 + self.match(CParser.T__3) + self.state = 405 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__28: + self.state = 404 + self.match(CParser.T__28) + + + self.state = 407 + self.match(CParser.T__42) + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Parameter_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def parameter_declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Parameter_declarationContext) + else: + return self.getTypedRuleContext(CParser.Parameter_declarationContext,i) + + + def getRuleIndex(self): + return CParser.RULE_parameter_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterParameter_list" ): + listener.enterParameter_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitParameter_list" ): + listener.exitParameter_list(self) + + + + + def parameter_list(self): + + localctx = CParser.Parameter_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 52, self.RULE_parameter_list) + try: + self.enterOuterAlt(localctx, 1) + self.state = 410 + self.parameter_declaration() + self.state = 418 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,46,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 411 + self.match(CParser.T__3) + self.state = 413 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,45,self._ctx) + if la_ == 1: + self.state = 412 + self.match(CParser.T__28) + + + self.state = 415 + self.parameter_declaration() + self.state = 420 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,46,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Parameter_declarationContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def declaration_specifiers(self): + return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0) + + + # @param i=None Type: int + def declarator(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.DeclaratorContext) + else: + return self.getTypedRuleContext(CParser.DeclaratorContext,i) + + + # @param i=None Type: int + def abstract_declarator(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Abstract_declaratorContext) + else: + return self.getTypedRuleContext(CParser.Abstract_declaratorContext,i) + + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + # @param i=None Type: int + def pointer(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.PointerContext) + else: + return self.getTypedRuleContext(CParser.PointerContext,i) + + + def getRuleIndex(self): + return CParser.RULE_parameter_declaration + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterParameter_declaration" ): + listener.enterParameter_declaration(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitParameter_declaration" ): + listener.exitParameter_declaration(self) + + + + + def parameter_declaration(self): + + localctx = CParser.Parameter_declarationContext(self, self._ctx, self.state) + self.enterRule(localctx, 54, self.RULE_parameter_declaration) + self._la = 0 # Token type + try: + self.state = 439 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,51,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 421 + self.declaration_specifiers() + self.state = 426 + self._errHandler.sync(self) + _la = self._input.LA(1) + while ((((_la - 34)) & ~0x3f) == 0 and ((1 << (_la - 34)) & ((1 << (CParser.T__33 - 34)) | (1 << (CParser.T__34 - 34)) | (1 << (CParser.T__35 - 34)) | (1 << (CParser.T__37 - 34)) | (1 << (CParser.T__39 - 34)) | (1 << (CParser.T__41 - 34)) | (1 << (CParser.IDENTIFIER - 34)))) != 0): + self.state = 424 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,47,self._ctx) + if la_ == 1: + self.state = 422 + self.declarator() + pass + + elif la_ == 2: + self.state = 423 + self.abstract_declarator() + pass + + + self.state = 428 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 430 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__28: + self.state = 429 + self.match(CParser.T__28) + + + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 435 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__41: + self.state = 432 + self.pointer() + self.state = 437 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 438 + self.match(CParser.IDENTIFIER) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Identifier_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def IDENTIFIER(self,i=None): + if i is None: + return self.getTokens(CParser.IDENTIFIER) + else: + return self.getToken(CParser.IDENTIFIER, i) + + def getRuleIndex(self): + return CParser.RULE_identifier_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterIdentifier_list" ): + listener.enterIdentifier_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitIdentifier_list" ): + listener.exitIdentifier_list(self) + + + + + def identifier_list(self): + + localctx = CParser.Identifier_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 56, self.RULE_identifier_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 441 + self.match(CParser.IDENTIFIER) + self.state = 446 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 442 + self.match(CParser.T__3) + self.state = 443 + self.match(CParser.IDENTIFIER) + self.state = 448 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Type_nameContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def specifier_qualifier_list(self): + return self.getTypedRuleContext(CParser.Specifier_qualifier_listContext,0) + + + def abstract_declarator(self): + return self.getTypedRuleContext(CParser.Abstract_declaratorContext,0) + + + def type_id(self): + return self.getTypedRuleContext(CParser.Type_idContext,0) + + + def getRuleIndex(self): + return CParser.RULE_type_name + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterType_name" ): + listener.enterType_name(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitType_name" ): + listener.exitType_name(self) + + + + + def type_name(self): + + localctx = CParser.Type_nameContext(self, self._ctx, self.state) + self.enterRule(localctx, 58, self.RULE_type_name) + self._la = 0 # Token type + try: + self.state = 454 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,54,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 449 + self.specifier_qualifier_list() + self.state = 451 + self._errHandler.sync(self) + _la = self._input.LA(1) + if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__37) | (1 << CParser.T__39) | (1 << CParser.T__41))) != 0): + self.state = 450 + self.abstract_declarator() + + + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 453 + self.type_id() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Abstract_declaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def pointer(self): + return self.getTypedRuleContext(CParser.PointerContext,0) + + + def direct_abstract_declarator(self): + return self.getTypedRuleContext(CParser.Direct_abstract_declaratorContext,0) + + + def getRuleIndex(self): + return CParser.RULE_abstract_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAbstract_declarator" ): + listener.enterAbstract_declarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAbstract_declarator" ): + listener.exitAbstract_declarator(self) + + + + + def abstract_declarator(self): + + localctx = CParser.Abstract_declaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 60, self.RULE_abstract_declarator) + try: + self.state = 461 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__41]: + self.enterOuterAlt(localctx, 1) + self.state = 456 + self.pointer() + self.state = 458 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,55,self._ctx) + if la_ == 1: + self.state = 457 + self.direct_abstract_declarator() + + + pass + elif token in [CParser.T__37, CParser.T__39]: + self.enterOuterAlt(localctx, 2) + self.state = 460 + self.direct_abstract_declarator() + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Direct_abstract_declaratorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def abstract_declarator(self): + return self.getTypedRuleContext(CParser.Abstract_declaratorContext,0) + + + # @param i=None Type: int + def abstract_declarator_suffix(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Abstract_declarator_suffixContext) + else: + return self.getTypedRuleContext(CParser.Abstract_declarator_suffixContext,i) + + + def getRuleIndex(self): + return CParser.RULE_direct_abstract_declarator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterDirect_abstract_declarator" ): + listener.enterDirect_abstract_declarator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitDirect_abstract_declarator" ): + listener.exitDirect_abstract_declarator(self) + + + + def direct_abstract_declarator(self): + + localctx = CParser.Direct_abstract_declaratorContext(self, self._ctx, self.state) + self.enterRule(localctx, 62, self.RULE_direct_abstract_declarator) + try: + self.enterOuterAlt(localctx, 1) + self.state = 468 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,57,self._ctx) + if la_ == 1: + self.state = 463 + self.match(CParser.T__37) + self.state = 464 + self.abstract_declarator() + self.state = 465 + self.match(CParser.T__38) + pass + + elif la_ == 2: + self.state = 467 + self.abstract_declarator_suffix() + pass + + + self.state = 473 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,58,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 470 + self.abstract_declarator_suffix() + self.state = 475 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,58,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Abstract_declarator_suffixContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def constant_expression(self): + return self.getTypedRuleContext(CParser.Constant_expressionContext,0) + + + def parameter_type_list(self): + return self.getTypedRuleContext(CParser.Parameter_type_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_abstract_declarator_suffix + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAbstract_declarator_suffix" ): + listener.enterAbstract_declarator_suffix(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAbstract_declarator_suffix" ): + listener.exitAbstract_declarator_suffix(self) + + + + + def abstract_declarator_suffix(self): + + localctx = CParser.Abstract_declarator_suffixContext(self, self._ctx, self.state) + self.enterRule(localctx, 64, self.RULE_abstract_declarator_suffix) + try: + self.state = 488 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,59,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 476 + self.match(CParser.T__39) + self.state = 477 + self.match(CParser.T__40) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 478 + self.match(CParser.T__39) + self.state = 479 + self.constant_expression() + self.state = 480 + self.match(CParser.T__40) + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 482 + self.match(CParser.T__37) + self.state = 483 + self.match(CParser.T__38) + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 484 + self.match(CParser.T__37) + self.state = 485 + self.parameter_type_list() + self.state = 486 + self.match(CParser.T__38) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class InitializerContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def assignment_expression(self): + return self.getTypedRuleContext(CParser.Assignment_expressionContext,0) + + + def initializer_list(self): + return self.getTypedRuleContext(CParser.Initializer_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_initializer + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterInitializer" ): + listener.enterInitializer(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitInitializer" ): + listener.exitInitializer(self) + + + + + def initializer(self): + + localctx = CParser.InitializerContext(self, self._ctx, self.state) + self.enterRule(localctx, 66, self.RULE_initializer) + self._la = 0 # Token type + try: + self.state = 498 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__37, CParser.T__41, CParser.T__43, CParser.T__44, CParser.T__47, CParser.T__48, CParser.T__49, CParser.T__52, CParser.T__53, CParser.T__54, CParser.IDENTIFIER, CParser.CHARACTER_LITERAL, CParser.STRING_LITERAL, CParser.HEX_LITERAL, CParser.DECIMAL_LITERAL, CParser.OCTAL_LITERAL, CParser.FLOATING_POINT_LITERAL]: + self.enterOuterAlt(localctx, 1) + self.state = 490 + self.assignment_expression() + pass + elif token in [CParser.T__0]: + self.enterOuterAlt(localctx, 2) + self.state = 491 + self.match(CParser.T__0) + self.state = 492 + self.initializer_list() + self.state = 494 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__3: + self.state = 493 + self.match(CParser.T__3) + + + self.state = 496 + self.match(CParser.T__19) + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Initializer_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def initializer(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.InitializerContext) + else: + return self.getTypedRuleContext(CParser.InitializerContext,i) + + + def getRuleIndex(self): + return CParser.RULE_initializer_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterInitializer_list" ): + listener.enterInitializer_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitInitializer_list" ): + listener.exitInitializer_list(self) + + + + + def initializer_list(self): + + localctx = CParser.Initializer_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 68, self.RULE_initializer_list) + try: + self.enterOuterAlt(localctx, 1) + self.state = 500 + self.initializer() + self.state = 505 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,62,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 501 + self.match(CParser.T__3) + self.state = 502 + self.initializer() + self.state = 507 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,62,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Argument_expression_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def assignment_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Assignment_expressionContext) + else: + return self.getTypedRuleContext(CParser.Assignment_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_argument_expression_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterArgument_expression_list" ): + listener.enterArgument_expression_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitArgument_expression_list" ): + listener.exitArgument_expression_list(self) + + + + + def argument_expression_list(self): + + localctx = CParser.Argument_expression_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 70, self.RULE_argument_expression_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 508 + self.assignment_expression() + self.state = 510 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__28: + self.state = 509 + self.match(CParser.T__28) + + + self.state = 519 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 512 + self.match(CParser.T__3) + self.state = 513 + self.assignment_expression() + self.state = 515 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__28: + self.state = 514 + self.match(CParser.T__28) + + + self.state = 521 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Additive_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def multiplicative_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Multiplicative_expressionContext) + else: + return self.getTypedRuleContext(CParser.Multiplicative_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_additive_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAdditive_expression" ): + listener.enterAdditive_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAdditive_expression" ): + listener.exitAdditive_expression(self) + + + + + def additive_expression(self): + + localctx = CParser.Additive_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 72, self.RULE_additive_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 522 + self.multiplicative_expression() + self.state = 529 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__43 or _la==CParser.T__44: + self.state = 527 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__43]: + self.state = 523 + self.match(CParser.T__43) + self.state = 524 + self.multiplicative_expression() + pass + elif token in [CParser.T__44]: + self.state = 525 + self.match(CParser.T__44) + self.state = 526 + self.multiplicative_expression() + pass + else: + raise NoViableAltException(self) + + self.state = 531 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Multiplicative_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def cast_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Cast_expressionContext) + else: + return self.getTypedRuleContext(CParser.Cast_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_multiplicative_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterMultiplicative_expression" ): + listener.enterMultiplicative_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitMultiplicative_expression" ): + listener.exitMultiplicative_expression(self) + + + + + def multiplicative_expression(self): + + localctx = CParser.Multiplicative_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 74, self.RULE_multiplicative_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 532 + self.cast_expression() + self.state = 541 + self._errHandler.sync(self) + _la = self._input.LA(1) + while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__41) | (1 << CParser.T__45) | (1 << CParser.T__46))) != 0): + self.state = 539 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__41]: + self.state = 533 + self.match(CParser.T__41) + self.state = 534 + self.cast_expression() + pass + elif token in [CParser.T__45]: + self.state = 535 + self.match(CParser.T__45) + self.state = 536 + self.cast_expression() + pass + elif token in [CParser.T__46]: + self.state = 537 + self.match(CParser.T__46) + self.state = 538 + self.cast_expression() + pass + else: + raise NoViableAltException(self) + + self.state = 543 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Cast_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def type_name(self): + return self.getTypedRuleContext(CParser.Type_nameContext,0) + + + def cast_expression(self): + return self.getTypedRuleContext(CParser.Cast_expressionContext,0) + + + def unary_expression(self): + return self.getTypedRuleContext(CParser.Unary_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_cast_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterCast_expression" ): + listener.enterCast_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitCast_expression" ): + listener.exitCast_expression(self) + + + + + def cast_expression(self): + + localctx = CParser.Cast_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 76, self.RULE_cast_expression) + try: + self.state = 550 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,70,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 544 + self.match(CParser.T__37) + self.state = 545 + self.type_name() + self.state = 546 + self.match(CParser.T__38) + self.state = 547 + self.cast_expression() + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 549 + self.unary_expression() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Unary_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def postfix_expression(self): + return self.getTypedRuleContext(CParser.Postfix_expressionContext,0) + + + def unary_expression(self): + return self.getTypedRuleContext(CParser.Unary_expressionContext,0) + + + def unary_operator(self): + return self.getTypedRuleContext(CParser.Unary_operatorContext,0) + + + def cast_expression(self): + return self.getTypedRuleContext(CParser.Cast_expressionContext,0) + + + def type_name(self): + return self.getTypedRuleContext(CParser.Type_nameContext,0) + + + def getRuleIndex(self): + return CParser.RULE_unary_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterUnary_expression" ): + listener.enterUnary_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitUnary_expression" ): + listener.exitUnary_expression(self) + + + + + def unary_expression(self): + + localctx = CParser.Unary_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 78, self.RULE_unary_expression) + try: + self.state = 567 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,71,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 552 + self.postfix_expression() + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 553 + self.match(CParser.T__47) + self.state = 554 + self.unary_expression() + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 555 + self.match(CParser.T__48) + self.state = 556 + self.unary_expression() + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 557 + self.unary_operator() + self.state = 558 + self.cast_expression() + pass + + elif la_ == 5: + self.enterOuterAlt(localctx, 5) + self.state = 560 + self.match(CParser.T__49) + self.state = 561 + self.unary_expression() + pass + + elif la_ == 6: + self.enterOuterAlt(localctx, 6) + self.state = 562 + self.match(CParser.T__49) + self.state = 563 + self.match(CParser.T__37) + self.state = 564 + self.type_name() + self.state = 565 + self.match(CParser.T__38) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Postfix_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.FuncCallText = '' + self.p = None # Primary_expressionContext + self.a = None # Token + self.c = None # Argument_expression_listContext + self.b = None # Token + self.x = None # Token + self.y = None # Token + self.z = None # Token + + def primary_expression(self): + return self.getTypedRuleContext(CParser.Primary_expressionContext,0) + + + # @param i=None Type: int + def expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.ExpressionContext) + else: + return self.getTypedRuleContext(CParser.ExpressionContext,i) + + + # @param i=None Type: int + def macro_parameter_list(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Macro_parameter_listContext) + else: + return self.getTypedRuleContext(CParser.Macro_parameter_listContext,i) + + + # @param i=None Type: int + def argument_expression_list(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Argument_expression_listContext) + else: + return self.getTypedRuleContext(CParser.Argument_expression_listContext,i) + + + # @param i=None Type: int + def IDENTIFIER(self,i=None): + if i is None: + return self.getTokens(CParser.IDENTIFIER) + else: + return self.getToken(CParser.IDENTIFIER, i) + + def getRuleIndex(self): + return CParser.RULE_postfix_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterPostfix_expression" ): + listener.enterPostfix_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitPostfix_expression" ): + listener.exitPostfix_expression(self) + + + + + def postfix_expression(self): + + localctx = CParser.Postfix_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 80, self.RULE_postfix_expression) + + self.FuncCallText='' + + try: + self.enterOuterAlt(localctx, 1) + self.state = 569 + localctx.p = self.primary_expression() + self.FuncCallText += (None if localctx.p is None else self._input.getText((localctx.p.start,localctx.p.stop))) + self.state = 600 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,73,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 598 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,72,self._ctx) + if la_ == 1: + self.state = 571 + self.match(CParser.T__39) + self.state = 572 + self.expression() + self.state = 573 + self.match(CParser.T__40) + pass + + elif la_ == 2: + self.state = 575 + self.match(CParser.T__37) + self.state = 576 + localctx.a = self.match(CParser.T__38) + self.StoreFunctionCalling((None if localctx.p is None else localctx.p.start).line, (None if localctx.p is None else localctx.p.start).column, (0 if localctx.a is None else localctx.a.line), localctx.a.column, self.FuncCallText, '') + pass + + elif la_ == 3: + self.state = 578 + self.match(CParser.T__37) + self.state = 579 + localctx.c = self.argument_expression_list() + self.state = 580 + localctx.b = self.match(CParser.T__38) + self.StoreFunctionCalling((None if localctx.p is None else localctx.p.start).line, (None if localctx.p is None else localctx.p.start).column, (0 if localctx.b is None else localctx.b.line), localctx.b.column, self.FuncCallText, (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop)))) + pass + + elif la_ == 4: + self.state = 583 + self.match(CParser.T__37) + self.state = 584 + self.macro_parameter_list() + self.state = 585 + self.match(CParser.T__38) + pass + + elif la_ == 5: + self.state = 587 + self.match(CParser.T__50) + self.state = 588 + localctx.x = self.match(CParser.IDENTIFIER) + self.FuncCallText += '.' + (None if localctx.x is None else localctx.x.text) + pass + + elif la_ == 6: + self.state = 590 + self.match(CParser.T__41) + self.state = 591 + localctx.y = self.match(CParser.IDENTIFIER) + self.FuncCallText = (None if localctx.y is None else localctx.y.text) + pass + + elif la_ == 7: + self.state = 593 + self.match(CParser.T__51) + self.state = 594 + localctx.z = self.match(CParser.IDENTIFIER) + self.FuncCallText += '->' + (None if localctx.z is None else localctx.z.text) + pass + + elif la_ == 8: + self.state = 596 + self.match(CParser.T__47) + pass + + elif la_ == 9: + self.state = 597 + self.match(CParser.T__48) + pass + + + self.state = 602 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,73,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Macro_parameter_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def parameter_declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Parameter_declarationContext) + else: + return self.getTypedRuleContext(CParser.Parameter_declarationContext,i) + + + def getRuleIndex(self): + return CParser.RULE_macro_parameter_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterMacro_parameter_list" ): + listener.enterMacro_parameter_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitMacro_parameter_list" ): + listener.exitMacro_parameter_list(self) + + + + + def macro_parameter_list(self): + + localctx = CParser.Macro_parameter_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 82, self.RULE_macro_parameter_list) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 603 + self.parameter_declaration() + self.state = 608 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 604 + self.match(CParser.T__3) + self.state = 605 + self.parameter_declaration() + self.state = 610 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Unary_operatorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_unary_operator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterUnary_operator" ): + listener.enterUnary_operator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitUnary_operator" ): + listener.exitUnary_operator(self) + + + + + def unary_operator(self): + + localctx = CParser.Unary_operatorContext(self, self._ctx, self.state) + self.enterRule(localctx, 84, self.RULE_unary_operator) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 611 + _la = self._input.LA(1) + if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__41) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54))) != 0)): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Primary_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def constant(self): + return self.getTypedRuleContext(CParser.ConstantContext,0) + + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_primary_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterPrimary_expression" ): + listener.enterPrimary_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitPrimary_expression" ): + listener.exitPrimary_expression(self) + + + + + def primary_expression(self): + + localctx = CParser.Primary_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 86, self.RULE_primary_expression) + try: + self.state = 619 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,75,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 613 + self.match(CParser.IDENTIFIER) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 614 + self.constant() + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 615 + self.match(CParser.T__37) + self.state = 616 + self.expression() + self.state = 617 + self.match(CParser.T__38) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class ConstantContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def HEX_LITERAL(self): + return self.getToken(CParser.HEX_LITERAL, 0) + + def OCTAL_LITERAL(self): + return self.getToken(CParser.OCTAL_LITERAL, 0) + + def DECIMAL_LITERAL(self): + return self.getToken(CParser.DECIMAL_LITERAL, 0) + + def CHARACTER_LITERAL(self): + return self.getToken(CParser.CHARACTER_LITERAL, 0) + + # @param i=None Type: int + def IDENTIFIER(self,i=None): + if i is None: + return self.getTokens(CParser.IDENTIFIER) + else: + return self.getToken(CParser.IDENTIFIER, i) + + # @param i=None Type: int + def STRING_LITERAL(self,i=None): + if i is None: + return self.getTokens(CParser.STRING_LITERAL) + else: + return self.getToken(CParser.STRING_LITERAL, i) + + def FLOATING_POINT_LITERAL(self): + return self.getToken(CParser.FLOATING_POINT_LITERAL, 0) + + def getRuleIndex(self): + return CParser.RULE_constant + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterConstant" ): + listener.enterConstant(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitConstant" ): + listener.exitConstant(self) + + + + + def constant(self): + + localctx = CParser.ConstantContext(self, self._ctx, self.state) + self.enterRule(localctx, 88, self.RULE_constant) + self._la = 0 # Token type + try: + self.state = 647 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.HEX_LITERAL]: + self.enterOuterAlt(localctx, 1) + self.state = 621 + self.match(CParser.HEX_LITERAL) + pass + elif token in [CParser.OCTAL_LITERAL]: + self.enterOuterAlt(localctx, 2) + self.state = 622 + self.match(CParser.OCTAL_LITERAL) + pass + elif token in [CParser.DECIMAL_LITERAL]: + self.enterOuterAlt(localctx, 3) + self.state = 623 + self.match(CParser.DECIMAL_LITERAL) + pass + elif token in [CParser.CHARACTER_LITERAL]: + self.enterOuterAlt(localctx, 4) + self.state = 624 + self.match(CParser.CHARACTER_LITERAL) + pass + elif token in [CParser.IDENTIFIER, CParser.STRING_LITERAL]: + self.enterOuterAlt(localctx, 5) + self.state = 636 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 628 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.IDENTIFIER: + self.state = 625 + self.match(CParser.IDENTIFIER) + self.state = 630 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 632 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 631 + self.match(CParser.STRING_LITERAL) + + else: + raise NoViableAltException(self) + self.state = 634 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,77,self._ctx) + + + else: + raise NoViableAltException(self) + self.state = 638 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,78,self._ctx) + + self.state = 643 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.IDENTIFIER: + self.state = 640 + self.match(CParser.IDENTIFIER) + self.state = 645 + self._errHandler.sync(self) + _la = self._input.LA(1) + + pass + elif token in [CParser.FLOATING_POINT_LITERAL]: + self.enterOuterAlt(localctx, 6) + self.state = 646 + self.match(CParser.FLOATING_POINT_LITERAL) + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class ExpressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def assignment_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Assignment_expressionContext) + else: + return self.getTypedRuleContext(CParser.Assignment_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterExpression" ): + listener.enterExpression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitExpression" ): + listener.exitExpression(self) + + + + + def expression(self): + + localctx = CParser.ExpressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 90, self.RULE_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 649 + self.assignment_expression() + self.state = 654 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__3: + self.state = 650 + self.match(CParser.T__3) + self.state = 651 + self.assignment_expression() + self.state = 656 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Constant_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def conditional_expression(self): + return self.getTypedRuleContext(CParser.Conditional_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_constant_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterConstant_expression" ): + listener.enterConstant_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitConstant_expression" ): + listener.exitConstant_expression(self) + + + + + def constant_expression(self): + + localctx = CParser.Constant_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 92, self.RULE_constant_expression) + try: + self.enterOuterAlt(localctx, 1) + self.state = 657 + self.conditional_expression() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Assignment_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def lvalue(self): + return self.getTypedRuleContext(CParser.LvalueContext,0) + + + def assignment_operator(self): + return self.getTypedRuleContext(CParser.Assignment_operatorContext,0) + + + def assignment_expression(self): + return self.getTypedRuleContext(CParser.Assignment_expressionContext,0) + + + def conditional_expression(self): + return self.getTypedRuleContext(CParser.Conditional_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_assignment_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAssignment_expression" ): + listener.enterAssignment_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAssignment_expression" ): + listener.exitAssignment_expression(self) + + + + + def assignment_expression(self): + + localctx = CParser.Assignment_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 94, self.RULE_assignment_expression) + try: + self.state = 664 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,82,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 659 + self.lvalue() + self.state = 660 + self.assignment_operator() + self.state = 661 + self.assignment_expression() + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 663 + self.conditional_expression() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class LvalueContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def unary_expression(self): + return self.getTypedRuleContext(CParser.Unary_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_lvalue + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterLvalue" ): + listener.enterLvalue(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitLvalue" ): + listener.exitLvalue(self) + + + + + def lvalue(self): + + localctx = CParser.LvalueContext(self, self._ctx, self.state) + self.enterRule(localctx, 96, self.RULE_lvalue) + try: + self.enterOuterAlt(localctx, 1) + self.state = 666 + self.unary_expression() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Assignment_operatorContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_assignment_operator + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAssignment_operator" ): + listener.enterAssignment_operator(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAssignment_operator" ): + listener.exitAssignment_operator(self) + + + + + def assignment_operator(self): + + localctx = CParser.Assignment_operatorContext(self, self._ctx, self.state) + self.enterRule(localctx, 98, self.RULE_assignment_operator) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 668 + _la = self._input.LA(1) + if not(((((_la - 5)) & ~0x3f) == 0 and ((1 << (_la - 5)) & ((1 << (CParser.T__4 - 5)) | (1 << (CParser.T__55 - 5)) | (1 << (CParser.T__56 - 5)) | (1 << (CParser.T__57 - 5)) | (1 << (CParser.T__58 - 5)) | (1 << (CParser.T__59 - 5)) | (1 << (CParser.T__60 - 5)) | (1 << (CParser.T__61 - 5)) | (1 << (CParser.T__62 - 5)) | (1 << (CParser.T__63 - 5)) | (1 << (CParser.T__64 - 5)))) != 0)): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Conditional_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.e = None # Logical_or_expressionContext + + def logical_or_expression(self): + return self.getTypedRuleContext(CParser.Logical_or_expressionContext,0) + + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def conditional_expression(self): + return self.getTypedRuleContext(CParser.Conditional_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_conditional_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterConditional_expression" ): + listener.enterConditional_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitConditional_expression" ): + listener.exitConditional_expression(self) + + + + + def conditional_expression(self): + + localctx = CParser.Conditional_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 100, self.RULE_conditional_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 670 + localctx.e = self.logical_or_expression() + self.state = 677 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__65: + self.state = 671 + self.match(CParser.T__65) + self.state = 672 + self.expression() + self.state = 673 + self.match(CParser.T__22) + self.state = 674 + self.conditional_expression() + self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop)))) + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Logical_or_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def logical_and_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Logical_and_expressionContext) + else: + return self.getTypedRuleContext(CParser.Logical_and_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_logical_or_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterLogical_or_expression" ): + listener.enterLogical_or_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitLogical_or_expression" ): + listener.exitLogical_or_expression(self) + + + + + def logical_or_expression(self): + + localctx = CParser.Logical_or_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 102, self.RULE_logical_or_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 679 + self.logical_and_expression() + self.state = 684 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__66: + self.state = 680 + self.match(CParser.T__66) + self.state = 681 + self.logical_and_expression() + self.state = 686 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Logical_and_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def inclusive_or_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Inclusive_or_expressionContext) + else: + return self.getTypedRuleContext(CParser.Inclusive_or_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_logical_and_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterLogical_and_expression" ): + listener.enterLogical_and_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitLogical_and_expression" ): + listener.exitLogical_and_expression(self) + + + + + def logical_and_expression(self): + + localctx = CParser.Logical_and_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 104, self.RULE_logical_and_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 687 + self.inclusive_or_expression() + self.state = 692 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__67: + self.state = 688 + self.match(CParser.T__67) + self.state = 689 + self.inclusive_or_expression() + self.state = 694 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Inclusive_or_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def exclusive_or_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Exclusive_or_expressionContext) + else: + return self.getTypedRuleContext(CParser.Exclusive_or_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_inclusive_or_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterInclusive_or_expression" ): + listener.enterInclusive_or_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitInclusive_or_expression" ): + listener.exitInclusive_or_expression(self) + + + + + def inclusive_or_expression(self): + + localctx = CParser.Inclusive_or_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 106, self.RULE_inclusive_or_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 695 + self.exclusive_or_expression() + self.state = 700 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__68: + self.state = 696 + self.match(CParser.T__68) + self.state = 697 + self.exclusive_or_expression() + self.state = 702 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Exclusive_or_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def and_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.And_expressionContext) + else: + return self.getTypedRuleContext(CParser.And_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_exclusive_or_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterExclusive_or_expression" ): + listener.enterExclusive_or_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitExclusive_or_expression" ): + listener.exitExclusive_or_expression(self) + + + + + def exclusive_or_expression(self): + + localctx = CParser.Exclusive_or_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 108, self.RULE_exclusive_or_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 703 + self.and_expression() + self.state = 708 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__69: + self.state = 704 + self.match(CParser.T__69) + self.state = 705 + self.and_expression() + self.state = 710 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class And_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def equality_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Equality_expressionContext) + else: + return self.getTypedRuleContext(CParser.Equality_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_and_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAnd_expression" ): + listener.enterAnd_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAnd_expression" ): + listener.exitAnd_expression(self) + + + + + def and_expression(self): + + localctx = CParser.And_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 110, self.RULE_and_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 711 + self.equality_expression() + self.state = 716 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__52: + self.state = 712 + self.match(CParser.T__52) + self.state = 713 + self.equality_expression() + self.state = 718 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Equality_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def relational_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Relational_expressionContext) + else: + return self.getTypedRuleContext(CParser.Relational_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_equality_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterEquality_expression" ): + listener.enterEquality_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitEquality_expression" ): + listener.exitEquality_expression(self) + + + + + def equality_expression(self): + + localctx = CParser.Equality_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 112, self.RULE_equality_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 719 + self.relational_expression() + self.state = 724 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__70 or _la==CParser.T__71: + self.state = 720 + _la = self._input.LA(1) + if not(_la==CParser.T__70 or _la==CParser.T__71): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 721 + self.relational_expression() + self.state = 726 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Relational_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def shift_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Shift_expressionContext) + else: + return self.getTypedRuleContext(CParser.Shift_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_relational_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterRelational_expression" ): + listener.enterRelational_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitRelational_expression" ): + listener.exitRelational_expression(self) + + + + + def relational_expression(self): + + localctx = CParser.Relational_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 114, self.RULE_relational_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 727 + self.shift_expression() + self.state = 732 + self._errHandler.sync(self) + _la = self._input.LA(1) + while ((((_la - 73)) & ~0x3f) == 0 and ((1 << (_la - 73)) & ((1 << (CParser.T__72 - 73)) | (1 << (CParser.T__73 - 73)) | (1 << (CParser.T__74 - 73)) | (1 << (CParser.T__75 - 73)))) != 0): + self.state = 728 + _la = self._input.LA(1) + if not(((((_la - 73)) & ~0x3f) == 0 and ((1 << (_la - 73)) & ((1 << (CParser.T__72 - 73)) | (1 << (CParser.T__73 - 73)) | (1 << (CParser.T__74 - 73)) | (1 << (CParser.T__75 - 73)))) != 0)): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 729 + self.shift_expression() + self.state = 734 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Shift_expressionContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def additive_expression(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.Additive_expressionContext) + else: + return self.getTypedRuleContext(CParser.Additive_expressionContext,i) + + + def getRuleIndex(self): + return CParser.RULE_shift_expression + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterShift_expression" ): + listener.enterShift_expression(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitShift_expression" ): + listener.exitShift_expression(self) + + + + + def shift_expression(self): + + localctx = CParser.Shift_expressionContext(self, self._ctx, self.state) + self.enterRule(localctx, 116, self.RULE_shift_expression) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 735 + self.additive_expression() + self.state = 740 + self._errHandler.sync(self) + _la = self._input.LA(1) + while _la==CParser.T__76 or _la==CParser.T__77: + self.state = 736 + _la = self._input.LA(1) + if not(_la==CParser.T__76 or _la==CParser.T__77): + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 737 + self.additive_expression() + self.state = 742 + self._errHandler.sync(self) + _la = self._input.LA(1) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class StatementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def labeled_statement(self): + return self.getTypedRuleContext(CParser.Labeled_statementContext,0) + + + def compound_statement(self): + return self.getTypedRuleContext(CParser.Compound_statementContext,0) + + + def expression_statement(self): + return self.getTypedRuleContext(CParser.Expression_statementContext,0) + + + def selection_statement(self): + return self.getTypedRuleContext(CParser.Selection_statementContext,0) + + + def iteration_statement(self): + return self.getTypedRuleContext(CParser.Iteration_statementContext,0) + + + def jump_statement(self): + return self.getTypedRuleContext(CParser.Jump_statementContext,0) + + + def macro_statement(self): + return self.getTypedRuleContext(CParser.Macro_statementContext,0) + + + def asm2_statement(self): + return self.getTypedRuleContext(CParser.Asm2_statementContext,0) + + + def asm1_statement(self): + return self.getTypedRuleContext(CParser.Asm1_statementContext,0) + + + def asm_statement(self): + return self.getTypedRuleContext(CParser.Asm_statementContext,0) + + + def declaration(self): + return self.getTypedRuleContext(CParser.DeclarationContext,0) + + + def getRuleIndex(self): + return CParser.RULE_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStatement" ): + listener.enterStatement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStatement" ): + listener.exitStatement(self) + + + + + def statement(self): + + localctx = CParser.StatementContext(self, self._ctx, self.state) + self.enterRule(localctx, 118, self.RULE_statement) + try: + self.state = 754 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,92,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 743 + self.labeled_statement() + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 744 + self.compound_statement() + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 745 + self.expression_statement() + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 746 + self.selection_statement() + pass + + elif la_ == 5: + self.enterOuterAlt(localctx, 5) + self.state = 747 + self.iteration_statement() + pass + + elif la_ == 6: + self.enterOuterAlt(localctx, 6) + self.state = 748 + self.jump_statement() + pass + + elif la_ == 7: + self.enterOuterAlt(localctx, 7) + self.state = 749 + self.macro_statement() + pass + + elif la_ == 8: + self.enterOuterAlt(localctx, 8) + self.state = 750 + self.asm2_statement() + pass + + elif la_ == 9: + self.enterOuterAlt(localctx, 9) + self.state = 751 + self.asm1_statement() + pass + + elif la_ == 10: + self.enterOuterAlt(localctx, 10) + self.state = 752 + self.asm_statement() + pass + + elif la_ == 11: + self.enterOuterAlt(localctx, 11) + self.state = 753 + self.declaration() + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Asm2_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def getRuleIndex(self): + return CParser.RULE_asm2_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAsm2_statement" ): + listener.enterAsm2_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAsm2_statement" ): + listener.exitAsm2_statement(self) + + + + + def asm2_statement(self): + + localctx = CParser.Asm2_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 120, self.RULE_asm2_statement) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 757 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==CParser.T__78: + self.state = 756 + self.match(CParser.T__78) + + + self.state = 759 + self.match(CParser.IDENTIFIER) + self.state = 760 + self.match(CParser.T__37) + self.state = 764 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,94,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 761 + _la = self._input.LA(1) + if _la <= 0 or _la==CParser.T__1: + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 766 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,94,self._ctx) + + self.state = 767 + self.match(CParser.T__38) + self.state = 768 + self.match(CParser.T__1) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Asm1_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_asm1_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAsm1_statement" ): + listener.enterAsm1_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAsm1_statement" ): + listener.exitAsm1_statement(self) + + + + + def asm1_statement(self): + + localctx = CParser.Asm1_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 122, self.RULE_asm1_statement) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 770 + self.match(CParser.T__79) + self.state = 771 + self.match(CParser.T__0) + self.state = 775 + self._errHandler.sync(self) + _la = self._input.LA(1) + while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__3) | (1 << CParser.T__4) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__22) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__38) | (1 << CParser.T__39) | (1 << CParser.T__40) | (1 << CParser.T__41) | (1 << CParser.T__42) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__45) | (1 << CParser.T__46) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__50) | (1 << CParser.T__51) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54) | (1 << CParser.T__55) | (1 << CParser.T__56) | (1 << CParser.T__57) | (1 << CParser.T__58) | (1 << CParser.T__59) | (1 << CParser.T__60) | (1 << CParser.T__61) | (1 << CParser.T__62))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (CParser.T__63 - 64)) | (1 << (CParser.T__64 - 64)) | (1 << (CParser.T__65 - 64)) | (1 << (CParser.T__66 - 64)) | (1 << (CParser.T__67 - 64)) | (1 << (CParser.T__68 - 64)) | (1 << (CParser.T__69 - 64)) | (1 << (CParser.T__70 - 64)) | (1 << (CParser.T__71 - 64)) | (1 << (CParser.T__72 - 64)) | (1 << (CParser.T__73 - 64)) | (1 << (CParser.T__74 - 64)) | (1 << (CParser.T__75 - 64)) | (1 << (CParser.T__76 - 64)) | (1 << (CParser.T__77 - 64)) | (1 << (CParser.T__78 - 64)) | (1 << (CParser.T__79 - 64)) | (1 << (CParser.T__80 - 64)) | (1 << (CParser.T__81 - 64)) | (1 << (CParser.T__82 - 64)) | (1 << (CParser.T__83 - 64)) | (1 << (CParser.T__84 - 64)) | (1 << (CParser.T__85 - 64)) | (1 << (CParser.T__86 - 64)) | (1 << (CParser.T__87 - 64)) | (1 << (CParser.T__88 - 64)) | (1 << (CParser.T__89 - 64)) | (1 << (CParser.T__90 - 64)) | (1 << (CParser.T__91 - 64)) | (1 << (CParser.IDENTIFIER - 64)) | (1 << (CParser.CHARACTER_LITERAL - 64)) | (1 << (CParser.STRING_LITERAL - 64)) | (1 << (CParser.HEX_LITERAL - 64)) | (1 << (CParser.DECIMAL_LITERAL - 64)) | (1 << (CParser.OCTAL_LITERAL - 64)) | (1 << (CParser.FLOATING_POINT_LITERAL - 64)) | (1 << (CParser.WS - 64)) | (1 << (CParser.BS - 64)) | (1 << (CParser.UnicodeVocabulary - 64)) | (1 << (CParser.COMMENT - 64)) | (1 << (CParser.LINE_COMMENT - 64)) | (1 << (CParser.LINE_COMMAND - 64)))) != 0): + self.state = 772 + _la = self._input.LA(1) + if _la <= 0 or _la==CParser.T__19: + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 777 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 778 + self.match(CParser.T__19) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Asm_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + + def getRuleIndex(self): + return CParser.RULE_asm_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterAsm_statement" ): + listener.enterAsm_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitAsm_statement" ): + listener.exitAsm_statement(self) + + + + + def asm_statement(self): + + localctx = CParser.Asm_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 124, self.RULE_asm_statement) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 780 + self.match(CParser.T__80) + self.state = 781 + self.match(CParser.T__0) + self.state = 785 + self._errHandler.sync(self) + _la = self._input.LA(1) + while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__3) | (1 << CParser.T__4) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__22) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__38) | (1 << CParser.T__39) | (1 << CParser.T__40) | (1 << CParser.T__41) | (1 << CParser.T__42) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__45) | (1 << CParser.T__46) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__50) | (1 << CParser.T__51) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54) | (1 << CParser.T__55) | (1 << CParser.T__56) | (1 << CParser.T__57) | (1 << CParser.T__58) | (1 << CParser.T__59) | (1 << CParser.T__60) | (1 << CParser.T__61) | (1 << CParser.T__62))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (CParser.T__63 - 64)) | (1 << (CParser.T__64 - 64)) | (1 << (CParser.T__65 - 64)) | (1 << (CParser.T__66 - 64)) | (1 << (CParser.T__67 - 64)) | (1 << (CParser.T__68 - 64)) | (1 << (CParser.T__69 - 64)) | (1 << (CParser.T__70 - 64)) | (1 << (CParser.T__71 - 64)) | (1 << (CParser.T__72 - 64)) | (1 << (CParser.T__73 - 64)) | (1 << (CParser.T__74 - 64)) | (1 << (CParser.T__75 - 64)) | (1 << (CParser.T__76 - 64)) | (1 << (CParser.T__77 - 64)) | (1 << (CParser.T__78 - 64)) | (1 << (CParser.T__79 - 64)) | (1 << (CParser.T__80 - 64)) | (1 << (CParser.T__81 - 64)) | (1 << (CParser.T__82 - 64)) | (1 << (CParser.T__83 - 64)) | (1 << (CParser.T__84 - 64)) | (1 << (CParser.T__85 - 64)) | (1 << (CParser.T__86 - 64)) | (1 << (CParser.T__87 - 64)) | (1 << (CParser.T__88 - 64)) | (1 << (CParser.T__89 - 64)) | (1 << (CParser.T__90 - 64)) | (1 << (CParser.T__91 - 64)) | (1 << (CParser.IDENTIFIER - 64)) | (1 << (CParser.CHARACTER_LITERAL - 64)) | (1 << (CParser.STRING_LITERAL - 64)) | (1 << (CParser.HEX_LITERAL - 64)) | (1 << (CParser.DECIMAL_LITERAL - 64)) | (1 << (CParser.OCTAL_LITERAL - 64)) | (1 << (CParser.FLOATING_POINT_LITERAL - 64)) | (1 << (CParser.WS - 64)) | (1 << (CParser.BS - 64)) | (1 << (CParser.UnicodeVocabulary - 64)) | (1 << (CParser.COMMENT - 64)) | (1 << (CParser.LINE_COMMENT - 64)) | (1 << (CParser.LINE_COMMAND - 64)))) != 0): + self.state = 782 + _la = self._input.LA(1) + if _la <= 0 or _la==CParser.T__19: + self._errHandler.recoverInline(self) + else: + self._errHandler.reportMatch(self) + self.consume() + self.state = 787 + self._errHandler.sync(self) + _la = self._input.LA(1) + + self.state = 788 + self.match(CParser.T__19) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Macro_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + # @param i=None Type: int + def declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.DeclarationContext) + else: + return self.getTypedRuleContext(CParser.DeclarationContext,i) + + + def statement_list(self): + return self.getTypedRuleContext(CParser.Statement_listContext,0) + + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_macro_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterMacro_statement" ): + listener.enterMacro_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitMacro_statement" ): + listener.exitMacro_statement(self) + + + + + def macro_statement(self): + + localctx = CParser.Macro_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 126, self.RULE_macro_statement) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 790 + self.match(CParser.IDENTIFIER) + self.state = 791 + self.match(CParser.T__37) + self.state = 795 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,97,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 792 + self.declaration() + self.state = 797 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,97,self._ctx) + + self.state = 799 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,98,self._ctx) + if la_ == 1: + self.state = 798 + self.statement_list() + + + self.state = 802 + self._errHandler.sync(self) + _la = self._input.LA(1) + if ((((_la - 38)) & ~0x3f) == 0 and ((1 << (_la - 38)) & ((1 << (CParser.T__37 - 38)) | (1 << (CParser.T__41 - 38)) | (1 << (CParser.T__43 - 38)) | (1 << (CParser.T__44 - 38)) | (1 << (CParser.T__47 - 38)) | (1 << (CParser.T__48 - 38)) | (1 << (CParser.T__49 - 38)) | (1 << (CParser.T__52 - 38)) | (1 << (CParser.T__53 - 38)) | (1 << (CParser.T__54 - 38)) | (1 << (CParser.IDENTIFIER - 38)) | (1 << (CParser.CHARACTER_LITERAL - 38)) | (1 << (CParser.STRING_LITERAL - 38)) | (1 << (CParser.HEX_LITERAL - 38)) | (1 << (CParser.DECIMAL_LITERAL - 38)) | (1 << (CParser.OCTAL_LITERAL - 38)) | (1 << (CParser.FLOATING_POINT_LITERAL - 38)))) != 0): + self.state = 801 + self.expression() + + + self.state = 804 + self.match(CParser.T__38) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Labeled_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def statement(self): + return self.getTypedRuleContext(CParser.StatementContext,0) + + + def constant_expression(self): + return self.getTypedRuleContext(CParser.Constant_expressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_labeled_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterLabeled_statement" ): + listener.enterLabeled_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitLabeled_statement" ): + listener.exitLabeled_statement(self) + + + + + def labeled_statement(self): + + localctx = CParser.Labeled_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 128, self.RULE_labeled_statement) + try: + self.state = 817 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.IDENTIFIER]: + self.enterOuterAlt(localctx, 1) + self.state = 806 + self.match(CParser.IDENTIFIER) + self.state = 807 + self.match(CParser.T__22) + self.state = 808 + self.statement() + pass + elif token in [CParser.T__81]: + self.enterOuterAlt(localctx, 2) + self.state = 809 + self.match(CParser.T__81) + self.state = 810 + self.constant_expression() + self.state = 811 + self.match(CParser.T__22) + self.state = 812 + self.statement() + pass + elif token in [CParser.T__82]: + self.enterOuterAlt(localctx, 3) + self.state = 814 + self.match(CParser.T__82) + self.state = 815 + self.match(CParser.T__22) + self.state = 816 + self.statement() + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Compound_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def declaration(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.DeclarationContext) + else: + return self.getTypedRuleContext(CParser.DeclarationContext,i) + + + def statement_list(self): + return self.getTypedRuleContext(CParser.Statement_listContext,0) + + + def getRuleIndex(self): + return CParser.RULE_compound_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterCompound_statement" ): + listener.enterCompound_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitCompound_statement" ): + listener.exitCompound_statement(self) + + + + + def compound_statement(self): + + localctx = CParser.Compound_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 130, self.RULE_compound_statement) + self._la = 0 # Token type + try: + self.enterOuterAlt(localctx, 1) + self.state = 819 + self.match(CParser.T__0) + self.state = 823 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,101,self._ctx) + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt==1: + self.state = 820 + self.declaration() + self.state = 825 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,101,self._ctx) + + self.state = 827 + self._errHandler.sync(self) + _la = self._input.LA(1) + if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__41) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54))) != 0) or ((((_la - 79)) & ~0x3f) == 0 and ((1 << (_la - 79)) & ((1 << (CParser.T__78 - 79)) | (1 << (CParser.T__79 - 79)) | (1 << (CParser.T__80 - 79)) | (1 << (CParser.T__81 - 79)) | (1 << (CParser.T__82 - 79)) | (1 << (CParser.T__83 - 79)) | (1 << (CParser.T__85 - 79)) | (1 << (CParser.T__86 - 79)) | (1 << (CParser.T__87 - 79)) | (1 << (CParser.T__88 - 79)) | (1 << (CParser.T__89 - 79)) | (1 << (CParser.T__90 - 79)) | (1 << (CParser.T__91 - 79)) | (1 << (CParser.IDENTIFIER - 79)) | (1 << (CParser.CHARACTER_LITERAL - 79)) | (1 << (CParser.STRING_LITERAL - 79)) | (1 << (CParser.HEX_LITERAL - 79)) | (1 << (CParser.DECIMAL_LITERAL - 79)) | (1 << (CParser.OCTAL_LITERAL - 79)) | (1 << (CParser.FLOATING_POINT_LITERAL - 79)))) != 0): + self.state = 826 + self.statement_list() + + + self.state = 829 + self.match(CParser.T__19) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Statement_listContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + # @param i=None Type: int + def statement(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.StatementContext) + else: + return self.getTypedRuleContext(CParser.StatementContext,i) + + + def getRuleIndex(self): + return CParser.RULE_statement_list + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterStatement_list" ): + listener.enterStatement_list(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitStatement_list" ): + listener.exitStatement_list(self) + + + + + def statement_list(self): + + localctx = CParser.Statement_listContext(self, self._ctx, self.state) + self.enterRule(localctx, 132, self.RULE_statement_list) + try: + self.enterOuterAlt(localctx, 1) + self.state = 832 + self._errHandler.sync(self) + _alt = 1 + while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: + if _alt == 1: + self.state = 831 + self.statement() + + else: + raise NoViableAltException(self) + self.state = 834 + self._errHandler.sync(self) + _alt = self._interp.adaptivePredict(self._input,103,self._ctx) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Expression_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_expression_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterExpression_statement" ): + listener.enterExpression_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitExpression_statement" ): + listener.exitExpression_statement(self) + + + + + def expression_statement(self): + + localctx = CParser.Expression_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 134, self.RULE_expression_statement) + try: + self.state = 840 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__1]: + self.enterOuterAlt(localctx, 1) + self.state = 836 + self.match(CParser.T__1) + pass + elif token in [CParser.T__37, CParser.T__41, CParser.T__43, CParser.T__44, CParser.T__47, CParser.T__48, CParser.T__49, CParser.T__52, CParser.T__53, CParser.T__54, CParser.IDENTIFIER, CParser.CHARACTER_LITERAL, CParser.STRING_LITERAL, CParser.HEX_LITERAL, CParser.DECIMAL_LITERAL, CParser.OCTAL_LITERAL, CParser.FLOATING_POINT_LITERAL]: + self.enterOuterAlt(localctx, 2) + self.state = 837 + self.expression() + self.state = 838 + self.match(CParser.T__1) + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Selection_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.e = None # ExpressionContext + + # @param i=None Type: int + def statement(self,i=None): + if i is None: + return self.getTypedRuleContexts(CParser.StatementContext) + else: + return self.getTypedRuleContext(CParser.StatementContext,i) + + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_selection_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterSelection_statement" ): + listener.enterSelection_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitSelection_statement" ): + listener.exitSelection_statement(self) + + + + + def selection_statement(self): + + localctx = CParser.Selection_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 136, self.RULE_selection_statement) + try: + self.state = 858 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__83]: + self.enterOuterAlt(localctx, 1) + self.state = 842 + self.match(CParser.T__83) + self.state = 843 + self.match(CParser.T__37) + self.state = 844 + localctx.e = self.expression() + self.state = 845 + self.match(CParser.T__38) + self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop)))) + self.state = 847 + self.statement() + self.state = 850 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,105,self._ctx) + if la_ == 1: + self.state = 848 + self.match(CParser.T__84) + self.state = 849 + self.statement() + + + pass + elif token in [CParser.T__85]: + self.enterOuterAlt(localctx, 2) + self.state = 852 + self.match(CParser.T__85) + self.state = 853 + self.match(CParser.T__37) + self.state = 854 + self.expression() + self.state = 855 + self.match(CParser.T__38) + self.state = 856 + self.statement() + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Iteration_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + self.e = None # ExpressionContext + + def statement(self): + return self.getTypedRuleContext(CParser.StatementContext,0) + + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_iteration_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterIteration_statement" ): + listener.enterIteration_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitIteration_statement" ): + listener.exitIteration_statement(self) + + + + + def iteration_statement(self): + + localctx = CParser.Iteration_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 138, self.RULE_iteration_statement) + try: + self.state = 876 + self._errHandler.sync(self) + token = self._input.LA(1) + if token in [CParser.T__86]: + self.enterOuterAlt(localctx, 1) + self.state = 860 + self.match(CParser.T__86) + self.state = 861 + self.match(CParser.T__37) + self.state = 862 + localctx.e = self.expression() + self.state = 863 + self.match(CParser.T__38) + self.state = 864 + self.statement() + self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop)))) + pass + elif token in [CParser.T__87]: + self.enterOuterAlt(localctx, 2) + self.state = 867 + self.match(CParser.T__87) + self.state = 868 + self.statement() + self.state = 869 + self.match(CParser.T__86) + self.state = 870 + self.match(CParser.T__37) + self.state = 871 + localctx.e = self.expression() + self.state = 872 + self.match(CParser.T__38) + self.state = 873 + self.match(CParser.T__1) + self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop)))) + pass + else: + raise NoViableAltException(self) + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + class Jump_statementContext(ParserRuleContext): + + # @param parent=None Type: ParserRuleContext + # @param invokingState=-1 Type: int + def __init__(self,parser,parent=None,invokingState=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def IDENTIFIER(self): + return self.getToken(CParser.IDENTIFIER, 0) + + def expression(self): + return self.getTypedRuleContext(CParser.ExpressionContext,0) + + + def getRuleIndex(self): + return CParser.RULE_jump_statement + + # @param listener Type: ParseTreeListener + def enterRule(self,listener): + if hasattr( listener, "enterJump_statement" ): + listener.enterJump_statement(self) + + # @param listener Type: ParseTreeListener + def exitRule(self,listener): + if hasattr( listener, "exitJump_statement" ): + listener.exitJump_statement(self) + + + + + def jump_statement(self): + + localctx = CParser.Jump_statementContext(self, self._ctx, self.state) + self.enterRule(localctx, 140, self.RULE_jump_statement) + try: + self.state = 891 + self._errHandler.sync(self) + la_ = self._interp.adaptivePredict(self._input,108,self._ctx) + if la_ == 1: + self.enterOuterAlt(localctx, 1) + self.state = 878 + self.match(CParser.T__88) + self.state = 879 + self.match(CParser.IDENTIFIER) + self.state = 880 + self.match(CParser.T__1) + pass + + elif la_ == 2: + self.enterOuterAlt(localctx, 2) + self.state = 881 + self.match(CParser.T__89) + self.state = 882 + self.match(CParser.T__1) + pass + + elif la_ == 3: + self.enterOuterAlt(localctx, 3) + self.state = 883 + self.match(CParser.T__90) + self.state = 884 + self.match(CParser.T__1) + pass + + elif la_ == 4: + self.enterOuterAlt(localctx, 4) + self.state = 885 + self.match(CParser.T__91) + self.state = 886 + self.match(CParser.T__1) + pass + + elif la_ == 5: + self.enterOuterAlt(localctx, 5) + self.state = 887 + self.match(CParser.T__91) + self.state = 888 + self.expression() + self.state = 889 + self.match(CParser.T__1) + pass + + + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + + + + diff --git a/BaseTools/Source/Python/Eot/CParser4/__init__.py b/BaseTools/Source/Python/Eot/CParser4/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py index 8a5e5df17e..b1e77a690a 100644 --- a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py +++ b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py @@ -21,13 +21,19 @@ import re import Common.LongFilePathOs as os import sys -import antlr3 -from .CLexer import CLexer -from .CParser import CParser +if sys.version_info.major == 3: + import antlr4 as antlr + from Eot.CParser4.CLexer import CLexer + from Eot.CParser4.CParser import CParser +else: + import antlr3 as antlr + antlr.InputStream = antlr.StringStream + from Eot.CParser3.CLexer import CLexer + from Eot.CParser3.CParser import CParser -from . import FileProfile -from .CodeFragment import PP_Directive -from .ParserWarning import Warning +from Eot import FileProfile +from Eot.CodeFragment import PP_Directive +from Eot.ParserWarning import Warning ##define T_CHAR_SPACE ' ' @@ -354,9 +360,9 @@ class CodeFragmentCollector: FileStringContents = '' for fileLine in self.Profile.FileLinesList: FileStringContents += fileLine - cStream = antlr3.StringStream(FileStringContents) + cStream = antlr.InputStream(FileStringContents) lexer = CLexer(cStream) - tStream = antlr3.CommonTokenStream(lexer) + tStream = antlr.CommonTokenStream(lexer) parser = CParser(tStream) parser.translation_unit()