summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/Eot
diff options
context:
space:
mode:
Diffstat (limited to 'BaseTools/Source/Python/Eot')
-rw-r--r--BaseTools/Source/Python/Eot/CLexer.py4947
-rw-r--r--BaseTools/Source/Python/Eot/CParser.py18844
-rw-r--r--BaseTools/Source/Python/Eot/CodeFragment.py185
-rw-r--r--BaseTools/Source/Python/Eot/CodeFragmentCollector.py467
-rw-r--r--BaseTools/Source/Python/Eot/Database.py255
-rw-r--r--BaseTools/Source/Python/Eot/EfiCompressor.pydbin8192 -> 0 bytes
-rw-r--r--BaseTools/Source/Python/Eot/Eot.py647
-rw-r--r--BaseTools/Source/Python/Eot/EotGlobalData.py138
-rw-r--r--BaseTools/Source/Python/Eot/EotToolError.py21
-rw-r--r--BaseTools/Source/Python/Eot/FileProfile.py58
-rw-r--r--BaseTools/Source/Python/Eot/FvImage.py1453
-rw-r--r--BaseTools/Source/Python/Eot/InfParserLite.py171
-rw-r--r--BaseTools/Source/Python/Eot/LzmaCompressor.pydbin53248 -> 0 bytes
-rw-r--r--BaseTools/Source/Python/Eot/Parser.py847
-rw-r--r--BaseTools/Source/Python/Eot/ParserWarning.py26
-rw-r--r--BaseTools/Source/Python/Eot/Report.py472
-rw-r--r--BaseTools/Source/Python/Eot/__init__.py15
-rw-r--r--BaseTools/Source/Python/Eot/c.py397
18 files changed, 0 insertions, 28943 deletions
diff --git a/BaseTools/Source/Python/Eot/CLexer.py b/BaseTools/Source/Python/Eot/CLexer.py
deleted file mode 100644
index a72d4ee3c2..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 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials are licensed and made available
-# under the terms and conditions of the BSD License which accompanies this
-# distribution. The full text of the license may be found at:
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-
-
-# 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 511d429f26..0000000000
--- a/BaseTools/Source/Python/Eot/CParser.py
+++ /dev/null
@@ -1,18844 +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 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.<BR>
-#
-# This program and the accompanying materials are licensed and made available
-# under the terms and conditions of the BSD License which accompanies this
-# distribution. The full text of the license may be found at:
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-import CodeFragment
-import FileProfile
-
-
-
-# for convenience in actions
-HIDDEN = BaseRecognizer.HIDDEN
-
-# token types
-BS=20
-LINE_COMMENT=23
-FloatTypeSuffix=16
-IntegerTypeSuffix=14
-LETTER=11
-OCTAL_LITERAL=6
-CHARACTER_LITERAL=8
-Exponent=15
-EOF=-1
-HexDigit=13
-STRING_LITERAL=9
-WS=19
-FLOATING_POINT_LITERAL=10
-IDENTIFIER=4
-UnicodeEscape=18
-LINE_COMMAND=24
-UnicodeVocabulary=21
-HEX_LITERAL=5
-COMMENT=22
-DECIMAL_LITERAL=7
-EscapeSequence=12
-OctalEscape=17
-
-# token names
-tokenNames = [
- "<invalid>", "<EOR>", "<DOWN>", "<UP>",
- "IDENTIFIER", "HEX_LITERAL", "OCTAL_LITERAL", "DECIMAL_LITERAL", "CHARACTER_LITERAL",
- "STRING_LITERAL", "FLOATING_POINT_LITERAL", "LETTER", "EscapeSequence",
- "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "OctalEscape",
- "UnicodeEscape", "WS", "BS", "UnicodeVocabulary", "COMMENT", "LINE_COMMENT",
- "LINE_COMMAND", "';'", "'typedef'", "','", "'='", "'extern'", "'static'",
- "'auto'", "'register'", "'STATIC'", "'void'", "'char'", "'short'", "'int'",
- "'long'", "'float'", "'double'", "'signed'", "'unsigned'", "'{'", "'}'",
- "'struct'", "'union'", "':'", "'enum'", "'const'", "'volatile'", "'IN'",
- "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'",
- "'EFIAPI'", "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'",
- "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", "'-'", "'/'", "'%'",
- "'++'", "'--'", "'sizeof'", "'.'", "'->'", "'&'", "'~'", "'!'", "'*='",
- "'/='", "'%='", "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='",
- "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'<'", "'>'", "'<='",
- "'>='", "'<<'", "'>>'", "'__asm__'", "'_asm'", "'__asm'", "'case'",
- "'default'", "'if'", "'else'", "'switch'", "'while'", "'do'", "'for'",
- "'goto'", "'continue'", "'break'", "'return'"
-]
-
-
-class function_definition_scope(object):
- def __init__(self):
- self.ModifierText = None
- self.DeclText = None
- self.LBLine = None
- self.LBOffset = None
- self.DeclLine = None
- self.DeclOffset = None
-class postfix_expression_scope(object):
- def __init__(self):
- self.FuncCallText = None
-
-
-class CParser(Parser):
- grammarFileName = "C.g"
- tokenNames = tokenNames
-
- def __init__(self, input):
- Parser.__init__(self, input)
- self.ruleMemo = {}
-
- self.function_definition_stack = []
- self.postfix_expression_stack = []
-
-
-
-
-
-
-
-
- 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, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 1, translation_unit_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end translation_unit
-
-
- # $ANTLR start external_declaration
- # C.g:114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );
- def external_declaration(self, ):
-
- external_declaration_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 2):
- return
-
- # C.g:119:2: ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? )
- alt3 = 3
- LA3_0 = self.input.LA(1)
-
- if ((29 <= LA3_0 <= 33)) :
- LA3_1 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 1, self.input)
-
- raise nvae
-
- elif (LA3_0 == 34) :
- LA3_2 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 2, self.input)
-
- raise nvae
-
- elif (LA3_0 == 35) :
- LA3_3 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 3, self.input)
-
- raise nvae
-
- elif (LA3_0 == 36) :
- LA3_4 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 4, self.input)
-
- raise nvae
-
- elif (LA3_0 == 37) :
- LA3_5 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 5, self.input)
-
- raise nvae
-
- elif (LA3_0 == 38) :
- LA3_6 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 6, self.input)
-
- raise nvae
-
- elif (LA3_0 == 39) :
- LA3_7 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 7, self.input)
-
- raise nvae
-
- elif (LA3_0 == 40) :
- LA3_8 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 8, self.input)
-
- raise nvae
-
- elif (LA3_0 == 41) :
- LA3_9 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 9, self.input)
-
- raise nvae
-
- elif (LA3_0 == 42) :
- LA3_10 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 10, self.input)
-
- raise nvae
-
- elif ((45 <= LA3_0 <= 46)) :
- LA3_11 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 11, self.input)
-
- raise nvae
-
- elif (LA3_0 == 48) :
- LA3_12 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 12, self.input)
-
- raise nvae
-
- elif (LA3_0 == IDENTIFIER) :
- LA3_13 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- elif (True) :
- alt3 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 13, self.input)
-
- raise nvae
-
- elif (LA3_0 == 58) :
- LA3_14 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 14, self.input)
-
- raise nvae
-
- elif (LA3_0 == 66) and (self.synpred4()):
- alt3 = 1
- elif (LA3_0 == 59) :
- LA3_16 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 16, self.input)
-
- raise nvae
-
- elif (LA3_0 == 60) :
- LA3_17 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 17, self.input)
-
- raise nvae
-
- elif ((49 <= LA3_0 <= 57) or LA3_0 == 61) :
- LA3_18 = self.input.LA(2)
-
- if (self.synpred4()) :
- alt3 = 1
- elif (self.synpred5()) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 18, self.input)
-
- raise nvae
-
- elif (LA3_0 == 62) and (self.synpred4()):
- alt3 = 1
- elif (LA3_0 == 26) :
- alt3 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("114:1: external_declaration options {k=1; } : ( ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition | declaration | macro_statement ( ';' )? );", 3, 0, self.input)
-
- raise nvae
-
- if alt3 == 1:
- # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )=> function_definition
- self.following.append(self.FOLLOW_function_definition_in_external_declaration113)
- self.function_definition()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt3 == 2:
- # C.g:120:4: declaration
- self.following.append(self.FOLLOW_declaration_in_external_declaration118)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt3 == 3:
- # C.g:121:4: macro_statement ( ';' )?
- self.following.append(self.FOLLOW_macro_statement_in_external_declaration123)
- self.macro_statement()
- self.following.pop()
- if self.failed:
- return
- # C.g:121:20: ( ';' )?
- alt2 = 2
- LA2_0 = self.input.LA(1)
-
- if (LA2_0 == 25) :
- alt2 = 1
- if alt2 == 1:
- # C.g:121:21: ';'
- self.match(self.input, 25, self.FOLLOW_25_in_external_declaration126)
- if self.failed:
- return
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 2, external_declaration_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end external_declaration
-
- class function_definition_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start function_definition
- # C.g:126:1: function_definition : (d= declaration_specifiers )? declarator ( ( declaration )+ a= compound_statement | b= compound_statement ) ;
- def function_definition(self, ):
- self.function_definition_stack.append(function_definition_scope())
- retval = self.function_definition_return()
- retval.start = self.input.LT(1)
- function_definition_StartIndex = self.input.index()
- d = None
-
- a = None
-
- b = None
-
- declarator1 = None
-
-
-
- self.function_definition_stack[-1].ModifierText = ''
- self.function_definition_stack[-1].DeclText = ''
- 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 != 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 != 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, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 3, function_definition_StartIndex)
-
- self.function_definition_stack.pop()
- pass
-
- return retval
-
- # $ANTLR end function_definition
-
-
- # $ANTLR start declaration
- # C.g:166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );
- def declaration(self, ):
-
- declaration_StartIndex = self.input.index()
- a = None
- d = None
- e = None
- b = None
-
- c = None
-
- s = None
-
- t = None
-
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 4):
- return
-
- # C.g:167:2: (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' )
- alt9 = 2
- LA9_0 = self.input.LA(1)
-
- if (LA9_0 == 26) :
- alt9 = 1
- elif (LA9_0 == IDENTIFIER or (29 <= LA9_0 <= 42) or (45 <= LA9_0 <= 46) or (48 <= LA9_0 <= 61)) :
- alt9 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("166:1: declaration : (a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';' | s= declaration_specifiers (t= init_declarator_list )? e= ';' );", 9, 0, self.input)
-
- raise nvae
-
- if alt9 == 1:
- # C.g:167:4: a= 'typedef' (b= declaration_specifiers )? c= init_declarator_list d= ';'
- a = self.input.LT(1)
- self.match(self.input, 26, self.FOLLOW_26_in_declaration203)
- if self.failed:
- return
- # C.g:167:17: (b= declaration_specifiers )?
- alt7 = 2
- LA7 = self.input.LA(1)
- if LA7 == 29 or LA7 == 30 or LA7 == 31 or LA7 == 32 or LA7 == 33 or LA7 == 34 or LA7 == 35 or LA7 == 36 or LA7 == 37 or LA7 == 38 or LA7 == 39 or LA7 == 40 or LA7 == 41 or LA7 == 42 or LA7 == 45 or LA7 == 46 or LA7 == 48 or LA7 == 49 or LA7 == 50 or LA7 == 51 or LA7 == 52 or LA7 == 53 or LA7 == 54 or LA7 == 55 or LA7 == 56 or LA7 == 57 or LA7 == 61:
- alt7 = 1
- elif LA7 == IDENTIFIER:
- LA7_13 = self.input.LA(2)
-
- if (LA7_13 == 62) :
- LA7_21 = self.input.LA(3)
-
- if (self.synpred10()) :
- alt7 = 1
- elif (LA7_13 == IDENTIFIER or (29 <= LA7_13 <= 42) or (45 <= LA7_13 <= 46) or (48 <= LA7_13 <= 61) or LA7_13 == 66) :
- alt7 = 1
- elif LA7 == 58:
- LA7_14 = self.input.LA(2)
-
- if (self.synpred10()) :
- alt7 = 1
- elif LA7 == 59:
- LA7_16 = self.input.LA(2)
-
- if (self.synpred10()) :
- alt7 = 1
- elif LA7 == 60:
- LA7_17 = self.input.LA(2)
-
- if (self.synpred10()) :
- alt7 = 1
- if alt7 == 1:
- # C.g:0:0: b= declaration_specifiers
- self.following.append(self.FOLLOW_declaration_specifiers_in_declaration207)
- b = self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_init_declarator_list_in_declaration216)
- c = self.init_declarator_list()
- self.following.pop()
- if self.failed:
- return
- d = self.input.LT(1)
- self.match(self.input, 25, self.FOLLOW_25_in_declaration220)
- if self.failed:
- return
- if self.backtracking == 0:
-
- if b != None:
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))
- else:
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))
-
-
-
-
- elif alt9 == 2:
- # C.g:175:4: s= declaration_specifiers (t= init_declarator_list )? e= ';'
- self.following.append(self.FOLLOW_declaration_specifiers_in_declaration234)
- s = self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
- # C.g:175:30: (t= init_declarator_list )?
- alt8 = 2
- LA8_0 = self.input.LA(1)
-
- if (LA8_0 == IDENTIFIER or (58 <= LA8_0 <= 60) or LA8_0 == 62 or LA8_0 == 66) :
- alt8 = 1
- if alt8 == 1:
- # C.g:0:0: t= init_declarator_list
- self.following.append(self.FOLLOW_init_declarator_list_in_declaration238)
- t = self.init_declarator_list()
- self.following.pop()
- if self.failed:
- return
-
-
-
- e = self.input.LT(1)
- self.match(self.input, 25, self.FOLLOW_25_in_declaration243)
- if self.failed:
- return
- if self.backtracking == 0:
-
- if t != None:
- self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 4, declaration_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end declaration
-
- class declaration_specifiers_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start declaration_specifiers
- # C.g:182:1: declaration_specifiers : ( storage_class_specifier | type_specifier | type_qualifier )+ ;
- def declaration_specifiers(self, ):
-
- retval = self.declaration_specifiers_return()
- retval.start = self.input.LT(1)
- declaration_specifiers_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 5):
- return retval
-
- # C.g:183:2: ( ( storage_class_specifier | type_specifier | type_qualifier )+ )
- # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
- # C.g:183:6: ( storage_class_specifier | type_specifier | type_qualifier )+
- cnt10 = 0
- while True: #loop10
- alt10 = 4
- LA10 = self.input.LA(1)
- if LA10 == 58:
- LA10_2 = self.input.LA(2)
-
- if (self.synpred15()) :
- alt10 = 3
-
-
- elif LA10 == 59:
- LA10_3 = self.input.LA(2)
-
- if (self.synpred15()) :
- alt10 = 3
-
-
- elif LA10 == 60:
- LA10_4 = self.input.LA(2)
-
- if (self.synpred15()) :
- alt10 = 3
-
-
- elif LA10 == IDENTIFIER:
- LA10_5 = self.input.LA(2)
-
- if (self.synpred14()) :
- alt10 = 2
-
-
- elif LA10 == 53:
- LA10_9 = self.input.LA(2)
-
- if (self.synpred15()) :
- alt10 = 3
-
-
- elif LA10 == 29 or LA10 == 30 or LA10 == 31 or LA10 == 32 or LA10 == 33:
- alt10 = 1
- elif LA10 == 34 or LA10 == 35 or LA10 == 36 or LA10 == 37 or LA10 == 38 or LA10 == 39 or LA10 == 40 or LA10 == 41 or LA10 == 42 or LA10 == 45 or LA10 == 46 or LA10 == 48:
- alt10 = 2
- elif LA10 == 49 or LA10 == 50 or LA10 == 51 or LA10 == 52 or LA10 == 54 or LA10 == 55 or LA10 == 56 or LA10 == 57 or LA10 == 61:
- alt10 = 3
-
- if alt10 == 1:
- # C.g:183:10: storage_class_specifier
- self.following.append(self.FOLLOW_storage_class_specifier_in_declaration_specifiers264)
- self.storage_class_specifier()
- self.following.pop()
- if self.failed:
- return retval
-
-
- elif alt10 == 2:
- # C.g:184:7: type_specifier
- self.following.append(self.FOLLOW_type_specifier_in_declaration_specifiers272)
- self.type_specifier()
- self.following.pop()
- if self.failed:
- return retval
-
-
- elif alt10 == 3:
- # C.g:185:13: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_declaration_specifiers286)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return retval
-
-
- else:
- if cnt10 >= 1:
- break #loop10
-
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- eee = EarlyExitException(10, self.input)
- raise eee
-
- cnt10 += 1
-
-
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 5, declaration_specifiers_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end declaration_specifiers
-
- class init_declarator_list_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start init_declarator_list
- # C.g:189:1: init_declarator_list : init_declarator ( ',' init_declarator )* ;
- def init_declarator_list(self, ):
-
- retval = self.init_declarator_list_return()
- retval.start = self.input.LT(1)
- init_declarator_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 6):
- return retval
-
- # C.g:190:2: ( init_declarator ( ',' init_declarator )* )
- # C.g:190:4: init_declarator ( ',' init_declarator )*
- self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list308)
- self.init_declarator()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:190:20: ( ',' init_declarator )*
- while True: #loop11
- alt11 = 2
- LA11_0 = self.input.LA(1)
-
- if (LA11_0 == 27) :
- alt11 = 1
-
-
- if alt11 == 1:
- # C.g:190:21: ',' init_declarator
- self.match(self.input, 27, self.FOLLOW_27_in_init_declarator_list311)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_init_declarator_in_init_declarator_list313)
- self.init_declarator()
- self.following.pop()
- if self.failed:
- return retval
-
-
- else:
- break #loop11
-
-
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 6, init_declarator_list_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end init_declarator_list
-
-
- # $ANTLR start init_declarator
- # C.g:193:1: init_declarator : declarator ( '=' initializer )? ;
- def init_declarator(self, ):
-
- init_declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 7):
- return
-
- # C.g:194:2: ( declarator ( '=' initializer )? )
- # C.g:194:4: declarator ( '=' initializer )?
- self.following.append(self.FOLLOW_declarator_in_init_declarator326)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
- # C.g:194:15: ( '=' initializer )?
- alt12 = 2
- LA12_0 = self.input.LA(1)
-
- if (LA12_0 == 28) :
- alt12 = 1
- if alt12 == 1:
- # C.g:194:16: '=' initializer
- self.match(self.input, 28, self.FOLLOW_28_in_init_declarator329)
- if self.failed:
- return
- self.following.append(self.FOLLOW_initializer_in_init_declarator331)
- self.initializer()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 7, init_declarator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end init_declarator
-
-
- # $ANTLR start storage_class_specifier
- # C.g:197:1: storage_class_specifier : ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' );
- def storage_class_specifier(self, ):
-
- storage_class_specifier_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 8):
- return
-
- # C.g:198:2: ( 'extern' | 'static' | 'auto' | 'register' | 'STATIC' )
- # C.g:
- if (29 <= self.input.LA(1) <= 33):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_storage_class_specifier0
- )
- raise mse
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 8, storage_class_specifier_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end storage_class_specifier
-
-
- # $ANTLR start type_specifier
- # C.g:205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );
- def type_specifier(self, ):
-
- type_specifier_StartIndex = self.input.index()
- s = None
-
- e = None
-
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 9):
- return
-
- # C.g:206:2: ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id )
- alt13 = 12
- LA13_0 = self.input.LA(1)
-
- if (LA13_0 == 34) :
- alt13 = 1
- elif (LA13_0 == 35) :
- alt13 = 2
- elif (LA13_0 == 36) :
- alt13 = 3
- elif (LA13_0 == 37) :
- alt13 = 4
- elif (LA13_0 == 38) :
- alt13 = 5
- elif (LA13_0 == 39) :
- alt13 = 6
- elif (LA13_0 == 40) :
- alt13 = 7
- elif (LA13_0 == 41) :
- alt13 = 8
- elif (LA13_0 == 42) :
- alt13 = 9
- elif ((45 <= LA13_0 <= 46)) :
- alt13 = 10
- elif (LA13_0 == 48) :
- alt13 = 11
- elif (LA13_0 == IDENTIFIER) and (self.synpred34()):
- alt13 = 12
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("205:1: type_specifier : ( 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | s= struct_or_union_specifier | e= enum_specifier | ( IDENTIFIER ( type_qualifier )* declarator )=> type_id );", 13, 0, self.input)
-
- raise nvae
-
- if alt13 == 1:
- # C.g:206:4: 'void'
- self.match(self.input, 34, self.FOLLOW_34_in_type_specifier376)
- if self.failed:
- return
-
-
- elif alt13 == 2:
- # C.g:207:4: 'char'
- self.match(self.input, 35, self.FOLLOW_35_in_type_specifier381)
- if self.failed:
- return
-
-
- elif alt13 == 3:
- # C.g:208:4: 'short'
- self.match(self.input, 36, self.FOLLOW_36_in_type_specifier386)
- if self.failed:
- return
-
-
- elif alt13 == 4:
- # C.g:209:4: 'int'
- self.match(self.input, 37, self.FOLLOW_37_in_type_specifier391)
- if self.failed:
- return
-
-
- elif alt13 == 5:
- # C.g:210:4: 'long'
- self.match(self.input, 38, self.FOLLOW_38_in_type_specifier396)
- if self.failed:
- return
-
-
- elif alt13 == 6:
- # C.g:211:4: 'float'
- self.match(self.input, 39, self.FOLLOW_39_in_type_specifier401)
- if self.failed:
- return
-
-
- elif alt13 == 7:
- # C.g:212:4: 'double'
- self.match(self.input, 40, self.FOLLOW_40_in_type_specifier406)
- if self.failed:
- return
-
-
- elif alt13 == 8:
- # C.g:213:4: 'signed'
- self.match(self.input, 41, self.FOLLOW_41_in_type_specifier411)
- if self.failed:
- return
-
-
- elif alt13 == 9:
- # C.g:214:4: 'unsigned'
- self.match(self.input, 42, self.FOLLOW_42_in_type_specifier416)
- if self.failed:
- return
-
-
- elif alt13 == 10:
- # C.g:215:4: s= struct_or_union_specifier
- self.following.append(self.FOLLOW_struct_or_union_specifier_in_type_specifier423)
- s = self.struct_or_union_specifier()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
-
- if s.stop != None:
- self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))
-
-
-
-
- elif alt13 == 11:
- # C.g:220:4: e= enum_specifier
- self.following.append(self.FOLLOW_enum_specifier_in_type_specifier433)
- e = self.enum_specifier()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
-
- if e.stop != None:
- self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
-
-
-
- elif alt13 == 12:
- # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )=> type_id
- self.following.append(self.FOLLOW_type_id_in_type_specifier451)
- self.type_id()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 9, type_specifier_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end type_specifier
-
-
- # $ANTLR start type_id
- # C.g:228:1: type_id : IDENTIFIER ;
- def type_id(self, ):
-
- type_id_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 10):
- return
-
- # C.g:229:5: ( IDENTIFIER )
- # C.g:229:9: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_type_id467)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 10, type_id_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end type_id
-
- class struct_or_union_specifier_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start struct_or_union_specifier
- # C.g:233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );
- def struct_or_union_specifier(self, ):
-
- retval = self.struct_or_union_specifier_return()
- retval.start = self.input.LT(1)
- struct_or_union_specifier_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 11):
- return retval
-
- # C.g:235:2: ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER )
- alt15 = 2
- LA15_0 = self.input.LA(1)
-
- if ((45 <= LA15_0 <= 46)) :
- LA15_1 = self.input.LA(2)
-
- if (LA15_1 == IDENTIFIER) :
- LA15_2 = self.input.LA(3)
-
- if (LA15_2 == 43) :
- alt15 = 1
- elif (LA15_2 == EOF or LA15_2 == IDENTIFIER or LA15_2 == 25 or LA15_2 == 27 or (29 <= LA15_2 <= 42) or (45 <= LA15_2 <= 64) or LA15_2 == 66) :
- alt15 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 2, self.input)
-
- raise nvae
-
- elif (LA15_1 == 43) :
- alt15 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 1, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("233:1: struct_or_union_specifier options {k=3; } : ( struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}' | struct_or_union IDENTIFIER );", 15, 0, self.input)
-
- raise nvae
-
- if alt15 == 1:
- # C.g:235:4: struct_or_union ( IDENTIFIER )? '{' struct_declaration_list '}'
- self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier494)
- self.struct_or_union()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:235:20: ( IDENTIFIER )?
- alt14 = 2
- LA14_0 = self.input.LA(1)
-
- if (LA14_0 == IDENTIFIER) :
- alt14 = 1
- if alt14 == 1:
- # C.g:0:0: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier496)
- if self.failed:
- return retval
-
-
-
- self.match(self.input, 43, self.FOLLOW_43_in_struct_or_union_specifier499)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_struct_declaration_list_in_struct_or_union_specifier501)
- self.struct_declaration_list()
- self.following.pop()
- if self.failed:
- return retval
- self.match(self.input, 44, self.FOLLOW_44_in_struct_or_union_specifier503)
- if self.failed:
- return retval
-
-
- elif alt15 == 2:
- # C.g:236:4: struct_or_union IDENTIFIER
- self.following.append(self.FOLLOW_struct_or_union_in_struct_or_union_specifier508)
- self.struct_or_union()
- self.following.pop()
- if self.failed:
- return retval
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_struct_or_union_specifier510)
- if self.failed:
- return retval
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 11, struct_or_union_specifier_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end struct_or_union_specifier
-
-
- # $ANTLR start struct_or_union
- # C.g:239:1: struct_or_union : ( 'struct' | 'union' );
- def struct_or_union(self, ):
-
- struct_or_union_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 12):
- return
-
- # C.g:240:2: ( 'struct' | 'union' )
- # C.g:
- if (45 <= self.input.LA(1) <= 46):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_struct_or_union0
- )
- raise mse
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 12, struct_or_union_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end struct_or_union
-
-
- # $ANTLR start struct_declaration_list
- # C.g:244:1: struct_declaration_list : ( struct_declaration )+ ;
- def struct_declaration_list(self, ):
-
- struct_declaration_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 13):
- return
-
- # C.g:245:2: ( ( struct_declaration )+ )
- # C.g:245:4: ( struct_declaration )+
- # C.g:245:4: ( struct_declaration )+
- cnt16 = 0
- while True: #loop16
- alt16 = 2
- LA16_0 = self.input.LA(1)
-
- if (LA16_0 == IDENTIFIER or (34 <= LA16_0 <= 42) or (45 <= LA16_0 <= 46) or (48 <= LA16_0 <= 61)) :
- alt16 = 1
-
-
- if alt16 == 1:
- # C.g:0:0: struct_declaration
- self.following.append(self.FOLLOW_struct_declaration_in_struct_declaration_list537)
- self.struct_declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt16 >= 1:
- break #loop16
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(16, self.input)
- raise eee
-
- cnt16 += 1
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 13, struct_declaration_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end struct_declaration_list
-
-
- # $ANTLR start struct_declaration
- # C.g:248:1: struct_declaration : specifier_qualifier_list struct_declarator_list ';' ;
- def struct_declaration(self, ):
-
- struct_declaration_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 14):
- return
-
- # C.g:249:2: ( specifier_qualifier_list struct_declarator_list ';' )
- # C.g:249:4: specifier_qualifier_list struct_declarator_list ';'
- self.following.append(self.FOLLOW_specifier_qualifier_list_in_struct_declaration549)
- self.specifier_qualifier_list()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_struct_declarator_list_in_struct_declaration551)
- self.struct_declarator_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_struct_declaration553)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 14, struct_declaration_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end struct_declaration
-
-
- # $ANTLR start specifier_qualifier_list
- # C.g:252:1: specifier_qualifier_list : ( type_qualifier | type_specifier )+ ;
- def specifier_qualifier_list(self, ):
-
- specifier_qualifier_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 15):
- return
-
- # C.g:253:2: ( ( type_qualifier | type_specifier )+ )
- # C.g:253:4: ( type_qualifier | type_specifier )+
- # C.g:253:4: ( type_qualifier | type_specifier )+
- cnt17 = 0
- while True: #loop17
- alt17 = 3
- LA17 = self.input.LA(1)
- if LA17 == 58:
- LA17_2 = self.input.LA(2)
-
- if (self.synpred39()) :
- alt17 = 1
-
-
- elif LA17 == 59:
- LA17_3 = self.input.LA(2)
-
- if (self.synpred39()) :
- alt17 = 1
-
-
- elif LA17 == 60:
- LA17_4 = self.input.LA(2)
-
- if (self.synpred39()) :
- alt17 = 1
-
-
- elif LA17 == IDENTIFIER:
- LA17 = self.input.LA(2)
- if LA17 == EOF or LA17 == IDENTIFIER or LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48 or LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 58 or LA17 == 59 or LA17 == 60 or LA17 == 61 or LA17 == 63 or LA17 == 66:
- alt17 = 2
- elif LA17 == 62:
- LA17_94 = self.input.LA(3)
-
- if (self.synpred40()) :
- alt17 = 2
-
-
- elif LA17 == 47:
- LA17_95 = self.input.LA(3)
-
- if (self.synpred40()) :
- alt17 = 2
-
-
- elif LA17 == 64:
- LA17_96 = self.input.LA(3)
-
- if (self.synpred40()) :
- alt17 = 2
-
-
-
- elif LA17 == 49 or LA17 == 50 or LA17 == 51 or LA17 == 52 or LA17 == 53 or LA17 == 54 or LA17 == 55 or LA17 == 56 or LA17 == 57 or LA17 == 61:
- alt17 = 1
- elif LA17 == 34 or LA17 == 35 or LA17 == 36 or LA17 == 37 or LA17 == 38 or LA17 == 39 or LA17 == 40 or LA17 == 41 or LA17 == 42 or LA17 == 45 or LA17 == 46 or LA17 == 48:
- alt17 = 2
-
- if alt17 == 1:
- # C.g:253:6: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_specifier_qualifier_list566)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt17 == 2:
- # C.g:253:23: type_specifier
- self.following.append(self.FOLLOW_type_specifier_in_specifier_qualifier_list570)
- self.type_specifier()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt17 >= 1:
- break #loop17
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(17, self.input)
- raise eee
-
- cnt17 += 1
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 15, specifier_qualifier_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end specifier_qualifier_list
-
-
- # $ANTLR start struct_declarator_list
- # C.g:256:1: struct_declarator_list : struct_declarator ( ',' struct_declarator )* ;
- def struct_declarator_list(self, ):
-
- struct_declarator_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 16):
- return
-
- # C.g:257:2: ( struct_declarator ( ',' struct_declarator )* )
- # C.g:257:4: struct_declarator ( ',' struct_declarator )*
- self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list584)
- self.struct_declarator()
- self.following.pop()
- if self.failed:
- return
- # C.g:257:22: ( ',' struct_declarator )*
- while True: #loop18
- alt18 = 2
- LA18_0 = self.input.LA(1)
-
- if (LA18_0 == 27) :
- alt18 = 1
-
-
- if alt18 == 1:
- # C.g:257:23: ',' struct_declarator
- self.match(self.input, 27, self.FOLLOW_27_in_struct_declarator_list587)
- if self.failed:
- return
- self.following.append(self.FOLLOW_struct_declarator_in_struct_declarator_list589)
- self.struct_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop18
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 16, struct_declarator_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end struct_declarator_list
-
-
- # $ANTLR start struct_declarator
- # C.g:260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );
- def struct_declarator(self, ):
-
- struct_declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 17):
- return
-
- # C.g:261:2: ( declarator ( ':' constant_expression )? | ':' constant_expression )
- alt20 = 2
- LA20_0 = self.input.LA(1)
-
- if (LA20_0 == IDENTIFIER or (58 <= LA20_0 <= 60) or LA20_0 == 62 or LA20_0 == 66) :
- alt20 = 1
- elif (LA20_0 == 47) :
- alt20 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("260:1: struct_declarator : ( declarator ( ':' constant_expression )? | ':' constant_expression );", 20, 0, self.input)
-
- raise nvae
-
- if alt20 == 1:
- # C.g:261:4: declarator ( ':' constant_expression )?
- self.following.append(self.FOLLOW_declarator_in_struct_declarator602)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
- # C.g:261:15: ( ':' constant_expression )?
- alt19 = 2
- LA19_0 = self.input.LA(1)
-
- if (LA19_0 == 47) :
- alt19 = 1
- if alt19 == 1:
- # C.g:261:16: ':' constant_expression
- self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator605)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_struct_declarator607)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- elif alt20 == 2:
- # C.g:262:4: ':' constant_expression
- self.match(self.input, 47, self.FOLLOW_47_in_struct_declarator614)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_struct_declarator616)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 17, struct_declarator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end struct_declarator
-
- class enum_specifier_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start enum_specifier
- # C.g:265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );
- def enum_specifier(self, ):
-
- retval = self.enum_specifier_return()
- retval.start = self.input.LT(1)
- enum_specifier_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 18):
- return retval
-
- # C.g:267:2: ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER )
- alt23 = 3
- LA23_0 = self.input.LA(1)
-
- if (LA23_0 == 48) :
- LA23_1 = self.input.LA(2)
-
- if (LA23_1 == IDENTIFIER) :
- LA23_2 = self.input.LA(3)
-
- if (LA23_2 == 43) :
- alt23 = 2
- elif (LA23_2 == EOF or LA23_2 == IDENTIFIER or LA23_2 == 25 or LA23_2 == 27 or (29 <= LA23_2 <= 42) or (45 <= LA23_2 <= 64) or LA23_2 == 66) :
- alt23 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 2, self.input)
-
- raise nvae
-
- elif (LA23_1 == 43) :
- alt23 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 1, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("265:1: enum_specifier options {k=3; } : ( 'enum' '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}' | 'enum' IDENTIFIER );", 23, 0, self.input)
-
- raise nvae
-
- if alt23 == 1:
- # C.g:267:4: 'enum' '{' enumerator_list ( ',' )? '}'
- self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier634)
- if self.failed:
- return retval
- self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier636)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier638)
- self.enumerator_list()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:267:31: ( ',' )?
- alt21 = 2
- LA21_0 = self.input.LA(1)
-
- if (LA21_0 == 27) :
- alt21 = 1
- if alt21 == 1:
- # C.g:0:0: ','
- self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier640)
- if self.failed:
- return retval
-
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier643)
- if self.failed:
- return retval
-
-
- elif alt23 == 2:
- # C.g:268:4: 'enum' IDENTIFIER '{' enumerator_list ( ',' )? '}'
- self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier648)
- if self.failed:
- return retval
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier650)
- if self.failed:
- return retval
- self.match(self.input, 43, self.FOLLOW_43_in_enum_specifier652)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_enumerator_list_in_enum_specifier654)
- self.enumerator_list()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:268:42: ( ',' )?
- alt22 = 2
- LA22_0 = self.input.LA(1)
-
- if (LA22_0 == 27) :
- alt22 = 1
- if alt22 == 1:
- # C.g:0:0: ','
- self.match(self.input, 27, self.FOLLOW_27_in_enum_specifier656)
- if self.failed:
- return retval
-
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_enum_specifier659)
- if self.failed:
- return retval
-
-
- elif alt23 == 3:
- # C.g:269:4: 'enum' IDENTIFIER
- self.match(self.input, 48, self.FOLLOW_48_in_enum_specifier664)
- if self.failed:
- return retval
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enum_specifier666)
- if self.failed:
- return retval
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 18, enum_specifier_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end enum_specifier
-
-
- # $ANTLR start enumerator_list
- # C.g:272:1: enumerator_list : enumerator ( ',' enumerator )* ;
- def enumerator_list(self, ):
-
- enumerator_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 19):
- return
-
- # C.g:273:2: ( enumerator ( ',' enumerator )* )
- # C.g:273:4: enumerator ( ',' enumerator )*
- self.following.append(self.FOLLOW_enumerator_in_enumerator_list677)
- self.enumerator()
- self.following.pop()
- if self.failed:
- return
- # C.g:273:15: ( ',' enumerator )*
- while True: #loop24
- alt24 = 2
- LA24_0 = self.input.LA(1)
-
- if (LA24_0 == 27) :
- LA24_1 = self.input.LA(2)
-
- if (LA24_1 == IDENTIFIER) :
- alt24 = 1
-
-
-
-
- if alt24 == 1:
- # C.g:273:16: ',' enumerator
- self.match(self.input, 27, self.FOLLOW_27_in_enumerator_list680)
- if self.failed:
- return
- self.following.append(self.FOLLOW_enumerator_in_enumerator_list682)
- self.enumerator()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop24
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 19, enumerator_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end enumerator_list
-
-
- # $ANTLR start enumerator
- # C.g:276:1: enumerator : IDENTIFIER ( '=' constant_expression )? ;
- def enumerator(self, ):
-
- enumerator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 20):
- return
-
- # C.g:277:2: ( IDENTIFIER ( '=' constant_expression )? )
- # C.g:277:4: IDENTIFIER ( '=' constant_expression )?
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_enumerator695)
- if self.failed:
- return
- # C.g:277:15: ( '=' constant_expression )?
- alt25 = 2
- LA25_0 = self.input.LA(1)
-
- if (LA25_0 == 28) :
- alt25 = 1
- if alt25 == 1:
- # C.g:277:16: '=' constant_expression
- self.match(self.input, 28, self.FOLLOW_28_in_enumerator698)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_enumerator700)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 20, enumerator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end enumerator
-
-
- # $ANTLR start type_qualifier
- # C.g:280:1: type_qualifier : ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' );
- def type_qualifier(self, ):
-
- type_qualifier_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 21):
- return
-
- # C.g:281:2: ( 'const' | 'volatile' | 'IN' | 'OUT' | 'OPTIONAL' | 'CONST' | 'UNALIGNED' | 'VOLATILE' | 'GLOBAL_REMOVE_IF_UNREFERENCED' | 'EFIAPI' | 'EFI_BOOTSERVICE' | 'EFI_RUNTIMESERVICE' | 'PACKED' )
- # C.g:
- if (49 <= self.input.LA(1) <= 61):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_type_qualifier0
- )
- raise mse
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 21, type_qualifier_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end type_qualifier
-
- class declarator_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start declarator
- # C.g:296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );
- def declarator(self, ):
-
- retval = self.declarator_return()
- retval.start = self.input.LT(1)
- declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 22):
- return retval
-
- # C.g:297:2: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer )
- alt30 = 2
- LA30_0 = self.input.LA(1)
-
- if (LA30_0 == 66) :
- LA30_1 = self.input.LA(2)
-
- if (self.synpred66()) :
- alt30 = 1
- elif (True) :
- alt30 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 1, self.input)
-
- raise nvae
-
- elif (LA30_0 == IDENTIFIER or (58 <= LA30_0 <= 60) or LA30_0 == 62) :
- alt30 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("296:1: declarator : ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator | pointer );", 30, 0, self.input)
-
- raise nvae
-
- if alt30 == 1:
- # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
- # C.g:297:4: ( pointer )?
- alt26 = 2
- LA26_0 = self.input.LA(1)
-
- if (LA26_0 == 66) :
- alt26 = 1
- if alt26 == 1:
- # C.g:0:0: pointer
- self.following.append(self.FOLLOW_pointer_in_declarator784)
- self.pointer()
- self.following.pop()
- if self.failed:
- return retval
-
-
-
- # C.g:297:13: ( 'EFIAPI' )?
- alt27 = 2
- LA27_0 = self.input.LA(1)
-
- if (LA27_0 == 58) :
- alt27 = 1
- if alt27 == 1:
- # C.g:297:14: 'EFIAPI'
- self.match(self.input, 58, self.FOLLOW_58_in_declarator788)
- if self.failed:
- return retval
-
-
-
- # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
- alt28 = 2
- LA28_0 = self.input.LA(1)
-
- if (LA28_0 == 59) :
- alt28 = 1
- if alt28 == 1:
- # C.g:297:26: 'EFI_BOOTSERVICE'
- self.match(self.input, 59, self.FOLLOW_59_in_declarator793)
- if self.failed:
- return retval
-
-
-
- # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
- alt29 = 2
- LA29_0 = self.input.LA(1)
-
- if (LA29_0 == 60) :
- alt29 = 1
- if alt29 == 1:
- # C.g:297:47: 'EFI_RUNTIMESERVICE'
- self.match(self.input, 60, self.FOLLOW_60_in_declarator798)
- if self.failed:
- return retval
-
-
-
- self.following.append(self.FOLLOW_direct_declarator_in_declarator802)
- self.direct_declarator()
- self.following.pop()
- if self.failed:
- return retval
-
-
- elif alt30 == 2:
- # C.g:299:4: pointer
- self.following.append(self.FOLLOW_pointer_in_declarator808)
- self.pointer()
- self.following.pop()
- if self.failed:
- return retval
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 22, declarator_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end declarator
-
-
- # $ANTLR start direct_declarator
- # C.g:302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );
- def direct_declarator(self, ):
-
- direct_declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 23):
- return
-
- # C.g:303:2: ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ )
- alt34 = 2
- LA34_0 = self.input.LA(1)
-
- if (LA34_0 == IDENTIFIER) :
- alt34 = 1
- elif (LA34_0 == 62) :
- alt34 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("302:1: direct_declarator : ( IDENTIFIER ( declarator_suffix )* | '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+ );", 34, 0, self.input)
-
- raise nvae
-
- if alt34 == 1:
- # C.g:303:4: IDENTIFIER ( declarator_suffix )*
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_direct_declarator819)
- if self.failed:
- return
- # C.g:303:15: ( declarator_suffix )*
- while True: #loop31
- alt31 = 2
- LA31_0 = self.input.LA(1)
-
- if (LA31_0 == 62) :
- LA31 = self.input.LA(2)
- if LA31 == 63:
- LA31_30 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 58:
- LA31_31 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 66:
- LA31_32 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 59:
- LA31_33 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 60:
- LA31_34 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == IDENTIFIER:
- LA31_35 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 29 or LA31 == 30 or LA31 == 31 or LA31 == 32 or LA31 == 33:
- LA31_37 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 34:
- LA31_38 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 35:
- LA31_39 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 36:
- LA31_40 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 37:
- LA31_41 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 38:
- LA31_42 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 39:
- LA31_43 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 40:
- LA31_44 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 41:
- LA31_45 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 42:
- LA31_46 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 45 or LA31 == 46:
- LA31_47 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 48:
- LA31_48 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 49 or LA31 == 50 or LA31 == 51 or LA31 == 52 or LA31 == 53 or LA31 == 54 or LA31 == 55 or LA31 == 56 or LA31 == 57 or LA31 == 61:
- LA31_49 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
-
- elif (LA31_0 == 64) :
- LA31 = self.input.LA(2)
- if LA31 == 65:
- LA31_51 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 62:
- LA31_52 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == IDENTIFIER:
- LA31_53 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == HEX_LITERAL:
- LA31_54 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == OCTAL_LITERAL:
- LA31_55 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == DECIMAL_LITERAL:
- LA31_56 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == CHARACTER_LITERAL:
- LA31_57 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == STRING_LITERAL:
- LA31_58 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == FLOATING_POINT_LITERAL:
- LA31_59 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 72:
- LA31_60 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 73:
- LA31_61 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 66 or LA31 == 68 or LA31 == 69 or LA31 == 77 or LA31 == 78 or LA31 == 79:
- LA31_62 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
- elif LA31 == 74:
- LA31_63 = self.input.LA(3)
-
- if (self.synpred67()) :
- alt31 = 1
-
-
-
-
-
- if alt31 == 1:
- # C.g:0:0: declarator_suffix
- self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator821)
- self.declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop31
-
-
-
-
- elif alt34 == 2:
- # C.g:304:4: '(' ( 'EFIAPI' )? declarator ')' ( declarator_suffix )+
- self.match(self.input, 62, self.FOLLOW_62_in_direct_declarator827)
- if self.failed:
- return
- # C.g:304:8: ( 'EFIAPI' )?
- alt32 = 2
- LA32_0 = self.input.LA(1)
-
- if (LA32_0 == 58) :
- LA32_1 = self.input.LA(2)
-
- if (self.synpred69()) :
- alt32 = 1
- if alt32 == 1:
- # C.g:304:9: 'EFIAPI'
- self.match(self.input, 58, self.FOLLOW_58_in_direct_declarator830)
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_declarator_in_direct_declarator834)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_direct_declarator836)
- if self.failed:
- return
- # C.g:304:35: ( declarator_suffix )+
- cnt33 = 0
- while True: #loop33
- alt33 = 2
- LA33_0 = self.input.LA(1)
-
- if (LA33_0 == 62) :
- LA33 = self.input.LA(2)
- if LA33 == 63:
- LA33_30 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 58:
- LA33_31 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 66:
- LA33_32 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 59:
- LA33_33 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 60:
- LA33_34 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == IDENTIFIER:
- LA33_35 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 29 or LA33 == 30 or LA33 == 31 or LA33 == 32 or LA33 == 33:
- LA33_37 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 34:
- LA33_38 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 35:
- LA33_39 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 36:
- LA33_40 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 37:
- LA33_41 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 38:
- LA33_42 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 39:
- LA33_43 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 40:
- LA33_44 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 41:
- LA33_45 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 42:
- LA33_46 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 45 or LA33 == 46:
- LA33_47 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 48:
- LA33_48 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 49 or LA33 == 50 or LA33 == 51 or LA33 == 52 or LA33 == 53 or LA33 == 54 or LA33 == 55 or LA33 == 56 or LA33 == 57 or LA33 == 61:
- LA33_49 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
-
- elif (LA33_0 == 64) :
- LA33 = self.input.LA(2)
- if LA33 == 65:
- LA33_51 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 62:
- LA33_52 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == IDENTIFIER:
- LA33_53 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == HEX_LITERAL:
- LA33_54 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == OCTAL_LITERAL:
- LA33_55 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == DECIMAL_LITERAL:
- LA33_56 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == CHARACTER_LITERAL:
- LA33_57 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == STRING_LITERAL:
- LA33_58 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == FLOATING_POINT_LITERAL:
- LA33_59 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 72:
- LA33_60 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 73:
- LA33_61 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 66 or LA33 == 68 or LA33 == 69 or LA33 == 77 or LA33 == 78 or LA33 == 79:
- LA33_62 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
- elif LA33 == 74:
- LA33_63 = self.input.LA(3)
-
- if (self.synpred70()) :
- alt33 = 1
-
-
-
-
-
- if alt33 == 1:
- # C.g:0:0: declarator_suffix
- self.following.append(self.FOLLOW_declarator_suffix_in_direct_declarator838)
- self.declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt33 >= 1:
- break #loop33
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(33, self.input)
- raise eee
-
- cnt33 += 1
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 23, direct_declarator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end direct_declarator
-
-
- # $ANTLR start declarator_suffix
- # C.g:307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );
- def declarator_suffix(self, ):
-
- declarator_suffix_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 24):
- return
-
- # C.g:308:2: ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' )
- alt35 = 5
- LA35_0 = self.input.LA(1)
-
- if (LA35_0 == 64) :
- LA35_1 = self.input.LA(2)
-
- if (LA35_1 == 65) :
- alt35 = 2
- elif ((IDENTIFIER <= LA35_1 <= FLOATING_POINT_LITERAL) or LA35_1 == 62 or LA35_1 == 66 or (68 <= LA35_1 <= 69) or (72 <= LA35_1 <= 74) or (77 <= LA35_1 <= 79)) :
- alt35 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 1, self.input)
-
- raise nvae
-
- elif (LA35_0 == 62) :
- LA35 = self.input.LA(2)
- if LA35 == 63:
- alt35 = 5
- elif LA35 == 29 or LA35 == 30 or LA35 == 31 or LA35 == 32 or LA35 == 33 or LA35 == 34 or LA35 == 35 or LA35 == 36 or LA35 == 37 or LA35 == 38 or LA35 == 39 or LA35 == 40 or LA35 == 41 or LA35 == 42 or LA35 == 45 or LA35 == 46 or LA35 == 48 or LA35 == 49 or LA35 == 50 or LA35 == 51 or LA35 == 52 or LA35 == 53 or LA35 == 54 or LA35 == 55 or LA35 == 56 or LA35 == 57 or LA35 == 58 or LA35 == 59 or LA35 == 60 or LA35 == 61 or LA35 == 66:
- alt35 = 3
- elif LA35 == IDENTIFIER:
- LA35_29 = self.input.LA(3)
-
- if (self.synpred73()) :
- alt35 = 3
- elif (self.synpred74()) :
- alt35 = 4
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 29, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 2, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("307:1: declarator_suffix : ( '[' constant_expression ']' | '[' ']' | '(' parameter_type_list ')' | '(' identifier_list ')' | '(' ')' );", 35, 0, self.input)
-
- raise nvae
-
- if alt35 == 1:
- # C.g:308:6: '[' constant_expression ']'
- self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix852)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_declarator_suffix854)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix856)
- if self.failed:
- return
-
-
- elif alt35 == 2:
- # C.g:309:9: '[' ']'
- self.match(self.input, 64, self.FOLLOW_64_in_declarator_suffix866)
- if self.failed:
- return
- self.match(self.input, 65, self.FOLLOW_65_in_declarator_suffix868)
- if self.failed:
- return
-
-
- elif alt35 == 3:
- # C.g:310:9: '(' parameter_type_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix878)
- if self.failed:
- return
- self.following.append(self.FOLLOW_parameter_type_list_in_declarator_suffix880)
- self.parameter_type_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix882)
- if self.failed:
- return
-
-
- elif alt35 == 4:
- # C.g:311:9: '(' identifier_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix892)
- if self.failed:
- return
- self.following.append(self.FOLLOW_identifier_list_in_declarator_suffix894)
- self.identifier_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix896)
- if self.failed:
- return
-
-
- elif alt35 == 5:
- # C.g:312:9: '(' ')'
- self.match(self.input, 62, self.FOLLOW_62_in_declarator_suffix906)
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_declarator_suffix908)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 24, declarator_suffix_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end declarator_suffix
-
-
- # $ANTLR start pointer
- # C.g:315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );
- def pointer(self, ):
-
- pointer_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 25):
- return
-
- # C.g:316:2: ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' )
- alt38 = 3
- LA38_0 = self.input.LA(1)
-
- if (LA38_0 == 66) :
- LA38 = self.input.LA(2)
- if LA38 == 66:
- LA38_2 = self.input.LA(3)
-
- if (self.synpred78()) :
- alt38 = 2
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 2, self.input)
-
- raise nvae
-
- elif LA38 == 58:
- LA38_3 = self.input.LA(3)
-
- if (self.synpred77()) :
- alt38 = 1
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 3, self.input)
-
- raise nvae
-
- elif LA38 == 59:
- LA38_4 = self.input.LA(3)
-
- if (self.synpred77()) :
- alt38 = 1
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 4, self.input)
-
- raise nvae
-
- elif LA38 == 60:
- LA38_5 = self.input.LA(3)
-
- if (self.synpred77()) :
- alt38 = 1
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 5, self.input)
-
- raise nvae
-
- elif LA38 == EOF or LA38 == IDENTIFIER or LA38 == 25 or LA38 == 26 or LA38 == 27 or LA38 == 28 or LA38 == 29 or LA38 == 30 or LA38 == 31 or LA38 == 32 or LA38 == 33 or LA38 == 34 or LA38 == 35 or LA38 == 36 or LA38 == 37 or LA38 == 38 or LA38 == 39 or LA38 == 40 or LA38 == 41 or LA38 == 42 or LA38 == 43 or LA38 == 45 or LA38 == 46 or LA38 == 47 or LA38 == 48 or LA38 == 62 or LA38 == 63 or LA38 == 64:
- alt38 = 3
- elif LA38 == 53:
- LA38_21 = self.input.LA(3)
-
- if (self.synpred77()) :
- alt38 = 1
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 21, self.input)
-
- raise nvae
-
- elif LA38 == 49 or LA38 == 50 or LA38 == 51 or LA38 == 52 or LA38 == 54 or LA38 == 55 or LA38 == 56 or LA38 == 57 or LA38 == 61:
- LA38_29 = self.input.LA(3)
-
- if (self.synpred77()) :
- alt38 = 1
- elif (True) :
- alt38 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 29, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 1, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("315:1: pointer : ( '*' ( type_qualifier )+ ( pointer )? | '*' pointer | '*' );", 38, 0, self.input)
-
- raise nvae
-
- if alt38 == 1:
- # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
- self.match(self.input, 66, self.FOLLOW_66_in_pointer919)
- if self.failed:
- return
- # C.g:316:8: ( type_qualifier )+
- cnt36 = 0
- while True: #loop36
- alt36 = 2
- LA36 = self.input.LA(1)
- if LA36 == 58:
- LA36_2 = self.input.LA(2)
-
- if (self.synpred75()) :
- alt36 = 1
-
-
- elif LA36 == 59:
- LA36_3 = self.input.LA(2)
-
- if (self.synpred75()) :
- alt36 = 1
-
-
- elif LA36 == 60:
- LA36_4 = self.input.LA(2)
-
- if (self.synpred75()) :
- alt36 = 1
-
-
- elif LA36 == 53:
- LA36_20 = self.input.LA(2)
-
- if (self.synpred75()) :
- alt36 = 1
-
-
- elif LA36 == 49 or LA36 == 50 or LA36 == 51 or LA36 == 52 or LA36 == 54 or LA36 == 55 or LA36 == 56 or LA36 == 57 or LA36 == 61:
- LA36_28 = self.input.LA(2)
-
- if (self.synpred75()) :
- alt36 = 1
-
-
-
- if alt36 == 1:
- # C.g:0:0: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_pointer921)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt36 >= 1:
- break #loop36
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(36, self.input)
- raise eee
-
- cnt36 += 1
-
-
- # C.g:316:24: ( pointer )?
- alt37 = 2
- LA37_0 = self.input.LA(1)
-
- if (LA37_0 == 66) :
- LA37_1 = self.input.LA(2)
-
- if (self.synpred76()) :
- alt37 = 1
- if alt37 == 1:
- # C.g:0:0: pointer
- self.following.append(self.FOLLOW_pointer_in_pointer924)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- elif alt38 == 2:
- # C.g:317:4: '*' pointer
- self.match(self.input, 66, self.FOLLOW_66_in_pointer930)
- if self.failed:
- return
- self.following.append(self.FOLLOW_pointer_in_pointer932)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt38 == 3:
- # C.g:318:4: '*'
- self.match(self.input, 66, self.FOLLOW_66_in_pointer937)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 25, pointer_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end pointer
-
-
- # $ANTLR start parameter_type_list
- # C.g:321:1: parameter_type_list : parameter_list ( ',' ( 'OPTIONAL' )? '...' )? ;
- def parameter_type_list(self, ):
-
- parameter_type_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 26):
- return
-
- # C.g:322:2: ( parameter_list ( ',' ( 'OPTIONAL' )? '...' )? )
- # C.g:322:4: parameter_list ( ',' ( 'OPTIONAL' )? '...' )?
- self.following.append(self.FOLLOW_parameter_list_in_parameter_type_list948)
- self.parameter_list()
- self.following.pop()
- if self.failed:
- return
- # C.g:322:19: ( ',' ( 'OPTIONAL' )? '...' )?
- alt40 = 2
- LA40_0 = self.input.LA(1)
-
- if (LA40_0 == 27) :
- alt40 = 1
- if alt40 == 1:
- # C.g:322:20: ',' ( 'OPTIONAL' )? '...'
- self.match(self.input, 27, self.FOLLOW_27_in_parameter_type_list951)
- if self.failed:
- return
- # C.g:322:24: ( 'OPTIONAL' )?
- alt39 = 2
- LA39_0 = self.input.LA(1)
-
- if (LA39_0 == 53) :
- alt39 = 1
- if alt39 == 1:
- # C.g:322:25: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_parameter_type_list954)
- if self.failed:
- return
-
-
-
- self.match(self.input, 67, self.FOLLOW_67_in_parameter_type_list958)
- if self.failed:
- return
-
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 26, parameter_type_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end parameter_type_list
-
-
- # $ANTLR start parameter_list
- # C.g:325:1: parameter_list : parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* ;
- def parameter_list(self, ):
-
- parameter_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 27):
- return
-
- # C.g:326:2: ( parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )* )
- # C.g:326:4: parameter_declaration ( ',' ( 'OPTIONAL' )? parameter_declaration )*
- self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list971)
- self.parameter_declaration()
- self.following.pop()
- if self.failed:
- return
- # C.g:326:26: ( ',' ( 'OPTIONAL' )? parameter_declaration )*
- while True: #loop42
- alt42 = 2
- LA42_0 = self.input.LA(1)
-
- if (LA42_0 == 27) :
- LA42_1 = self.input.LA(2)
-
- if (LA42_1 == 53) :
- LA42_3 = self.input.LA(3)
-
- if (self.synpred82()) :
- alt42 = 1
-
-
- elif (LA42_1 == IDENTIFIER or (29 <= LA42_1 <= 42) or (45 <= LA42_1 <= 46) or (48 <= LA42_1 <= 52) or (54 <= LA42_1 <= 61) or LA42_1 == 66) :
- alt42 = 1
-
-
-
-
- if alt42 == 1:
- # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
- self.match(self.input, 27, self.FOLLOW_27_in_parameter_list974)
- if self.failed:
- return
- # C.g:326:31: ( 'OPTIONAL' )?
- alt41 = 2
- LA41_0 = self.input.LA(1)
-
- if (LA41_0 == 53) :
- LA41_1 = self.input.LA(2)
-
- if (self.synpred81()) :
- alt41 = 1
- if alt41 == 1:
- # C.g:326:32: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_parameter_list977)
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_parameter_declaration_in_parameter_list981)
- self.parameter_declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop42
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 27, parameter_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end parameter_list
-
-
- # $ANTLR start parameter_declaration
- # C.g:329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );
- def parameter_declaration(self, ):
-
- parameter_declaration_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 28):
- return
-
- # C.g:330:2: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER )
- alt46 = 2
- LA46 = self.input.LA(1)
- if LA46 == 29 or LA46 == 30 or LA46 == 31 or LA46 == 32 or LA46 == 33 or LA46 == 34 or LA46 == 35 or LA46 == 36 or LA46 == 37 or LA46 == 38 or LA46 == 39 or LA46 == 40 or LA46 == 41 or LA46 == 42 or LA46 == 45 or LA46 == 46 or LA46 == 48 or LA46 == 49 or LA46 == 50 or LA46 == 51 or LA46 == 52 or LA46 == 53 or LA46 == 54 or LA46 == 55 or LA46 == 56 or LA46 == 57 or LA46 == 58 or LA46 == 59 or LA46 == 60 or LA46 == 61:
- alt46 = 1
- elif LA46 == IDENTIFIER:
- LA46_13 = self.input.LA(2)
-
- if (self.synpred86()) :
- alt46 = 1
- elif (True) :
- alt46 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 13, self.input)
-
- raise nvae
-
- elif LA46 == 66:
- alt46 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("329:1: parameter_declaration : ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? | ( pointer )* IDENTIFIER );", 46, 0, self.input)
-
- raise nvae
-
- if alt46 == 1:
- # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
- self.following.append(self.FOLLOW_declaration_specifiers_in_parameter_declaration994)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
- # C.g:330:27: ( declarator | abstract_declarator )*
- while True: #loop43
- alt43 = 3
- LA43 = self.input.LA(1)
- if LA43 == 66:
- LA43_5 = self.input.LA(2)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == IDENTIFIER or LA43 == 58 or LA43 == 59 or LA43 == 60:
- alt43 = 1
- elif LA43 == 62:
- LA43 = self.input.LA(2)
- if LA43 == 29 or LA43 == 30 or LA43 == 31 or LA43 == 32 or LA43 == 33 or LA43 == 34 or LA43 == 35 or LA43 == 36 or LA43 == 37 or LA43 == 38 or LA43 == 39 or LA43 == 40 or LA43 == 41 or LA43 == 42 or LA43 == 45 or LA43 == 46 or LA43 == 48 or LA43 == 49 or LA43 == 50 or LA43 == 51 or LA43 == 52 or LA43 == 53 or LA43 == 54 or LA43 == 55 or LA43 == 56 or LA43 == 57 or LA43 == 61 or LA43 == 63 or LA43 == 64:
- alt43 = 2
- elif LA43 == IDENTIFIER:
- LA43_37 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == 58:
- LA43_38 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == 66:
- LA43_39 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == 59:
- LA43_40 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == 60:
- LA43_41 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
- elif LA43 == 62:
- LA43_43 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt43 = 1
- elif (self.synpred84()) :
- alt43 = 2
-
-
-
- elif LA43 == 64:
- alt43 = 2
-
- if alt43 == 1:
- # C.g:330:28: declarator
- self.following.append(self.FOLLOW_declarator_in_parameter_declaration997)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt43 == 2:
- # C.g:330:39: abstract_declarator
- self.following.append(self.FOLLOW_abstract_declarator_in_parameter_declaration999)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop43
-
-
- # C.g:330:61: ( 'OPTIONAL' )?
- alt44 = 2
- LA44_0 = self.input.LA(1)
-
- if (LA44_0 == 53) :
- alt44 = 1
- if alt44 == 1:
- # C.g:330:62: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_parameter_declaration1004)
- if self.failed:
- return
-
-
-
-
-
- elif alt46 == 2:
- # C.g:332:4: ( pointer )* IDENTIFIER
- # C.g:332:4: ( pointer )*
- while True: #loop45
- alt45 = 2
- LA45_0 = self.input.LA(1)
-
- if (LA45_0 == 66) :
- alt45 = 1
-
-
- if alt45 == 1:
- # C.g:0:0: pointer
- self.following.append(self.FOLLOW_pointer_in_parameter_declaration1013)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop45
-
-
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_parameter_declaration1016)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 28, parameter_declaration_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end parameter_declaration
-
-
- # $ANTLR start identifier_list
- # C.g:335:1: identifier_list : IDENTIFIER ( ',' IDENTIFIER )* ;
- def identifier_list(self, ):
-
- identifier_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 29):
- return
-
- # C.g:336:2: ( IDENTIFIER ( ',' IDENTIFIER )* )
- # C.g:336:4: IDENTIFIER ( ',' IDENTIFIER )*
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1027)
- if self.failed:
- return
- # C.g:337:2: ( ',' IDENTIFIER )*
- while True: #loop47
- alt47 = 2
- LA47_0 = self.input.LA(1)
-
- if (LA47_0 == 27) :
- alt47 = 1
-
-
- if alt47 == 1:
- # C.g:337:3: ',' IDENTIFIER
- self.match(self.input, 27, self.FOLLOW_27_in_identifier_list1031)
- if self.failed:
- return
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_identifier_list1033)
- if self.failed:
- return
-
-
- else:
- break #loop47
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 29, identifier_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end identifier_list
-
-
- # $ANTLR start type_name
- # C.g:340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );
- def type_name(self, ):
-
- type_name_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 30):
- return
-
- # C.g:341:2: ( specifier_qualifier_list ( abstract_declarator )? | type_id )
- alt49 = 2
- LA49_0 = self.input.LA(1)
-
- if ((34 <= LA49_0 <= 42) or (45 <= LA49_0 <= 46) or (48 <= LA49_0 <= 61)) :
- alt49 = 1
- elif (LA49_0 == IDENTIFIER) :
- LA49_13 = self.input.LA(2)
-
- if (self.synpred90()) :
- alt49 = 1
- elif (True) :
- alt49 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 13, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("340:1: type_name : ( specifier_qualifier_list ( abstract_declarator )? | type_id );", 49, 0, self.input)
-
- raise nvae
-
- if alt49 == 1:
- # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
- self.following.append(self.FOLLOW_specifier_qualifier_list_in_type_name1046)
- self.specifier_qualifier_list()
- self.following.pop()
- if self.failed:
- return
- # C.g:341:29: ( abstract_declarator )?
- alt48 = 2
- LA48_0 = self.input.LA(1)
-
- if (LA48_0 == 62 or LA48_0 == 64 or LA48_0 == 66) :
- alt48 = 1
- if alt48 == 1:
- # C.g:0:0: abstract_declarator
- self.following.append(self.FOLLOW_abstract_declarator_in_type_name1048)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- elif alt49 == 2:
- # C.g:342:4: type_id
- self.following.append(self.FOLLOW_type_id_in_type_name1054)
- self.type_id()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 30, type_name_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end type_name
-
-
- # $ANTLR start abstract_declarator
- # C.g:345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );
- def abstract_declarator(self, ):
-
- abstract_declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 31):
- return
-
- # C.g:346:2: ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator )
- alt51 = 2
- LA51_0 = self.input.LA(1)
-
- if (LA51_0 == 66) :
- alt51 = 1
- elif (LA51_0 == 62 or LA51_0 == 64) :
- alt51 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("345:1: abstract_declarator : ( pointer ( direct_abstract_declarator )? | direct_abstract_declarator );", 51, 0, self.input)
-
- raise nvae
-
- if alt51 == 1:
- # C.g:346:4: pointer ( direct_abstract_declarator )?
- self.following.append(self.FOLLOW_pointer_in_abstract_declarator1065)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
- # C.g:346:12: ( direct_abstract_declarator )?
- alt50 = 2
- LA50_0 = self.input.LA(1)
-
- if (LA50_0 == 62) :
- LA50 = self.input.LA(2)
- if LA50 == 63:
- LA50_12 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 58:
- LA50_13 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 66:
- LA50_14 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 59:
- LA50_15 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 60:
- LA50_16 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == IDENTIFIER:
- LA50_17 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 62:
- LA50_18 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 64:
- LA50_19 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 29 or LA50 == 30 or LA50 == 31 or LA50 == 32 or LA50 == 33:
- LA50_20 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 34:
- LA50_21 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 35:
- LA50_22 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 36:
- LA50_23 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 37:
- LA50_24 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 38:
- LA50_25 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 39:
- LA50_26 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 40:
- LA50_27 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 41:
- LA50_28 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 42:
- LA50_29 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 45 or LA50 == 46:
- LA50_30 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 48:
- LA50_31 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 49 or LA50 == 50 or LA50 == 51 or LA50 == 52 or LA50 == 53 or LA50 == 54 or LA50 == 55 or LA50 == 56 or LA50 == 57 or LA50 == 61:
- LA50_32 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif (LA50_0 == 64) :
- LA50 = self.input.LA(2)
- if LA50 == 65:
- LA50_33 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 62:
- LA50_34 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == IDENTIFIER:
- LA50_35 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == HEX_LITERAL:
- LA50_36 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == OCTAL_LITERAL:
- LA50_37 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == DECIMAL_LITERAL:
- LA50_38 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == CHARACTER_LITERAL:
- LA50_39 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == STRING_LITERAL:
- LA50_40 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == FLOATING_POINT_LITERAL:
- LA50_41 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 72:
- LA50_42 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 73:
- LA50_43 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 66 or LA50 == 68 or LA50 == 69 or LA50 == 77 or LA50 == 78 or LA50 == 79:
- LA50_44 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- elif LA50 == 74:
- LA50_45 = self.input.LA(3)
-
- if (self.synpred91()) :
- alt50 = 1
- if alt50 == 1:
- # C.g:0:0: direct_abstract_declarator
- self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1067)
- self.direct_abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- elif alt51 == 2:
- # C.g:347:4: direct_abstract_declarator
- self.following.append(self.FOLLOW_direct_abstract_declarator_in_abstract_declarator1073)
- self.direct_abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 31, abstract_declarator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end abstract_declarator
-
-
- # $ANTLR start direct_abstract_declarator
- # C.g:350:1: direct_abstract_declarator : ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* ;
- def direct_abstract_declarator(self, ):
-
- direct_abstract_declarator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 32):
- return
-
- # C.g:351:2: ( ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )* )
- # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix ) ( abstract_declarator_suffix )*
- # C.g:351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )
- alt52 = 2
- LA52_0 = self.input.LA(1)
-
- if (LA52_0 == 62) :
- LA52 = self.input.LA(2)
- if LA52 == IDENTIFIER or LA52 == 29 or LA52 == 30 or LA52 == 31 or LA52 == 32 or LA52 == 33 or LA52 == 34 or LA52 == 35 or LA52 == 36 or LA52 == 37 or LA52 == 38 or LA52 == 39 or LA52 == 40 or LA52 == 41 or LA52 == 42 or LA52 == 45 or LA52 == 46 or LA52 == 48 or LA52 == 49 or LA52 == 50 or LA52 == 51 or LA52 == 52 or LA52 == 53 or LA52 == 54 or LA52 == 55 or LA52 == 56 or LA52 == 57 or LA52 == 58 or LA52 == 59 or LA52 == 60 or LA52 == 61 or LA52 == 63:
- alt52 = 2
- elif LA52 == 66:
- LA52_18 = self.input.LA(3)
-
- if (self.synpred93()) :
- alt52 = 1
- elif (True) :
- alt52 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 18, self.input)
-
- raise nvae
-
- elif LA52 == 62 or LA52 == 64:
- alt52 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 1, self.input)
-
- raise nvae
-
- elif (LA52_0 == 64) :
- alt52 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("351:4: ( '(' abstract_declarator ')' | abstract_declarator_suffix )", 52, 0, self.input)
-
- raise nvae
-
- if alt52 == 1:
- # C.g:351:6: '(' abstract_declarator ')'
- self.match(self.input, 62, self.FOLLOW_62_in_direct_abstract_declarator1086)
- if self.failed:
- return
- self.following.append(self.FOLLOW_abstract_declarator_in_direct_abstract_declarator1088)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_direct_abstract_declarator1090)
- if self.failed:
- return
-
-
- elif alt52 == 2:
- # C.g:351:36: abstract_declarator_suffix
- self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094)
- self.abstract_declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
-
- # C.g:351:65: ( abstract_declarator_suffix )*
- while True: #loop53
- alt53 = 2
- LA53_0 = self.input.LA(1)
-
- if (LA53_0 == 62) :
- LA53 = self.input.LA(2)
- if LA53 == 63:
- LA53_12 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 58:
- LA53_13 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 66:
- LA53_14 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 59:
- LA53_15 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 60:
- LA53_16 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == IDENTIFIER:
- LA53_17 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 29 or LA53 == 30 or LA53 == 31 or LA53 == 32 or LA53 == 33:
- LA53_19 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 34:
- LA53_20 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 35:
- LA53_21 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 36:
- LA53_22 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 37:
- LA53_23 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 38:
- LA53_24 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 39:
- LA53_25 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 40:
- LA53_26 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 41:
- LA53_27 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 42:
- LA53_28 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 45 or LA53 == 46:
- LA53_29 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 48:
- LA53_30 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 49 or LA53 == 50 or LA53 == 51 or LA53 == 52 or LA53 == 53 or LA53 == 54 or LA53 == 55 or LA53 == 56 or LA53 == 57 or LA53 == 61:
- LA53_31 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
-
- elif (LA53_0 == 64) :
- LA53 = self.input.LA(2)
- if LA53 == 65:
- LA53_33 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 62:
- LA53_34 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == IDENTIFIER:
- LA53_35 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == HEX_LITERAL:
- LA53_36 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == OCTAL_LITERAL:
- LA53_37 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == DECIMAL_LITERAL:
- LA53_38 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == CHARACTER_LITERAL:
- LA53_39 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == STRING_LITERAL:
- LA53_40 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == FLOATING_POINT_LITERAL:
- LA53_41 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 72:
- LA53_42 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 73:
- LA53_43 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 66 or LA53 == 68 or LA53 == 69 or LA53 == 77 or LA53 == 78 or LA53 == 79:
- LA53_44 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
- elif LA53 == 74:
- LA53_45 = self.input.LA(3)
-
- if (self.synpred94()) :
- alt53 = 1
-
-
-
-
-
- if alt53 == 1:
- # C.g:0:0: abstract_declarator_suffix
- self.following.append(self.FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098)
- self.abstract_declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop53
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 32, direct_abstract_declarator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end direct_abstract_declarator
-
-
- # $ANTLR start abstract_declarator_suffix
- # C.g:354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );
- def abstract_declarator_suffix(self, ):
-
- abstract_declarator_suffix_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 33):
- return
-
- # C.g:355:2: ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' )
- alt54 = 4
- LA54_0 = self.input.LA(1)
-
- if (LA54_0 == 64) :
- LA54_1 = self.input.LA(2)
-
- if (LA54_1 == 65) :
- alt54 = 1
- elif ((IDENTIFIER <= LA54_1 <= FLOATING_POINT_LITERAL) or LA54_1 == 62 or LA54_1 == 66 or (68 <= LA54_1 <= 69) or (72 <= LA54_1 <= 74) or (77 <= LA54_1 <= 79)) :
- alt54 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 1, self.input)
-
- raise nvae
-
- elif (LA54_0 == 62) :
- LA54_2 = self.input.LA(2)
-
- if (LA54_2 == 63) :
- alt54 = 3
- elif (LA54_2 == IDENTIFIER or (29 <= LA54_2 <= 42) or (45 <= LA54_2 <= 46) or (48 <= LA54_2 <= 61) or LA54_2 == 66) :
- alt54 = 4
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 2, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("354:1: abstract_declarator_suffix : ( '[' ']' | '[' constant_expression ']' | '(' ')' | '(' parameter_type_list ')' );", 54, 0, self.input)
-
- raise nvae
-
- if alt54 == 1:
- # C.g:355:4: '[' ']'
- self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1110)
- if self.failed:
- return
- self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1112)
- if self.failed:
- return
-
-
- elif alt54 == 2:
- # C.g:356:4: '[' constant_expression ']'
- self.match(self.input, 64, self.FOLLOW_64_in_abstract_declarator_suffix1117)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_abstract_declarator_suffix1119)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 65, self.FOLLOW_65_in_abstract_declarator_suffix1121)
- if self.failed:
- return
-
-
- elif alt54 == 3:
- # C.g:357:4: '(' ')'
- self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1126)
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1128)
- if self.failed:
- return
-
-
- elif alt54 == 4:
- # C.g:358:4: '(' parameter_type_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_abstract_declarator_suffix1133)
- if self.failed:
- return
- self.following.append(self.FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135)
- self.parameter_type_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_abstract_declarator_suffix1137)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 33, abstract_declarator_suffix_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end abstract_declarator_suffix
-
-
- # $ANTLR start initializer
- # C.g:361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );
- def initializer(self, ):
-
- initializer_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 34):
- return
-
- # C.g:363:2: ( assignment_expression | '{' initializer_list ( ',' )? '}' )
- alt56 = 2
- LA56_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA56_0 <= FLOATING_POINT_LITERAL) or LA56_0 == 62 or LA56_0 == 66 or (68 <= LA56_0 <= 69) or (72 <= LA56_0 <= 74) or (77 <= LA56_0 <= 79)) :
- alt56 = 1
- elif (LA56_0 == 43) :
- alt56 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("361:1: initializer : ( assignment_expression | '{' initializer_list ( ',' )? '}' );", 56, 0, self.input)
-
- raise nvae
-
- if alt56 == 1:
- # C.g:363:4: assignment_expression
- self.following.append(self.FOLLOW_assignment_expression_in_initializer1150)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt56 == 2:
- # C.g:364:4: '{' initializer_list ( ',' )? '}'
- self.match(self.input, 43, self.FOLLOW_43_in_initializer1155)
- if self.failed:
- return
- self.following.append(self.FOLLOW_initializer_list_in_initializer1157)
- self.initializer_list()
- self.following.pop()
- if self.failed:
- return
- # C.g:364:25: ( ',' )?
- alt55 = 2
- LA55_0 = self.input.LA(1)
-
- if (LA55_0 == 27) :
- alt55 = 1
- if alt55 == 1:
- # C.g:0:0: ','
- self.match(self.input, 27, self.FOLLOW_27_in_initializer1159)
- if self.failed:
- return
-
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_initializer1162)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 34, initializer_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end initializer
-
-
- # $ANTLR start initializer_list
- # C.g:367:1: initializer_list : initializer ( ',' initializer )* ;
- def initializer_list(self, ):
-
- initializer_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 35):
- return
-
- # C.g:368:2: ( initializer ( ',' initializer )* )
- # C.g:368:4: initializer ( ',' initializer )*
- self.following.append(self.FOLLOW_initializer_in_initializer_list1173)
- self.initializer()
- self.following.pop()
- if self.failed:
- return
- # C.g:368:16: ( ',' initializer )*
- while True: #loop57
- alt57 = 2
- LA57_0 = self.input.LA(1)
-
- if (LA57_0 == 27) :
- LA57_1 = self.input.LA(2)
-
- if ((IDENTIFIER <= LA57_1 <= FLOATING_POINT_LITERAL) or LA57_1 == 43 or LA57_1 == 62 or LA57_1 == 66 or (68 <= LA57_1 <= 69) or (72 <= LA57_1 <= 74) or (77 <= LA57_1 <= 79)) :
- alt57 = 1
-
-
-
-
- if alt57 == 1:
- # C.g:368:17: ',' initializer
- self.match(self.input, 27, self.FOLLOW_27_in_initializer_list1176)
- if self.failed:
- return
- self.following.append(self.FOLLOW_initializer_in_initializer_list1178)
- self.initializer()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop57
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 35, initializer_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end initializer_list
-
- class argument_expression_list_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start argument_expression_list
- # C.g:373:1: argument_expression_list : assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* ;
- def argument_expression_list(self, ):
-
- retval = self.argument_expression_list_return()
- retval.start = self.input.LT(1)
- argument_expression_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 36):
- return retval
-
- # C.g:374:2: ( assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )* )
- # C.g:374:6: assignment_expression ( 'OPTIONAL' )? ( ',' assignment_expression ( 'OPTIONAL' )? )*
- self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1196)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:374:28: ( 'OPTIONAL' )?
- alt58 = 2
- LA58_0 = self.input.LA(1)
-
- if (LA58_0 == 53) :
- alt58 = 1
- if alt58 == 1:
- # C.g:374:29: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1199)
- if self.failed:
- return retval
-
-
-
- # C.g:374:42: ( ',' assignment_expression ( 'OPTIONAL' )? )*
- while True: #loop60
- alt60 = 2
- LA60_0 = self.input.LA(1)
-
- if (LA60_0 == 27) :
- alt60 = 1
-
-
- if alt60 == 1:
- # C.g:374:43: ',' assignment_expression ( 'OPTIONAL' )?
- self.match(self.input, 27, self.FOLLOW_27_in_argument_expression_list1204)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_assignment_expression_in_argument_expression_list1206)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:374:69: ( 'OPTIONAL' )?
- alt59 = 2
- LA59_0 = self.input.LA(1)
-
- if (LA59_0 == 53) :
- alt59 = 1
- if alt59 == 1:
- # C.g:374:70: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_argument_expression_list1209)
- if self.failed:
- return retval
-
-
-
-
-
- else:
- break #loop60
-
-
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 36, argument_expression_list_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end argument_expression_list
-
-
- # $ANTLR start additive_expression
- # C.g:377:1: additive_expression : ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* ;
- def additive_expression(self, ):
-
- additive_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 37):
- return
-
- # C.g:378:2: ( ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )* )
- # C.g:378:4: ( multiplicative_expression ) ( '+' multiplicative_expression | '-' multiplicative_expression )*
- # C.g:378:4: ( multiplicative_expression )
- # C.g:378:5: multiplicative_expression
- self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1225)
- self.multiplicative_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- # C.g:378:32: ( '+' multiplicative_expression | '-' multiplicative_expression )*
- while True: #loop61
- alt61 = 3
- LA61_0 = self.input.LA(1)
-
- if (LA61_0 == 68) :
- alt61 = 1
- elif (LA61_0 == 69) :
- alt61 = 2
-
-
- if alt61 == 1:
- # C.g:378:33: '+' multiplicative_expression
- self.match(self.input, 68, self.FOLLOW_68_in_additive_expression1229)
- if self.failed:
- return
- self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1231)
- self.multiplicative_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt61 == 2:
- # C.g:378:65: '-' multiplicative_expression
- self.match(self.input, 69, self.FOLLOW_69_in_additive_expression1235)
- if self.failed:
- return
- self.following.append(self.FOLLOW_multiplicative_expression_in_additive_expression1237)
- self.multiplicative_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop61
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 37, additive_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end additive_expression
-
-
- # $ANTLR start multiplicative_expression
- # C.g:381:1: multiplicative_expression : ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* ;
- def multiplicative_expression(self, ):
-
- multiplicative_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 38):
- return
-
- # C.g:382:2: ( ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )* )
- # C.g:382:4: ( cast_expression ) ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
- # C.g:382:4: ( cast_expression )
- # C.g:382:5: cast_expression
- self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1251)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- # C.g:382:22: ( '*' cast_expression | '/' cast_expression | '%' cast_expression )*
- while True: #loop62
- alt62 = 4
- LA62 = self.input.LA(1)
- if LA62 == 66:
- alt62 = 1
- elif LA62 == 70:
- alt62 = 2
- elif LA62 == 71:
- alt62 = 3
-
- if alt62 == 1:
- # C.g:382:23: '*' cast_expression
- self.match(self.input, 66, self.FOLLOW_66_in_multiplicative_expression1255)
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1257)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt62 == 2:
- # C.g:382:45: '/' cast_expression
- self.match(self.input, 70, self.FOLLOW_70_in_multiplicative_expression1261)
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1263)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt62 == 3:
- # C.g:382:67: '%' cast_expression
- self.match(self.input, 71, self.FOLLOW_71_in_multiplicative_expression1267)
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_multiplicative_expression1269)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop62
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 38, multiplicative_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end multiplicative_expression
-
-
- # $ANTLR start cast_expression
- # C.g:385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );
- def cast_expression(self, ):
-
- cast_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 39):
- return
-
- # C.g:386:2: ( '(' type_name ')' cast_expression | unary_expression )
- alt63 = 2
- LA63_0 = self.input.LA(1)
-
- if (LA63_0 == 62) :
- LA63 = self.input.LA(2)
- if LA63 == 34 or LA63 == 35 or LA63 == 36 or LA63 == 37 or LA63 == 38 or LA63 == 39 or LA63 == 40 or LA63 == 41 or LA63 == 42 or LA63 == 45 or LA63 == 46 or LA63 == 48 or LA63 == 49 or LA63 == 50 or LA63 == 51 or LA63 == 52 or LA63 == 53 or LA63 == 54 or LA63 == 55 or LA63 == 56 or LA63 == 57 or LA63 == 58 or LA63 == 59 or LA63 == 60 or LA63 == 61:
- alt63 = 1
- elif LA63 == IDENTIFIER:
- LA63_25 = self.input.LA(3)
-
- if (self.synpred109()) :
- alt63 = 1
- elif (True) :
- alt63 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 25, self.input)
-
- raise nvae
-
- elif LA63 == HEX_LITERAL or LA63 == OCTAL_LITERAL or LA63 == DECIMAL_LITERAL or LA63 == CHARACTER_LITERAL or LA63 == STRING_LITERAL or LA63 == FLOATING_POINT_LITERAL or LA63 == 62 or LA63 == 66 or LA63 == 68 or LA63 == 69 or LA63 == 72 or LA63 == 73 or LA63 == 74 or LA63 == 77 or LA63 == 78 or LA63 == 79:
- alt63 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 1, self.input)
-
- raise nvae
-
- elif ((IDENTIFIER <= LA63_0 <= FLOATING_POINT_LITERAL) or LA63_0 == 66 or (68 <= LA63_0 <= 69) or (72 <= LA63_0 <= 74) or (77 <= LA63_0 <= 79)) :
- alt63 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("385:1: cast_expression : ( '(' type_name ')' cast_expression | unary_expression );", 63, 0, self.input)
-
- raise nvae
-
- if alt63 == 1:
- # C.g:386:4: '(' type_name ')' cast_expression
- self.match(self.input, 62, self.FOLLOW_62_in_cast_expression1282)
- if self.failed:
- return
- self.following.append(self.FOLLOW_type_name_in_cast_expression1284)
- self.type_name()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_cast_expression1286)
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_cast_expression1288)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt63 == 2:
- # C.g:387:4: unary_expression
- self.following.append(self.FOLLOW_unary_expression_in_cast_expression1293)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 39, cast_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end cast_expression
-
-
- # $ANTLR start unary_expression
- # C.g:390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );
- def unary_expression(self, ):
-
- unary_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 40):
- return
-
- # C.g:391:2: ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' )
- alt64 = 6
- LA64 = self.input.LA(1)
- if LA64 == IDENTIFIER or LA64 == HEX_LITERAL or LA64 == OCTAL_LITERAL or LA64 == DECIMAL_LITERAL or LA64 == CHARACTER_LITERAL or LA64 == STRING_LITERAL or LA64 == FLOATING_POINT_LITERAL or LA64 == 62:
- alt64 = 1
- elif LA64 == 72:
- alt64 = 2
- elif LA64 == 73:
- alt64 = 3
- elif LA64 == 66 or LA64 == 68 or LA64 == 69 or LA64 == 77 or LA64 == 78 or LA64 == 79:
- alt64 = 4
- elif LA64 == 74:
- LA64_12 = self.input.LA(2)
-
- if (LA64_12 == 62) :
- LA64_13 = self.input.LA(3)
-
- if (self.synpred114()) :
- alt64 = 5
- elif (True) :
- alt64 = 6
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 13, self.input)
-
- raise nvae
-
- elif ((IDENTIFIER <= LA64_12 <= FLOATING_POINT_LITERAL) or LA64_12 == 66 or (68 <= LA64_12 <= 69) or (72 <= LA64_12 <= 74) or (77 <= LA64_12 <= 79)) :
- alt64 = 5
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 12, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("390:1: unary_expression : ( postfix_expression | '++' unary_expression | '--' unary_expression | unary_operator cast_expression | 'sizeof' unary_expression | 'sizeof' '(' type_name ')' );", 64, 0, self.input)
-
- raise nvae
-
- if alt64 == 1:
- # C.g:391:4: postfix_expression
- self.following.append(self.FOLLOW_postfix_expression_in_unary_expression1304)
- self.postfix_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt64 == 2:
- # C.g:392:4: '++' unary_expression
- self.match(self.input, 72, self.FOLLOW_72_in_unary_expression1309)
- if self.failed:
- return
- self.following.append(self.FOLLOW_unary_expression_in_unary_expression1311)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt64 == 3:
- # C.g:393:4: '--' unary_expression
- self.match(self.input, 73, self.FOLLOW_73_in_unary_expression1316)
- if self.failed:
- return
- self.following.append(self.FOLLOW_unary_expression_in_unary_expression1318)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt64 == 4:
- # C.g:394:4: unary_operator cast_expression
- self.following.append(self.FOLLOW_unary_operator_in_unary_expression1323)
- self.unary_operator()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_unary_expression1325)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt64 == 5:
- # C.g:395:4: 'sizeof' unary_expression
- self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1330)
- if self.failed:
- return
- self.following.append(self.FOLLOW_unary_expression_in_unary_expression1332)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt64 == 6:
- # C.g:396:4: 'sizeof' '(' type_name ')'
- self.match(self.input, 74, self.FOLLOW_74_in_unary_expression1337)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_unary_expression1339)
- if self.failed:
- return
- self.following.append(self.FOLLOW_type_name_in_unary_expression1341)
- self.type_name()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_unary_expression1343)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 40, unary_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end unary_expression
-
-
- # $ANTLR start postfix_expression
- # C.g:399:1: postfix_expression : p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* ;
- def postfix_expression(self, ):
- self.postfix_expression_stack.append(postfix_expression_scope())
- postfix_expression_StartIndex = self.input.index()
- a = None
- b = None
- x = None
- y = None
- z = None
- p = None
-
- c = None
-
-
-
- self.postfix_expression_stack[-1].FuncCallText = ''
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 41):
- return
-
- # C.g:406:2: (p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )* )
- # C.g:406:6: p= primary_expression ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
- self.following.append(self.FOLLOW_primary_expression_in_postfix_expression1367)
- p = self.primary_expression()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
- self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)
-
- # C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*
- while True: #loop65
- alt65 = 10
- LA65 = self.input.LA(1)
- if LA65 == 66:
- LA65_1 = self.input.LA(2)
-
- if (LA65_1 == IDENTIFIER) :
- LA65_30 = self.input.LA(3)
-
- if (self.synpred120()) :
- alt65 = 6
-
-
-
-
- elif LA65 == 64:
- alt65 = 1
- elif LA65 == 62:
- LA65 = self.input.LA(2)
- if LA65 == 63:
- alt65 = 2
- elif LA65 == 29 or LA65 == 30 or LA65 == 31 or LA65 == 32 or LA65 == 33 or LA65 == 34 or LA65 == 35 or LA65 == 36 or LA65 == 37 or LA65 == 38 or LA65 == 39 or LA65 == 40 or LA65 == 41 or LA65 == 42 or LA65 == 45 or LA65 == 46 or LA65 == 48 or LA65 == 49 or LA65 == 50 or LA65 == 51 or LA65 == 52 or LA65 == 53 or LA65 == 54 or LA65 == 55 or LA65 == 56 or LA65 == 57 or LA65 == 58 or LA65 == 59 or LA65 == 60 or LA65 == 61:
- alt65 = 4
- elif LA65 == IDENTIFIER:
- LA65_55 = self.input.LA(3)
-
- if (self.synpred117()) :
- alt65 = 3
- elif (self.synpred118()) :
- alt65 = 4
-
-
- elif LA65 == 66:
- LA65_57 = self.input.LA(3)
-
- if (self.synpred117()) :
- alt65 = 3
- elif (self.synpred118()) :
- alt65 = 4
-
-
- elif LA65 == HEX_LITERAL or LA65 == OCTAL_LITERAL or LA65 == DECIMAL_LITERAL or LA65 == CHARACTER_LITERAL or LA65 == STRING_LITERAL or LA65 == FLOATING_POINT_LITERAL or LA65 == 62 or LA65 == 68 or LA65 == 69 or LA65 == 72 or LA65 == 73 or LA65 == 74 or LA65 == 77 or LA65 == 78 or LA65 == 79:
- alt65 = 3
-
- elif LA65 == 75:
- alt65 = 5
- elif LA65 == 76:
- alt65 = 7
- elif LA65 == 72:
- alt65 = 8
- elif LA65 == 73:
- alt65 = 9
-
- if alt65 == 1:
- # C.g:407:13: '[' expression ']'
- self.match(self.input, 64, self.FOLLOW_64_in_postfix_expression1383)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_postfix_expression1385)
- self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 65, self.FOLLOW_65_in_postfix_expression1387)
- if self.failed:
- return
-
-
- elif alt65 == 2:
- # C.g:408:13: '(' a= ')'
- self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1401)
- if self.failed:
- return
- a = self.input.LT(1)
- self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1405)
- if self.failed:
- return
- if self.backtracking == 0:
- self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, a.line, a.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, '')
-
-
-
- elif alt65 == 3:
- # C.g:409:13: '(' c= argument_expression_list b= ')'
- self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1420)
- if self.failed:
- return
- self.following.append(self.FOLLOW_argument_expression_list_in_postfix_expression1424)
- c = self.argument_expression_list()
- self.following.pop()
- if self.failed:
- return
- b = self.input.LT(1)
- self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1428)
- if self.failed:
- return
- if self.backtracking == 0:
- self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))
-
-
-
- elif alt65 == 4:
- # C.g:410:13: '(' macro_parameter_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_postfix_expression1444)
- if self.failed:
- return
- self.following.append(self.FOLLOW_macro_parameter_list_in_postfix_expression1446)
- self.macro_parameter_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_postfix_expression1448)
- if self.failed:
- return
-
-
- elif alt65 == 5:
- # C.g:411:13: '.' x= IDENTIFIER
- self.match(self.input, 75, self.FOLLOW_75_in_postfix_expression1462)
- if self.failed:
- return
- x = self.input.LT(1)
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1466)
- if self.failed:
- return
- if self.backtracking == 0:
- self.postfix_expression_stack[-1].FuncCallText += '.' + x.text
-
-
-
- elif alt65 == 6:
- # C.g:412:13: '*' y= IDENTIFIER
- self.match(self.input, 66, self.FOLLOW_66_in_postfix_expression1482)
- if self.failed:
- return
- y = self.input.LT(1)
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1486)
- if self.failed:
- return
- if self.backtracking == 0:
- self.postfix_expression_stack[-1].FuncCallText = y.text
-
-
-
- elif alt65 == 7:
- # C.g:413:13: '->' z= IDENTIFIER
- self.match(self.input, 76, self.FOLLOW_76_in_postfix_expression1502)
- if self.failed:
- return
- z = self.input.LT(1)
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_postfix_expression1506)
- if self.failed:
- return
- if self.backtracking == 0:
- self.postfix_expression_stack[-1].FuncCallText += '->' + z.text
-
-
-
- elif alt65 == 8:
- # C.g:414:13: '++'
- self.match(self.input, 72, self.FOLLOW_72_in_postfix_expression1522)
- if self.failed:
- return
-
-
- elif alt65 == 9:
- # C.g:415:13: '--'
- self.match(self.input, 73, self.FOLLOW_73_in_postfix_expression1536)
- if self.failed:
- return
-
-
- else:
- break #loop65
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 41, postfix_expression_StartIndex)
-
- self.postfix_expression_stack.pop()
- pass
-
- return
-
- # $ANTLR end postfix_expression
-
-
- # $ANTLR start macro_parameter_list
- # C.g:419:1: macro_parameter_list : parameter_declaration ( ',' parameter_declaration )* ;
- def macro_parameter_list(self, ):
-
- macro_parameter_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 42):
- return
-
- # C.g:420:2: ( parameter_declaration ( ',' parameter_declaration )* )
- # C.g:420:4: parameter_declaration ( ',' parameter_declaration )*
- self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1559)
- self.parameter_declaration()
- self.following.pop()
- if self.failed:
- return
- # C.g:420:26: ( ',' parameter_declaration )*
- while True: #loop66
- alt66 = 2
- LA66_0 = self.input.LA(1)
-
- if (LA66_0 == 27) :
- alt66 = 1
-
-
- if alt66 == 1:
- # C.g:420:27: ',' parameter_declaration
- self.match(self.input, 27, self.FOLLOW_27_in_macro_parameter_list1562)
- if self.failed:
- return
- self.following.append(self.FOLLOW_parameter_declaration_in_macro_parameter_list1564)
- self.parameter_declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop66
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 42, macro_parameter_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end macro_parameter_list
-
-
- # $ANTLR start unary_operator
- # C.g:423:1: unary_operator : ( '&' | '*' | '+' | '-' | '~' | '!' );
- def unary_operator(self, ):
-
- unary_operator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 43):
- return
-
- # C.g:424:2: ( '&' | '*' | '+' | '-' | '~' | '!' )
- # C.g:
- if self.input.LA(1) == 66 or (68 <= self.input.LA(1) <= 69) or (77 <= self.input.LA(1) <= 79):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_unary_operator0
- )
- raise mse
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 43, unary_operator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end unary_operator
-
- class primary_expression_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start primary_expression
- # C.g:432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );
- def primary_expression(self, ):
-
- retval = self.primary_expression_return()
- retval.start = self.input.LT(1)
- primary_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 44):
- return retval
-
- # C.g:433:2: ( IDENTIFIER | constant | '(' expression ')' )
- alt67 = 3
- LA67 = self.input.LA(1)
- if LA67 == IDENTIFIER:
- LA67_1 = self.input.LA(2)
-
- if (LA67_1 == EOF or LA67_1 == 25 or (27 <= LA67_1 <= 28) or LA67_1 == 44 or LA67_1 == 47 or LA67_1 == 53 or (62 <= LA67_1 <= 66) or (68 <= LA67_1 <= 73) or (75 <= LA67_1 <= 77) or (80 <= LA67_1 <= 102)) :
- alt67 = 1
- elif (LA67_1 == IDENTIFIER or LA67_1 == STRING_LITERAL) :
- alt67 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 1, self.input)
-
- raise nvae
-
- elif LA67 == HEX_LITERAL or LA67 == OCTAL_LITERAL or LA67 == DECIMAL_LITERAL or LA67 == CHARACTER_LITERAL or LA67 == STRING_LITERAL or LA67 == FLOATING_POINT_LITERAL:
- alt67 = 2
- elif LA67 == 62:
- alt67 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("432:1: primary_expression : ( IDENTIFIER | constant | '(' expression ')' );", 67, 0, self.input)
-
- raise nvae
-
- if alt67 == 1:
- # C.g:433:4: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_primary_expression1613)
- if self.failed:
- return retval
-
-
- elif alt67 == 2:
- # C.g:434:4: constant
- self.following.append(self.FOLLOW_constant_in_primary_expression1618)
- self.constant()
- self.following.pop()
- if self.failed:
- return retval
-
-
- elif alt67 == 3:
- # C.g:435:4: '(' expression ')'
- self.match(self.input, 62, self.FOLLOW_62_in_primary_expression1623)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_expression_in_primary_expression1625)
- self.expression()
- self.following.pop()
- if self.failed:
- return retval
- self.match(self.input, 63, self.FOLLOW_63_in_primary_expression1627)
- if self.failed:
- return retval
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 44, primary_expression_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end primary_expression
-
-
- # $ANTLR start constant
- # C.g:438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );
- def constant(self, ):
-
- constant_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 45):
- return
-
- # C.g:439:5: ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL )
- alt72 = 6
- LA72 = self.input.LA(1)
- if LA72 == HEX_LITERAL:
- alt72 = 1
- elif LA72 == OCTAL_LITERAL:
- alt72 = 2
- elif LA72 == DECIMAL_LITERAL:
- alt72 = 3
- elif LA72 == CHARACTER_LITERAL:
- alt72 = 4
- elif LA72 == IDENTIFIER or LA72 == STRING_LITERAL:
- alt72 = 5
- elif LA72 == FLOATING_POINT_LITERAL:
- alt72 = 6
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("438:1: constant : ( HEX_LITERAL | OCTAL_LITERAL | DECIMAL_LITERAL | CHARACTER_LITERAL | ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )* | FLOATING_POINT_LITERAL );", 72, 0, self.input)
-
- raise nvae
-
- if alt72 == 1:
- # C.g:439:9: HEX_LITERAL
- self.match(self.input, HEX_LITERAL, self.FOLLOW_HEX_LITERAL_in_constant1643)
- if self.failed:
- return
-
-
- elif alt72 == 2:
- # C.g:440:9: OCTAL_LITERAL
- self.match(self.input, OCTAL_LITERAL, self.FOLLOW_OCTAL_LITERAL_in_constant1653)
- if self.failed:
- return
-
-
- elif alt72 == 3:
- # C.g:441:9: DECIMAL_LITERAL
- self.match(self.input, DECIMAL_LITERAL, self.FOLLOW_DECIMAL_LITERAL_in_constant1663)
- if self.failed:
- return
-
-
- elif alt72 == 4:
- # C.g:442:7: CHARACTER_LITERAL
- self.match(self.input, CHARACTER_LITERAL, self.FOLLOW_CHARACTER_LITERAL_in_constant1671)
- if self.failed:
- return
-
-
- elif alt72 == 5:
- # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+ ( IDENTIFIER )*
- # C.g:443:7: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )+
- cnt70 = 0
- while True: #loop70
- alt70 = 2
- LA70_0 = self.input.LA(1)
-
- if (LA70_0 == IDENTIFIER) :
- LA70_1 = self.input.LA(2)
-
- if (LA70_1 == STRING_LITERAL) :
- alt70 = 1
- elif (LA70_1 == IDENTIFIER) :
- LA70_33 = self.input.LA(3)
-
- if (self.synpred138()) :
- alt70 = 1
-
-
-
-
- elif (LA70_0 == STRING_LITERAL) :
- alt70 = 1
-
-
- if alt70 == 1:
- # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
- # C.g:443:8: ( IDENTIFIER )*
- while True: #loop68
- alt68 = 2
- LA68_0 = self.input.LA(1)
-
- if (LA68_0 == IDENTIFIER) :
- alt68 = 1
-
-
- if alt68 == 1:
- # C.g:0:0: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1680)
- if self.failed:
- return
-
-
- else:
- break #loop68
-
-
- # C.g:443:20: ( STRING_LITERAL )+
- cnt69 = 0
- while True: #loop69
- alt69 = 2
- LA69_0 = self.input.LA(1)
-
- if (LA69_0 == STRING_LITERAL) :
- LA69_31 = self.input.LA(2)
-
- if (self.synpred137()) :
- alt69 = 1
-
-
-
-
- if alt69 == 1:
- # C.g:0:0: STRING_LITERAL
- self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_constant1683)
- if self.failed:
- return
-
-
- else:
- if cnt69 >= 1:
- break #loop69
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(69, self.input)
- raise eee
-
- cnt69 += 1
-
-
-
-
- else:
- if cnt70 >= 1:
- break #loop70
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(70, self.input)
- raise eee
-
- cnt70 += 1
-
-
- # C.g:443:38: ( IDENTIFIER )*
- while True: #loop71
- alt71 = 2
- LA71_0 = self.input.LA(1)
-
- if (LA71_0 == IDENTIFIER) :
- alt71 = 1
-
-
- if alt71 == 1:
- # C.g:0:0: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_constant1688)
- if self.failed:
- return
-
-
- else:
- break #loop71
-
-
-
-
- elif alt72 == 6:
- # C.g:444:9: FLOATING_POINT_LITERAL
- self.match(self.input, FLOATING_POINT_LITERAL, self.FOLLOW_FLOATING_POINT_LITERAL_in_constant1699)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 45, constant_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end constant
-
- class expression_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start expression
- # C.g:449:1: expression : assignment_expression ( ',' assignment_expression )* ;
- def expression(self, ):
-
- retval = self.expression_return()
- retval.start = self.input.LT(1)
- expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 46):
- return retval
-
- # C.g:450:2: ( assignment_expression ( ',' assignment_expression )* )
- # C.g:450:4: assignment_expression ( ',' assignment_expression )*
- self.following.append(self.FOLLOW_assignment_expression_in_expression1715)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:450:26: ( ',' assignment_expression )*
- while True: #loop73
- alt73 = 2
- LA73_0 = self.input.LA(1)
-
- if (LA73_0 == 27) :
- alt73 = 1
-
-
- if alt73 == 1:
- # C.g:450:27: ',' assignment_expression
- self.match(self.input, 27, self.FOLLOW_27_in_expression1718)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_assignment_expression_in_expression1720)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return retval
-
-
- else:
- break #loop73
-
-
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 46, expression_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end expression
-
-
- # $ANTLR start constant_expression
- # C.g:453:1: constant_expression : conditional_expression ;
- def constant_expression(self, ):
-
- constant_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 47):
- return
-
- # C.g:454:2: ( conditional_expression )
- # C.g:454:4: conditional_expression
- self.following.append(self.FOLLOW_conditional_expression_in_constant_expression1733)
- self.conditional_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 47, constant_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end constant_expression
-
-
- # $ANTLR start assignment_expression
- # C.g:457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );
- def assignment_expression(self, ):
-
- assignment_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 48):
- return
-
- # C.g:458:2: ( lvalue assignment_operator assignment_expression | conditional_expression )
- alt74 = 2
- LA74 = self.input.LA(1)
- if LA74 == IDENTIFIER:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_13 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 13, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_14 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 14, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_15 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 15, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_16 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 16, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_17 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 17, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_18 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 18, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_19 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 19, self.input)
-
- raise nvae
-
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- elif LA74 == STRING_LITERAL:
- LA74_21 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 21, self.input)
-
- raise nvae
-
- elif LA74 == IDENTIFIER:
- LA74_22 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 22, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 1, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_44 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 44, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_45 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 45, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_46 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 46, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_47 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 47, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_48 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 48, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_49 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 49, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_50 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 50, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 2, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_73 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 73, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_74 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 74, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_75 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 75, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_76 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 76, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_77 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 77, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_78 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 78, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_79 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 79, self.input)
-
- raise nvae
-
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 3, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_102 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 102, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_103 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 103, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_104 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 104, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_105 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 105, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_106 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 106, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_107 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 107, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_108 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 108, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 4, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_131 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 131, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_132 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 132, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_133 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 133, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_134 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 134, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_135 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 135, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_136 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 136, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_137 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 137, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 5, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == IDENTIFIER:
- LA74_160 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 160, self.input)
-
- raise nvae
-
- elif LA74 == 64:
- LA74_161 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 161, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_162 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 162, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_163 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 163, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_164 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 164, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_165 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 165, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_166 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 166, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_167 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 167, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- elif LA74 == STRING_LITERAL:
- LA74_189 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 189, self.input)
-
- raise nvae
-
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 6, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74 = self.input.LA(2)
- if LA74 == 64:
- LA74_191 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 191, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_192 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 192, self.input)
-
- raise nvae
-
- elif LA74 == 75:
- LA74_193 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 193, self.input)
-
- raise nvae
-
- elif LA74 == 66:
- LA74_194 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 194, self.input)
-
- raise nvae
-
- elif LA74 == 76:
- LA74_195 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 195, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_196 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 196, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_197 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 197, self.input)
-
- raise nvae
-
- elif LA74 == EOF or LA74 == 25 or LA74 == 27 or LA74 == 44 or LA74 == 47 or LA74 == 53 or LA74 == 63 or LA74 == 65 or LA74 == 68 or LA74 == 69 or LA74 == 70 or LA74 == 71 or LA74 == 77 or LA74 == 90 or LA74 == 91 or LA74 == 92 or LA74 == 93 or LA74 == 94 or LA74 == 95 or LA74 == 96 or LA74 == 97 or LA74 == 98 or LA74 == 99 or LA74 == 100 or LA74 == 101 or LA74 == 102:
- alt74 = 2
- elif LA74 == 28 or LA74 == 80 or LA74 == 81 or LA74 == 82 or LA74 == 83 or LA74 == 84 or LA74 == 85 or LA74 == 86 or LA74 == 87 or LA74 == 88 or LA74 == 89:
- alt74 = 1
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 7, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74 = self.input.LA(2)
- if LA74 == IDENTIFIER:
- LA74_220 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 220, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74_221 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 221, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74_222 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 222, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74_223 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 223, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74_224 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 224, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74_225 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 225, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74_226 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 226, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_227 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 227, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_228 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 228, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_229 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 229, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74_230 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 230, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74_231 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 231, self.input)
-
- raise nvae
-
- elif LA74 == 34 or LA74 == 35 or LA74 == 36 or LA74 == 37 or LA74 == 38 or LA74 == 39 or LA74 == 40 or LA74 == 41 or LA74 == 42 or LA74 == 45 or LA74 == 46 or LA74 == 48 or LA74 == 49 or LA74 == 50 or LA74 == 51 or LA74 == 52 or LA74 == 53 or LA74 == 54 or LA74 == 55 or LA74 == 56 or LA74 == 57 or LA74 == 58 or LA74 == 59 or LA74 == 60 or LA74 == 61:
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 8, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74 = self.input.LA(2)
- if LA74 == IDENTIFIER:
- LA74_244 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 244, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74_245 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 245, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74_246 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 246, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74_247 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 247, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74_248 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 248, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74_249 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 249, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74_250 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 250, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_251 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 251, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_252 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 252, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_253 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 253, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74_254 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 254, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74_255 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 255, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 9, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74 = self.input.LA(2)
- if LA74 == IDENTIFIER:
- LA74_256 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 256, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74_257 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 257, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74_258 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 258, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74_259 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 259, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74_260 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 260, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74_261 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 261, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74_262 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 262, self.input)
-
- raise nvae
-
- elif LA74 == 62:
- LA74_263 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 263, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_264 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 264, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_265 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 265, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74_266 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 266, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74_267 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 267, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 10, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74 = self.input.LA(2)
- if LA74 == 62:
- LA74_268 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 268, self.input)
-
- raise nvae
-
- elif LA74 == IDENTIFIER:
- LA74_269 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 269, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74_270 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 270, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74_271 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 271, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74_272 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 272, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74_273 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 273, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74_274 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 274, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74_275 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 275, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_276 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 276, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_277 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 277, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74_278 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 278, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74_279 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 279, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 11, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74 = self.input.LA(2)
- if LA74 == 62:
- LA74_280 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 280, self.input)
-
- raise nvae
-
- elif LA74 == IDENTIFIER:
- LA74_281 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 281, self.input)
-
- raise nvae
-
- elif LA74 == HEX_LITERAL:
- LA74_282 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 282, self.input)
-
- raise nvae
-
- elif LA74 == OCTAL_LITERAL:
- LA74_283 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 283, self.input)
-
- raise nvae
-
- elif LA74 == DECIMAL_LITERAL:
- LA74_284 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 284, self.input)
-
- raise nvae
-
- elif LA74 == CHARACTER_LITERAL:
- LA74_285 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 285, self.input)
-
- raise nvae
-
- elif LA74 == STRING_LITERAL:
- LA74_286 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 286, self.input)
-
- raise nvae
-
- elif LA74 == FLOATING_POINT_LITERAL:
- LA74_287 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 287, self.input)
-
- raise nvae
-
- elif LA74 == 72:
- LA74_288 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 288, self.input)
-
- raise nvae
-
- elif LA74 == 73:
- LA74_289 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 289, self.input)
-
- raise nvae
-
- elif LA74 == 66 or LA74 == 68 or LA74 == 69 or LA74 == 77 or LA74 == 78 or LA74 == 79:
- LA74_290 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 290, self.input)
-
- raise nvae
-
- elif LA74 == 74:
- LA74_291 = self.input.LA(3)
-
- if (self.synpred142()) :
- alt74 = 1
- elif (True) :
- alt74 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 291, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 12, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("457:1: assignment_expression : ( lvalue assignment_operator assignment_expression | conditional_expression );", 74, 0, self.input)
-
- raise nvae
-
- if alt74 == 1:
- # C.g:458:4: lvalue assignment_operator assignment_expression
- self.following.append(self.FOLLOW_lvalue_in_assignment_expression1744)
- self.lvalue()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_assignment_operator_in_assignment_expression1746)
- self.assignment_operator()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_assignment_expression_in_assignment_expression1748)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt74 == 2:
- # C.g:459:4: conditional_expression
- self.following.append(self.FOLLOW_conditional_expression_in_assignment_expression1753)
- self.conditional_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 48, assignment_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end assignment_expression
-
-
- # $ANTLR start lvalue
- # C.g:462:1: lvalue : unary_expression ;
- def lvalue(self, ):
-
- lvalue_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 49):
- return
-
- # C.g:463:2: ( unary_expression )
- # C.g:463:4: unary_expression
- self.following.append(self.FOLLOW_unary_expression_in_lvalue1765)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 49, lvalue_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end lvalue
-
-
- # $ANTLR start assignment_operator
- # C.g:466:1: assignment_operator : ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' );
- def assignment_operator(self, ):
-
- assignment_operator_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 50):
- return
-
- # C.g:467:2: ( '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=' )
- # C.g:
- if self.input.LA(1) == 28 or (80 <= self.input.LA(1) <= 89):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_assignment_operator0
- )
- raise mse
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 50, assignment_operator_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end assignment_operator
-
-
- # $ANTLR start conditional_expression
- # C.g:480:1: conditional_expression : e= logical_or_expression ( '?' expression ':' conditional_expression )? ;
- def conditional_expression(self, ):
-
- conditional_expression_StartIndex = self.input.index()
- e = None
-
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 51):
- return
-
- # C.g:481:2: (e= logical_or_expression ( '?' expression ':' conditional_expression )? )
- # C.g:481:4: e= logical_or_expression ( '?' expression ':' conditional_expression )?
- self.following.append(self.FOLLOW_logical_or_expression_in_conditional_expression1839)
- e = self.logical_or_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:481:28: ( '?' expression ':' conditional_expression )?
- alt75 = 2
- LA75_0 = self.input.LA(1)
-
- if (LA75_0 == 90) :
- alt75 = 1
- if alt75 == 1:
- # C.g:481:29: '?' expression ':' conditional_expression
- self.match(self.input, 90, self.FOLLOW_90_in_conditional_expression1842)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_conditional_expression1844)
- self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 47, self.FOLLOW_47_in_conditional_expression1846)
- if self.failed:
- return
- self.following.append(self.FOLLOW_conditional_expression_in_conditional_expression1848)
- self.conditional_expression()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
-
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 51, conditional_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end conditional_expression
-
- class logical_or_expression_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start logical_or_expression
- # C.g:484:1: logical_or_expression : logical_and_expression ( '||' logical_and_expression )* ;
- def logical_or_expression(self, ):
-
- retval = self.logical_or_expression_return()
- retval.start = self.input.LT(1)
- logical_or_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 52):
- return retval
-
- # C.g:485:2: ( logical_and_expression ( '||' logical_and_expression )* )
- # C.g:485:4: logical_and_expression ( '||' logical_and_expression )*
- self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1863)
- self.logical_and_expression()
- self.following.pop()
- if self.failed:
- return retval
- # C.g:485:27: ( '||' logical_and_expression )*
- while True: #loop76
- alt76 = 2
- LA76_0 = self.input.LA(1)
-
- if (LA76_0 == 91) :
- alt76 = 1
-
-
- if alt76 == 1:
- # C.g:485:28: '||' logical_and_expression
- self.match(self.input, 91, self.FOLLOW_91_in_logical_or_expression1866)
- if self.failed:
- return retval
- self.following.append(self.FOLLOW_logical_and_expression_in_logical_or_expression1868)
- self.logical_and_expression()
- self.following.pop()
- if self.failed:
- return retval
-
-
- else:
- break #loop76
-
-
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 52, logical_or_expression_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end logical_or_expression
-
-
- # $ANTLR start logical_and_expression
- # C.g:488:1: logical_and_expression : inclusive_or_expression ( '&&' inclusive_or_expression )* ;
- def logical_and_expression(self, ):
-
- logical_and_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 53):
- return
-
- # C.g:489:2: ( inclusive_or_expression ( '&&' inclusive_or_expression )* )
- # C.g:489:4: inclusive_or_expression ( '&&' inclusive_or_expression )*
- self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1881)
- self.inclusive_or_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:489:28: ( '&&' inclusive_or_expression )*
- while True: #loop77
- alt77 = 2
- LA77_0 = self.input.LA(1)
-
- if (LA77_0 == 92) :
- alt77 = 1
-
-
- if alt77 == 1:
- # C.g:489:29: '&&' inclusive_or_expression
- self.match(self.input, 92, self.FOLLOW_92_in_logical_and_expression1884)
- if self.failed:
- return
- self.following.append(self.FOLLOW_inclusive_or_expression_in_logical_and_expression1886)
- self.inclusive_or_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop77
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 53, logical_and_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end logical_and_expression
-
-
- # $ANTLR start inclusive_or_expression
- # C.g:492:1: inclusive_or_expression : exclusive_or_expression ( '|' exclusive_or_expression )* ;
- def inclusive_or_expression(self, ):
-
- inclusive_or_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 54):
- return
-
- # C.g:493:2: ( exclusive_or_expression ( '|' exclusive_or_expression )* )
- # C.g:493:4: exclusive_or_expression ( '|' exclusive_or_expression )*
- self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899)
- self.exclusive_or_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:493:28: ( '|' exclusive_or_expression )*
- while True: #loop78
- alt78 = 2
- LA78_0 = self.input.LA(1)
-
- if (LA78_0 == 93) :
- alt78 = 1
-
-
- if alt78 == 1:
- # C.g:493:29: '|' exclusive_or_expression
- self.match(self.input, 93, self.FOLLOW_93_in_inclusive_or_expression1902)
- if self.failed:
- return
- self.following.append(self.FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904)
- self.exclusive_or_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop78
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 54, inclusive_or_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end inclusive_or_expression
-
-
- # $ANTLR start exclusive_or_expression
- # C.g:496:1: exclusive_or_expression : and_expression ( '^' and_expression )* ;
- def exclusive_or_expression(self, ):
-
- exclusive_or_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 55):
- return
-
- # C.g:497:2: ( and_expression ( '^' and_expression )* )
- # C.g:497:4: and_expression ( '^' and_expression )*
- self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1917)
- self.and_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:497:19: ( '^' and_expression )*
- while True: #loop79
- alt79 = 2
- LA79_0 = self.input.LA(1)
-
- if (LA79_0 == 94) :
- alt79 = 1
-
-
- if alt79 == 1:
- # C.g:497:20: '^' and_expression
- self.match(self.input, 94, self.FOLLOW_94_in_exclusive_or_expression1920)
- if self.failed:
- return
- self.following.append(self.FOLLOW_and_expression_in_exclusive_or_expression1922)
- self.and_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop79
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 55, exclusive_or_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end exclusive_or_expression
-
-
- # $ANTLR start and_expression
- # C.g:500:1: and_expression : equality_expression ( '&' equality_expression )* ;
- def and_expression(self, ):
-
- and_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 56):
- return
-
- # C.g:501:2: ( equality_expression ( '&' equality_expression )* )
- # C.g:501:4: equality_expression ( '&' equality_expression )*
- self.following.append(self.FOLLOW_equality_expression_in_and_expression1935)
- self.equality_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:501:24: ( '&' equality_expression )*
- while True: #loop80
- alt80 = 2
- LA80_0 = self.input.LA(1)
-
- if (LA80_0 == 77) :
- alt80 = 1
-
-
- if alt80 == 1:
- # C.g:501:25: '&' equality_expression
- self.match(self.input, 77, self.FOLLOW_77_in_and_expression1938)
- if self.failed:
- return
- self.following.append(self.FOLLOW_equality_expression_in_and_expression1940)
- self.equality_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop80
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 56, and_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end and_expression
-
-
- # $ANTLR start equality_expression
- # C.g:503:1: equality_expression : relational_expression ( ( '==' | '!=' ) relational_expression )* ;
- def equality_expression(self, ):
-
- equality_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 57):
- return
-
- # C.g:504:2: ( relational_expression ( ( '==' | '!=' ) relational_expression )* )
- # C.g:504:4: relational_expression ( ( '==' | '!=' ) relational_expression )*
- self.following.append(self.FOLLOW_relational_expression_in_equality_expression1952)
- self.relational_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:504:26: ( ( '==' | '!=' ) relational_expression )*
- while True: #loop81
- alt81 = 2
- LA81_0 = self.input.LA(1)
-
- if ((95 <= LA81_0 <= 96)) :
- alt81 = 1
-
-
- if alt81 == 1:
- # C.g:504:27: ( '==' | '!=' ) relational_expression
- if (95 <= self.input.LA(1) <= 96):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_equality_expression1955
- )
- raise mse
-
-
- self.following.append(self.FOLLOW_relational_expression_in_equality_expression1961)
- self.relational_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop81
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 57, equality_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end equality_expression
-
-
- # $ANTLR start relational_expression
- # C.g:507:1: relational_expression : shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* ;
- def relational_expression(self, ):
-
- relational_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 58):
- return
-
- # C.g:508:2: ( shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )* )
- # C.g:508:4: shift_expression ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
- self.following.append(self.FOLLOW_shift_expression_in_relational_expression1975)
- self.shift_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:508:21: ( ( '<' | '>' | '<=' | '>=' ) shift_expression )*
- while True: #loop82
- alt82 = 2
- LA82_0 = self.input.LA(1)
-
- if ((97 <= LA82_0 <= 100)) :
- alt82 = 1
-
-
- if alt82 == 1:
- # C.g:508:22: ( '<' | '>' | '<=' | '>=' ) shift_expression
- if (97 <= self.input.LA(1) <= 100):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_relational_expression1978
- )
- raise mse
-
-
- self.following.append(self.FOLLOW_shift_expression_in_relational_expression1988)
- self.shift_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop82
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 58, relational_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end relational_expression
-
-
- # $ANTLR start shift_expression
- # C.g:511:1: shift_expression : additive_expression ( ( '<<' | '>>' ) additive_expression )* ;
- def shift_expression(self, ):
-
- shift_expression_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 59):
- return
-
- # C.g:512:2: ( additive_expression ( ( '<<' | '>>' ) additive_expression )* )
- # C.g:512:4: additive_expression ( ( '<<' | '>>' ) additive_expression )*
- self.following.append(self.FOLLOW_additive_expression_in_shift_expression2001)
- self.additive_expression()
- self.following.pop()
- if self.failed:
- return
- # C.g:512:24: ( ( '<<' | '>>' ) additive_expression )*
- while True: #loop83
- alt83 = 2
- LA83_0 = self.input.LA(1)
-
- if ((101 <= LA83_0 <= 102)) :
- alt83 = 1
-
-
- if alt83 == 1:
- # C.g:512:25: ( '<<' | '>>' ) additive_expression
- if (101 <= self.input.LA(1) <= 102):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_shift_expression2004
- )
- raise mse
-
-
- self.following.append(self.FOLLOW_additive_expression_in_shift_expression2010)
- self.additive_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop83
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 59, shift_expression_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end shift_expression
-
-
- # $ANTLR start statement
- # C.g:517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );
- def statement(self, ):
-
- statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 60):
- return
-
- # C.g:518:2: ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration )
- alt84 = 11
- LA84 = self.input.LA(1)
- if LA84 == IDENTIFIER:
- LA84 = self.input.LA(2)
- if LA84 == 62:
- LA84_43 = self.input.LA(3)
-
- if (self.synpred169()) :
- alt84 = 3
- elif (self.synpred173()) :
- alt84 = 7
- elif (self.synpred174()) :
- alt84 = 8
- elif (True) :
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 43, self.input)
-
- raise nvae
-
- elif LA84 == 47:
- alt84 = 1
- elif LA84 == STRING_LITERAL or LA84 == 27 or LA84 == 28 or LA84 == 64 or LA84 == 68 or LA84 == 69 or LA84 == 70 or LA84 == 71 or LA84 == 72 or LA84 == 73 or LA84 == 75 or LA84 == 76 or LA84 == 77 or LA84 == 80 or LA84 == 81 or LA84 == 82 or LA84 == 83 or LA84 == 84 or LA84 == 85 or LA84 == 86 or LA84 == 87 or LA84 == 88 or LA84 == 89 or LA84 == 90 or LA84 == 91 or LA84 == 92 or LA84 == 93 or LA84 == 94 or LA84 == 95 or LA84 == 96 or LA84 == 97 or LA84 == 98 or LA84 == 99 or LA84 == 100 or LA84 == 101 or LA84 == 102:
- alt84 = 3
- elif LA84 == 66:
- LA84_47 = self.input.LA(3)
-
- if (self.synpred169()) :
- alt84 = 3
- elif (True) :
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 47, self.input)
-
- raise nvae
-
- elif LA84 == IDENTIFIER:
- LA84_53 = self.input.LA(3)
-
- if (self.synpred169()) :
- alt84 = 3
- elif (True) :
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 53, self.input)
-
- raise nvae
-
- elif LA84 == 25:
- LA84_68 = self.input.LA(3)
-
- if (self.synpred169()) :
- alt84 = 3
- elif (True) :
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 68, self.input)
-
- raise nvae
-
- elif LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 1, self.input)
-
- raise nvae
-
- elif LA84 == 106 or LA84 == 107:
- alt84 = 1
- elif LA84 == 43:
- alt84 = 2
- elif LA84 == HEX_LITERAL or LA84 == OCTAL_LITERAL or LA84 == DECIMAL_LITERAL or LA84 == CHARACTER_LITERAL or LA84 == STRING_LITERAL or LA84 == FLOATING_POINT_LITERAL or LA84 == 25 or LA84 == 62 or LA84 == 66 or LA84 == 68 or LA84 == 69 or LA84 == 72 or LA84 == 73 or LA84 == 74 or LA84 == 77 or LA84 == 78 or LA84 == 79:
- alt84 = 3
- elif LA84 == 108 or LA84 == 110:
- alt84 = 4
- elif LA84 == 111 or LA84 == 112 or LA84 == 113:
- alt84 = 5
- elif LA84 == 114 or LA84 == 115 or LA84 == 116 or LA84 == 117:
- alt84 = 6
- elif LA84 == 103:
- alt84 = 8
- elif LA84 == 104:
- alt84 = 9
- elif LA84 == 105:
- alt84 = 10
- elif LA84 == 26 or LA84 == 29 or LA84 == 30 or LA84 == 31 or LA84 == 32 or LA84 == 33 or LA84 == 34 or LA84 == 35 or LA84 == 36 or LA84 == 37 or LA84 == 38 or LA84 == 39 or LA84 == 40 or LA84 == 41 or LA84 == 42 or LA84 == 45 or LA84 == 46 or LA84 == 48 or LA84 == 49 or LA84 == 50 or LA84 == 51 or LA84 == 52 or LA84 == 53 or LA84 == 54 or LA84 == 55 or LA84 == 56 or LA84 == 57 or LA84 == 58 or LA84 == 59 or LA84 == 60 or LA84 == 61:
- alt84 = 11
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("517:1: statement : ( labeled_statement | compound_statement | expression_statement | selection_statement | iteration_statement | jump_statement | macro_statement | asm2_statement | asm1_statement | asm_statement | declaration );", 84, 0, self.input)
-
- raise nvae
-
- if alt84 == 1:
- # C.g:518:4: labeled_statement
- self.following.append(self.FOLLOW_labeled_statement_in_statement2025)
- self.labeled_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 2:
- # C.g:519:4: compound_statement
- self.following.append(self.FOLLOW_compound_statement_in_statement2030)
- self.compound_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 3:
- # C.g:520:4: expression_statement
- self.following.append(self.FOLLOW_expression_statement_in_statement2035)
- self.expression_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 4:
- # C.g:521:4: selection_statement
- self.following.append(self.FOLLOW_selection_statement_in_statement2040)
- self.selection_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 5:
- # C.g:522:4: iteration_statement
- self.following.append(self.FOLLOW_iteration_statement_in_statement2045)
- self.iteration_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 6:
- # C.g:523:4: jump_statement
- self.following.append(self.FOLLOW_jump_statement_in_statement2050)
- self.jump_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 7:
- # C.g:524:4: macro_statement
- self.following.append(self.FOLLOW_macro_statement_in_statement2055)
- self.macro_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 8:
- # C.g:525:4: asm2_statement
- self.following.append(self.FOLLOW_asm2_statement_in_statement2060)
- self.asm2_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 9:
- # C.g:526:4: asm1_statement
- self.following.append(self.FOLLOW_asm1_statement_in_statement2065)
- self.asm1_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 10:
- # C.g:527:4: asm_statement
- self.following.append(self.FOLLOW_asm_statement_in_statement2070)
- self.asm_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt84 == 11:
- # C.g:528:4: declaration
- self.following.append(self.FOLLOW_declaration_in_statement2075)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 60, statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end statement
-
-
- # $ANTLR start asm2_statement
- # C.g:531:1: asm2_statement : ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' ;
- def asm2_statement(self, ):
-
- asm2_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 61):
- return
-
- # C.g:532:2: ( ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';' )
- # C.g:532:4: ( '__asm__' )? IDENTIFIER '(' (~ ( ';' ) )* ')' ';'
- # C.g:532:4: ( '__asm__' )?
- alt85 = 2
- LA85_0 = self.input.LA(1)
-
- if (LA85_0 == 103) :
- alt85 = 1
- if alt85 == 1:
- # C.g:0:0: '__asm__'
- self.match(self.input, 103, self.FOLLOW_103_in_asm2_statement2086)
- if self.failed:
- return
-
-
-
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_asm2_statement2089)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_asm2_statement2091)
- if self.failed:
- return
- # C.g:532:30: (~ ( ';' ) )*
- while True: #loop86
- alt86 = 2
- LA86_0 = self.input.LA(1)
-
- if (LA86_0 == 63) :
- LA86_1 = self.input.LA(2)
-
- if ((IDENTIFIER <= LA86_1 <= LINE_COMMAND) or (26 <= LA86_1 <= 117)) :
- alt86 = 1
-
-
- elif ((IDENTIFIER <= LA86_0 <= LINE_COMMAND) or (26 <= LA86_0 <= 62) or (64 <= LA86_0 <= 117)) :
- alt86 = 1
-
-
- if alt86 == 1:
- # C.g:532:31: ~ ( ';' )
- if (IDENTIFIER <= self.input.LA(1) <= LINE_COMMAND) or (26 <= self.input.LA(1) <= 117):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_asm2_statement2094
- )
- raise mse
-
-
-
-
- else:
- break #loop86
-
-
- self.match(self.input, 63, self.FOLLOW_63_in_asm2_statement2101)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_asm2_statement2103)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 61, asm2_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end asm2_statement
-
-
- # $ANTLR start asm1_statement
- # C.g:535:1: asm1_statement : '_asm' '{' (~ ( '}' ) )* '}' ;
- def asm1_statement(self, ):
-
- asm1_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 62):
- return
-
- # C.g:536:2: ( '_asm' '{' (~ ( '}' ) )* '}' )
- # C.g:536:4: '_asm' '{' (~ ( '}' ) )* '}'
- self.match(self.input, 104, self.FOLLOW_104_in_asm1_statement2115)
- if self.failed:
- return
- self.match(self.input, 43, self.FOLLOW_43_in_asm1_statement2117)
- if self.failed:
- return
- # C.g:536:15: (~ ( '}' ) )*
- while True: #loop87
- alt87 = 2
- LA87_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA87_0 <= 43) or (45 <= LA87_0 <= 117)) :
- alt87 = 1
-
-
- if alt87 == 1:
- # C.g:536:16: ~ ( '}' )
- if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_asm1_statement2120
- )
- raise mse
-
-
-
-
- else:
- break #loop87
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_asm1_statement2127)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 62, asm1_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end asm1_statement
-
-
- # $ANTLR start asm_statement
- # C.g:539:1: asm_statement : '__asm' '{' (~ ( '}' ) )* '}' ;
- def asm_statement(self, ):
-
- asm_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 63):
- return
-
- # C.g:540:2: ( '__asm' '{' (~ ( '}' ) )* '}' )
- # C.g:540:4: '__asm' '{' (~ ( '}' ) )* '}'
- self.match(self.input, 105, self.FOLLOW_105_in_asm_statement2138)
- if self.failed:
- return
- self.match(self.input, 43, self.FOLLOW_43_in_asm_statement2140)
- if self.failed:
- return
- # C.g:540:16: (~ ( '}' ) )*
- while True: #loop88
- alt88 = 2
- LA88_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA88_0 <= 43) or (45 <= LA88_0 <= 117)) :
- alt88 = 1
-
-
- if alt88 == 1:
- # C.g:540:17: ~ ( '}' )
- if (IDENTIFIER <= self.input.LA(1) <= 43) or (45 <= self.input.LA(1) <= 117):
- self.input.consume();
- self.errorRecovery = False
- self.failed = False
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- mse = MismatchedSetException(None, self.input)
- self.recoverFromMismatchedSet(
- self.input, mse, self.FOLLOW_set_in_asm_statement2143
- )
- raise mse
-
-
-
-
- else:
- break #loop88
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_asm_statement2150)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 63, asm_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end asm_statement
-
-
- # $ANTLR start macro_statement
- # C.g:543:1: macro_statement : IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' ;
- def macro_statement(self, ):
-
- macro_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 64):
- return
-
- # C.g:544:2: ( IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')' )
- # C.g:544:4: IDENTIFIER '(' ( declaration )* ( statement_list )? ( expression )? ')'
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_macro_statement2162)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_macro_statement2164)
- if self.failed:
- return
- # C.g:544:19: ( declaration )*
- while True: #loop89
- alt89 = 2
- LA89 = self.input.LA(1)
- if LA89 == IDENTIFIER:
- LA89 = self.input.LA(2)
- if LA89 == 62:
- LA89_45 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_47 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 66:
- LA89_50 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_68 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_71 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_72 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_73 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_74 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_75 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_76 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_77 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_78 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_79 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_80 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_81 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_82 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_83 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_84 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_85 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_86 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 26:
- LA89 = self.input.LA(2)
- if LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_87 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_88 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_89 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_90 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_91 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_92 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_93 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_94 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_95 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_96 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_97 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_98 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_99 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_100 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 66:
- LA89_101 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_102 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_103 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_104 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_105 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_106 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_107 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_108 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_109 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_110 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_111 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_112 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_113 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_114 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_115 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_116 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_117 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_118 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_119 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_120 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_121 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_122 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_123 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_124 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_125 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 34:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_126 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_127 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_128 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_129 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_130 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_131 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_132 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_133 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_134 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_135 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_136 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_137 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_138 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_139 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_140 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_141 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_142 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_143 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_144 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_145 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 35:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_146 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_147 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_148 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_149 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_150 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_151 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_152 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_153 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_154 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_155 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_156 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_157 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_158 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_159 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_160 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_161 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_162 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_163 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_164 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_165 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 36:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_166 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_167 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_168 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_169 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_170 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_171 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_172 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_173 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_174 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_175 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_176 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_177 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_178 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_179 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_180 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_181 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_182 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_183 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_184 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_185 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 37:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_186 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_187 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_188 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_189 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_190 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_191 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_192 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_193 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_194 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_195 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_196 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_197 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_198 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_199 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_200 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_201 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_202 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_203 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_204 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_205 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 38:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_206 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_207 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_208 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_209 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_210 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_211 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_212 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_213 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_214 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_215 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_216 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_217 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_218 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_219 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_220 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_221 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_222 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_223 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_224 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_225 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 39:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_226 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_227 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_228 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_229 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_230 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_231 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_232 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_233 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_234 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_235 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_236 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_237 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_238 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_239 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_240 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_241 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_242 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_243 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_244 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_245 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 40:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_246 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_247 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_248 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_249 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_250 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_251 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_252 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_253 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_254 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_255 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_256 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_257 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_258 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_259 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_260 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_261 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_262 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_263 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_264 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_265 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 41:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_266 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_267 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_268 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_269 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_270 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_271 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_272 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_273 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_274 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_275 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_276 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_277 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_278 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_279 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_280 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_281 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_282 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_283 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_284 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_285 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 42:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_286 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_287 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_288 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_289 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_290 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_291 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_292 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_293 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_294 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_295 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_296 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_297 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_298 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_299 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_300 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_301 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_302 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_303 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_304 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_305 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_40 = self.input.LA(2)
-
- if (LA89_40 == IDENTIFIER) :
- LA89_306 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif (LA89_40 == 43) :
- LA89_307 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
-
- elif LA89 == 48:
- LA89_41 = self.input.LA(2)
-
- if (LA89_41 == 43) :
- LA89_308 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif (LA89_41 == IDENTIFIER) :
- LA89_309 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 58 or LA89 == 59 or LA89 == 60 or LA89 == 61:
- LA89 = self.input.LA(2)
- if LA89 == 66:
- LA89_310 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 58:
- LA89_311 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 59:
- LA89_312 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 60:
- LA89_313 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == IDENTIFIER:
- LA89_314 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 62:
- LA89_315 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 25:
- LA89_316 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 29 or LA89 == 30 or LA89 == 31 or LA89 == 32 or LA89 == 33:
- LA89_317 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 34:
- LA89_318 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 35:
- LA89_319 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 36:
- LA89_320 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 37:
- LA89_321 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 38:
- LA89_322 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 39:
- LA89_323 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 40:
- LA89_324 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 41:
- LA89_325 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 42:
- LA89_326 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 45 or LA89 == 46:
- LA89_327 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 48:
- LA89_328 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
- elif LA89 == 49 or LA89 == 50 or LA89 == 51 or LA89 == 52 or LA89 == 53 or LA89 == 54 or LA89 == 55 or LA89 == 56 or LA89 == 57 or LA89 == 61:
- LA89_329 = self.input.LA(3)
-
- if (self.synpred181()) :
- alt89 = 1
-
-
-
-
- if alt89 == 1:
- # C.g:0:0: declaration
- self.following.append(self.FOLLOW_declaration_in_macro_statement2166)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop89
-
-
- # C.g:544:33: ( statement_list )?
- alt90 = 2
- LA90 = self.input.LA(1)
- if LA90 == IDENTIFIER:
- LA90 = self.input.LA(2)
- if LA90 == 25 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 45 or LA90 == 46 or LA90 == 47 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
- alt90 = 1
- elif LA90 == 62:
- LA90_45 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_46 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == IDENTIFIER:
- LA90_47 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 64:
- LA90_48 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_49 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_50 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_51 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_52 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_53 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_54 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_55 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_56 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_57 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_58 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_59 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_60 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_61 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_62 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_63 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_64 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_65 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_66 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_67 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_70 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25 or LA90 == 26 or LA90 == 29 or LA90 == 30 or LA90 == 31 or LA90 == 32 or LA90 == 33 or LA90 == 34 or LA90 == 35 or LA90 == 36 or LA90 == 37 or LA90 == 38 or LA90 == 39 or LA90 == 40 or LA90 == 41 or LA90 == 42 or LA90 == 43 or LA90 == 45 or LA90 == 46 or LA90 == 48 or LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61 or LA90 == 103 or LA90 == 104 or LA90 == 105 or LA90 == 106 or LA90 == 107 or LA90 == 108 or LA90 == 110 or LA90 == 111 or LA90 == 112 or LA90 == 113 or LA90 == 114 or LA90 == 115 or LA90 == 116 or LA90 == 117:
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == 64:
- LA90_87 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_88 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_89 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_90 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_91 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_92 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_93 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_94 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_95 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_96 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_97 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_98 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_99 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_100 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_101 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_102 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_103 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_104 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_105 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_106 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_107 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_108 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == 64:
- LA90_111 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_112 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_113 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_114 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_115 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_116 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_117 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_118 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_119 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_120 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_121 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_122 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_123 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_124 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_125 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_126 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_127 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_128 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_129 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_130 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_131 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_134 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == 64:
- LA90_135 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_136 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_137 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_138 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_139 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_140 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_141 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_142 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_143 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_144 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_145 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_146 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_147 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_148 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_149 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_150 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_151 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_152 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_153 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_154 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_155 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_156 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == 64:
- LA90_159 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_160 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_161 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_162 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_163 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_164 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_165 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_166 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_167 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_168 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_169 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_170 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_171 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_172 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_173 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_174 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_175 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_176 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_177 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_178 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_179 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_181 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == IDENTIFIER:
- LA90_183 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 64:
- LA90_184 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_185 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_186 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_187 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_188 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_189 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_190 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_191 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_192 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_193 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_194 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_195 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_196 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_197 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_198 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_199 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_200 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_201 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_202 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_203 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_204 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_205 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_206 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90 = self.input.LA(2)
- if LA90 == 64:
- LA90_209 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_210 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 75:
- LA90_211 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66:
- LA90_212 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 76:
- LA90_213 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_214 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_215 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 28 or LA90 == 80 or LA90 == 81 or LA90 == 82 or LA90 == 83 or LA90 == 84 or LA90 == 85 or LA90 == 86 or LA90 == 87 or LA90 == 88 or LA90 == 89:
- LA90_216 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 70:
- LA90_217 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 71:
- LA90_218 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 68:
- LA90_219 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 69:
- LA90_220 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 101 or LA90 == 102:
- LA90_221 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 97 or LA90 == 98 or LA90 == 99 or LA90 == 100:
- LA90_222 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 95 or LA90 == 96:
- LA90_223 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 77:
- LA90_224 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 94:
- LA90_225 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 93:
- LA90_226 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 92:
- LA90_227 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 91:
- LA90_228 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 90:
- LA90_229 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 27:
- LA90_230 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 25:
- alt90 = 1
- elif LA90 == 62:
- LA90 = self.input.LA(2)
- if LA90 == IDENTIFIER:
- LA90_233 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90_234 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90_235 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90_236 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90_237 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_238 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90_239 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_240 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_241 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_242 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90_243 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90_244 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 49 or LA90 == 50 or LA90 == 51 or LA90 == 52 or LA90 == 53 or LA90 == 54 or LA90 == 55 or LA90 == 56 or LA90 == 57 or LA90 == 58 or LA90 == 59 or LA90 == 60 or LA90 == 61:
- LA90_245 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 34:
- LA90_246 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 35:
- LA90_247 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 36:
- LA90_248 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 37:
- LA90_249 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 38:
- LA90_250 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 39:
- LA90_251 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 40:
- LA90_252 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 41:
- LA90_253 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 42:
- LA90_254 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 45 or LA90 == 46:
- LA90_255 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 48:
- LA90_256 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90 = self.input.LA(2)
- if LA90 == IDENTIFIER:
- LA90_257 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90_258 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90_259 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90_260 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90_261 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_262 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90_263 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_264 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_265 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_266 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90_267 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90_268 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90 = self.input.LA(2)
- if LA90 == IDENTIFIER:
- LA90_269 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90_270 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90_271 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90_272 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90_273 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_274 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90_275 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 62:
- LA90_276 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_277 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_278 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90_279 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90_280 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90 = self.input.LA(2)
- if LA90 == 62:
- LA90_281 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == IDENTIFIER:
- LA90_282 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90_283 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90_284 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90_285 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90_286 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_287 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90_288 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_289 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_290 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90_291 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90_292 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90 = self.input.LA(2)
- if LA90 == 62:
- LA90_293 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == IDENTIFIER:
- LA90_294 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == HEX_LITERAL:
- LA90_295 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == OCTAL_LITERAL:
- LA90_296 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == DECIMAL_LITERAL:
- LA90_297 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == CHARACTER_LITERAL:
- LA90_298 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == STRING_LITERAL:
- LA90_299 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == FLOATING_POINT_LITERAL:
- LA90_300 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 72:
- LA90_301 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 73:
- LA90_302 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 66 or LA90 == 68 or LA90 == 69 or LA90 == 77 or LA90 == 78 or LA90 == 79:
- LA90_303 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- elif LA90 == 74:
- LA90_304 = self.input.LA(3)
-
- if (self.synpred182()) :
- alt90 = 1
- if alt90 == 1:
- # C.g:0:0: statement_list
- self.following.append(self.FOLLOW_statement_list_in_macro_statement2170)
- self.statement_list()
- self.following.pop()
- if self.failed:
- return
-
-
-
- # C.g:544:49: ( expression )?
- alt91 = 2
- LA91_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA91_0 <= FLOATING_POINT_LITERAL) or LA91_0 == 62 or LA91_0 == 66 or (68 <= LA91_0 <= 69) or (72 <= LA91_0 <= 74) or (77 <= LA91_0 <= 79)) :
- alt91 = 1
- if alt91 == 1:
- # C.g:0:0: expression
- self.following.append(self.FOLLOW_expression_in_macro_statement2173)
- self.expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- self.match(self.input, 63, self.FOLLOW_63_in_macro_statement2176)
- if self.failed:
- return
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 64, macro_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end macro_statement
-
-
- # $ANTLR start labeled_statement
- # C.g:547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );
- def labeled_statement(self, ):
-
- labeled_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 65):
- return
-
- # C.g:548:2: ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement )
- alt92 = 3
- LA92 = self.input.LA(1)
- if LA92 == IDENTIFIER:
- alt92 = 1
- elif LA92 == 106:
- alt92 = 2
- elif LA92 == 107:
- alt92 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("547:1: labeled_statement : ( IDENTIFIER ':' statement | 'case' constant_expression ':' statement | 'default' ':' statement );", 92, 0, self.input)
-
- raise nvae
-
- if alt92 == 1:
- # C.g:548:4: IDENTIFIER ':' statement
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_labeled_statement2188)
- if self.failed:
- return
- self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2190)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_labeled_statement2192)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt92 == 2:
- # C.g:549:4: 'case' constant_expression ':' statement
- self.match(self.input, 106, self.FOLLOW_106_in_labeled_statement2197)
- if self.failed:
- return
- self.following.append(self.FOLLOW_constant_expression_in_labeled_statement2199)
- self.constant_expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2201)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_labeled_statement2203)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt92 == 3:
- # C.g:550:4: 'default' ':' statement
- self.match(self.input, 107, self.FOLLOW_107_in_labeled_statement2208)
- if self.failed:
- return
- self.match(self.input, 47, self.FOLLOW_47_in_labeled_statement2210)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_labeled_statement2212)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 65, labeled_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end labeled_statement
-
- class compound_statement_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start compound_statement
- # C.g:553:1: compound_statement : '{' ( declaration )* ( statement_list )? '}' ;
- def compound_statement(self, ):
-
- retval = self.compound_statement_return()
- retval.start = self.input.LT(1)
- compound_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
- return retval
-
- # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
- # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
- self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
- if self.failed:
- return retval
- # C.g:554:8: ( declaration )*
- while True: #loop93
- alt93 = 2
- LA93 = self.input.LA(1)
- if LA93 == IDENTIFIER:
- LA93 = self.input.LA(2)
- if LA93 == 62:
- LA93_44 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_47 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 66:
- LA93_48 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_49 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_50 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_51 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_52 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_53 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_54 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_55 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_56 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_57 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_58 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_59 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_60 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_61 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_62 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_63 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_64 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_65 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 26:
- LA93 = self.input.LA(2)
- if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_86 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_87 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_88 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_89 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_90 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_91 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_92 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_93 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_94 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_95 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_96 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_97 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_98 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_99 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 66:
- LA93_100 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_101 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_102 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_103 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_104 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_105 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_106 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_107 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_108 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_109 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_110 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_111 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_112 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_113 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_114 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_115 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_116 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_117 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_118 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_119 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_120 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_121 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_122 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_123 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_124 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 34:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_125 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_126 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_127 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_128 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_129 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_130 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_131 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_132 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_133 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_134 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_135 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_136 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_137 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_138 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_139 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_140 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_141 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_142 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_143 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_144 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 35:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_145 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_146 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_147 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_148 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_149 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_150 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_151 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_152 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_153 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_154 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_155 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_156 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_157 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_158 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_159 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_160 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_161 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_162 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_163 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_164 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 36:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_165 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_166 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_167 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_168 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_169 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_170 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_171 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_172 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_173 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_174 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_175 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_176 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_177 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_178 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_179 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_180 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_181 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_182 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_183 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_184 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 37:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_185 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_186 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_187 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_188 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_189 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_190 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_191 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_192 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_193 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_194 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_195 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_196 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_197 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_198 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_199 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_200 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_201 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_202 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_203 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_204 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 38:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_205 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_206 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_207 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_208 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_209 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_210 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_211 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_212 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_213 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_214 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_215 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_216 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_217 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_218 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_219 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_220 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_221 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_222 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_223 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_224 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 39:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_225 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_226 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_227 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_228 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_229 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_230 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_231 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_232 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_233 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_234 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_235 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_236 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_237 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_238 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_239 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_240 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_241 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_242 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_243 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_244 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 40:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_245 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_246 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_247 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_248 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_249 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_250 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_251 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_252 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_253 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_254 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_255 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_256 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_257 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_258 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_259 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_260 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_261 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_262 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_263 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_264 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 41:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_265 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_266 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_267 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_268 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_269 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_270 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_271 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_272 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_273 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_274 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_275 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_276 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_277 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_278 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_279 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_280 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_281 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_282 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_283 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_284 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 42:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_285 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_286 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_287 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_288 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_289 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_290 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_291 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_292 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_293 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_294 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_295 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_296 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_297 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_298 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_299 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_300 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_301 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_302 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_303 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_304 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_40 = self.input.LA(2)
-
- if (LA93_40 == IDENTIFIER) :
- LA93_305 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif (LA93_40 == 43) :
- LA93_306 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
-
- elif LA93 == 48:
- LA93_41 = self.input.LA(2)
-
- if (LA93_41 == 43) :
- LA93_307 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif (LA93_41 == IDENTIFIER) :
- LA93_308 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
- LA93 = self.input.LA(2)
- if LA93 == 66:
- LA93_309 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 58:
- LA93_310 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 59:
- LA93_311 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 60:
- LA93_312 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == IDENTIFIER:
- LA93_313 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 62:
- LA93_314 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 25:
- LA93_315 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
- LA93_316 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 34:
- LA93_317 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 35:
- LA93_318 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 36:
- LA93_319 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 37:
- LA93_320 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 38:
- LA93_321 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 39:
- LA93_322 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 40:
- LA93_323 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 41:
- LA93_324 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 42:
- LA93_325 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 45 or LA93 == 46:
- LA93_326 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 48:
- LA93_327 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
- elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
- LA93_328 = self.input.LA(3)
-
- if (self.synpred186()) :
- alt93 = 1
-
-
-
-
- if alt93 == 1:
- # C.g:0:0: declaration
- self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
- self.declaration()
- self.following.pop()
- if self.failed:
- return retval
-
-
- else:
- break #loop93
-
-
- # C.g:554:21: ( statement_list )?
- alt94 = 2
- LA94_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
- alt94 = 1
- if alt94 == 1:
- # C.g:0:0: statement_list
- self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
- self.statement_list()
- self.following.pop()
- if self.failed:
- return retval
-
-
-
- self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
- if self.failed:
- return retval
-
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 66, compound_statement_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end compound_statement
-
-
- # $ANTLR start statement_list
- # C.g:557:1: statement_list : ( statement )+ ;
- def statement_list(self, ):
-
- statement_list_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 67):
- return
-
- # C.g:558:2: ( ( statement )+ )
- # C.g:558:4: ( statement )+
- # C.g:558:4: ( statement )+
- cnt95 = 0
- while True: #loop95
- alt95 = 2
- LA95 = self.input.LA(1)
- if LA95 == IDENTIFIER:
- LA95 = self.input.LA(2)
- if LA95 == 62:
- LA95_46 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 45 or LA95 == 46 or LA95 == 47 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
- alt95 = 1
- elif LA95 == STRING_LITERAL:
- LA95_48 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == IDENTIFIER:
- LA95_49 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 64:
- LA95_50 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_51 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_52 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_53 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_54 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_55 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_56 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_57 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_58 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_59 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_60 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_61 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_62 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_63 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_64 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_65 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_66 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_67 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_68 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_69 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_88 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == HEX_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == 64:
- LA95_89 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_90 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_91 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_92 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_93 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_94 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_95 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_96 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_97 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_98 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_99 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_100 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_101 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_102 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_103 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_104 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_105 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_106 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_107 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_108 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_109 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_110 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
-
- elif LA95 == OCTAL_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == 64:
- LA95_113 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_114 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_115 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_116 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_117 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_118 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_119 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_120 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_121 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_122 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_123 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_124 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_125 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_126 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_127 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_128 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_129 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_130 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_131 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_132 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_133 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_135 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
-
- elif LA95 == DECIMAL_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == 64:
- LA95_137 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_138 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_139 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_140 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_141 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_142 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_143 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_144 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_145 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_146 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_147 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_148 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_149 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_150 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_151 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_152 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_153 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_154 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_155 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_156 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_157 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_158 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
-
- elif LA95 == CHARACTER_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == 64:
- LA95_161 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_162 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_163 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_164 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_165 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_166 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_167 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_168 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_169 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_170 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_171 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_172 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_173 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_174 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_175 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_176 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_177 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_178 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_179 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_180 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_181 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_182 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
-
- elif LA95 == STRING_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == IDENTIFIER:
- LA95_185 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 64:
- LA95_186 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_187 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_188 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_189 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_190 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_191 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_192 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_193 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_194 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_195 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_196 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_197 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_198 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_199 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_200 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_201 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_202 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_203 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_204 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_205 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_206 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
- elif LA95 == STRING_LITERAL:
- LA95_208 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_209 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95 = self.input.LA(2)
- if LA95 == 64:
- LA95_211 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_212 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 75:
- LA95_213 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66:
- LA95_214 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 76:
- LA95_215 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_216 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_217 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 70:
- LA95_218 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 71:
- LA95_219 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 68:
- LA95_220 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 69:
- LA95_221 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 101 or LA95 == 102:
- LA95_222 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 97 or LA95 == 98 or LA95 == 99 or LA95 == 100:
- LA95_223 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 95 or LA95 == 96:
- LA95_224 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 77:
- LA95_225 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 94:
- LA95_226 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 93:
- LA95_227 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 92:
- LA95_228 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 91:
- LA95_229 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 90:
- LA95_230 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 27:
- LA95_231 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 25:
- alt95 = 1
- elif LA95 == 28 or LA95 == 80 or LA95 == 81 or LA95 == 82 or LA95 == 83 or LA95 == 84 or LA95 == 85 or LA95 == 86 or LA95 == 87 or LA95 == 88 or LA95 == 89:
- LA95_234 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 62:
- LA95 = self.input.LA(2)
- if LA95 == IDENTIFIER:
- LA95_235 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == HEX_LITERAL:
- LA95_236 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == OCTAL_LITERAL:
- LA95_237 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == DECIMAL_LITERAL:
- LA95_238 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == CHARACTER_LITERAL:
- LA95_239 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == STRING_LITERAL:
- LA95_240 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95_241 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_242 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_243 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_244 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95_245 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 74:
- LA95_246 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61:
- LA95_247 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 34:
- LA95_248 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 35:
- LA95_249 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 36:
- LA95_250 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 37:
- LA95_251 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 38:
- LA95_252 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 39:
- LA95_253 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 40:
- LA95_254 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 41:
- LA95_255 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 42:
- LA95_256 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 45 or LA95 == 46:
- LA95_257 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 48:
- LA95_258 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 72:
- LA95 = self.input.LA(2)
- if LA95 == IDENTIFIER:
- LA95_259 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == HEX_LITERAL:
- LA95_260 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == OCTAL_LITERAL:
- LA95_261 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == DECIMAL_LITERAL:
- LA95_262 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == CHARACTER_LITERAL:
- LA95_263 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == STRING_LITERAL:
- LA95_264 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95_265 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_266 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_267 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_268 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95_269 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 74:
- LA95_270 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 73:
- LA95 = self.input.LA(2)
- if LA95 == IDENTIFIER:
- LA95_271 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == HEX_LITERAL:
- LA95_272 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == OCTAL_LITERAL:
- LA95_273 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == DECIMAL_LITERAL:
- LA95_274 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == CHARACTER_LITERAL:
- LA95_275 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == STRING_LITERAL:
- LA95_276 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95_277 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 62:
- LA95_278 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_279 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_280 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95_281 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 74:
- LA95_282 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95 = self.input.LA(2)
- if LA95 == 62:
- LA95_283 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == IDENTIFIER:
- LA95_284 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == HEX_LITERAL:
- LA95_285 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == OCTAL_LITERAL:
- LA95_286 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == DECIMAL_LITERAL:
- LA95_287 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == CHARACTER_LITERAL:
- LA95_288 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == STRING_LITERAL:
- LA95_289 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95_290 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_291 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_292 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95_293 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 74:
- LA95_294 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 74:
- LA95 = self.input.LA(2)
- if LA95 == 62:
- LA95_295 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == IDENTIFIER:
- LA95_296 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == HEX_LITERAL:
- LA95_297 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == OCTAL_LITERAL:
- LA95_298 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == DECIMAL_LITERAL:
- LA95_299 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == CHARACTER_LITERAL:
- LA95_300 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == STRING_LITERAL:
- LA95_301 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == FLOATING_POINT_LITERAL:
- LA95_302 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 72:
- LA95_303 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 73:
- LA95_304 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 66 or LA95 == 68 or LA95 == 69 or LA95 == 77 or LA95 == 78 or LA95 == 79:
- LA95_305 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
- elif LA95 == 74:
- LA95_306 = self.input.LA(3)
-
- if (self.synpred188()) :
- alt95 = 1
-
-
-
- elif LA95 == 25 or LA95 == 26 or LA95 == 29 or LA95 == 30 or LA95 == 31 or LA95 == 32 or LA95 == 33 or LA95 == 34 or LA95 == 35 or LA95 == 36 or LA95 == 37 or LA95 == 38 or LA95 == 39 or LA95 == 40 or LA95 == 41 or LA95 == 42 or LA95 == 43 or LA95 == 45 or LA95 == 46 or LA95 == 48 or LA95 == 49 or LA95 == 50 or LA95 == 51 or LA95 == 52 or LA95 == 53 or LA95 == 54 or LA95 == 55 or LA95 == 56 or LA95 == 57 or LA95 == 58 or LA95 == 59 or LA95 == 60 or LA95 == 61 or LA95 == 103 or LA95 == 104 or LA95 == 105 or LA95 == 106 or LA95 == 107 or LA95 == 108 or LA95 == 110 or LA95 == 111 or LA95 == 112 or LA95 == 113 or LA95 == 114 or LA95 == 115 or LA95 == 116 or LA95 == 117:
- alt95 = 1
-
- if alt95 == 1:
- # C.g:0:0: statement
- self.following.append(self.FOLLOW_statement_in_statement_list2242)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt95 >= 1:
- break #loop95
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(95, self.input)
- raise eee
-
- cnt95 += 1
-
-
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 67, statement_list_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end statement_list
-
- class expression_statement_return(object):
- def __init__(self):
- self.start = None
- self.stop = None
-
-
-
- # $ANTLR start expression_statement
- # C.g:561:1: expression_statement : ( ';' | expression ';' );
- def expression_statement(self, ):
-
- retval = self.expression_statement_return()
- retval.start = self.input.LT(1)
- expression_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 68):
- return retval
-
- # C.g:562:2: ( ';' | expression ';' )
- alt96 = 2
- LA96_0 = self.input.LA(1)
-
- if (LA96_0 == 25) :
- alt96 = 1
- elif ((IDENTIFIER <= LA96_0 <= FLOATING_POINT_LITERAL) or LA96_0 == 62 or LA96_0 == 66 or (68 <= LA96_0 <= 69) or (72 <= LA96_0 <= 74) or (77 <= LA96_0 <= 79)) :
- alt96 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return retval
-
- nvae = NoViableAltException("561:1: expression_statement : ( ';' | expression ';' );", 96, 0, self.input)
-
- raise nvae
-
- if alt96 == 1:
- # C.g:562:4: ';'
- self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2254)
- if self.failed:
- return retval
-
-
- elif alt96 == 2:
- # C.g:563:4: expression ';'
- self.following.append(self.FOLLOW_expression_in_expression_statement2259)
- self.expression()
- self.following.pop()
- if self.failed:
- return retval
- self.match(self.input, 25, self.FOLLOW_25_in_expression_statement2261)
- if self.failed:
- return retval
-
-
- retval.stop = self.input.LT(-1)
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 68, expression_statement_StartIndex)
-
- pass
-
- return retval
-
- # $ANTLR end expression_statement
-
-
- # $ANTLR start selection_statement
- # C.g:566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );
- def selection_statement(self, ):
-
- selection_statement_StartIndex = self.input.index()
- e = None
-
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 69):
- return
-
- # C.g:567:2: ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement )
- alt98 = 2
- LA98_0 = self.input.LA(1)
-
- if (LA98_0 == 108) :
- alt98 = 1
- elif (LA98_0 == 110) :
- alt98 = 2
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("566:1: selection_statement : ( 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )? | 'switch' '(' expression ')' statement );", 98, 0, self.input)
-
- raise nvae
-
- if alt98 == 1:
- # C.g:567:4: 'if' '(' e= expression ')' statement ( options {k=1; backtrack=false; } : 'else' statement )?
- self.match(self.input, 108, self.FOLLOW_108_in_selection_statement2272)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2274)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_selection_statement2278)
- e = self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2280)
- if self.failed:
- return
- if self.backtracking == 0:
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
- self.following.append(self.FOLLOW_statement_in_selection_statement2284)
- self.statement()
- self.following.pop()
- if self.failed:
- return
- # C.g:567:167: ( options {k=1; backtrack=false; } : 'else' statement )?
- alt97 = 2
- LA97_0 = self.input.LA(1)
-
- if (LA97_0 == 109) :
- alt97 = 1
- if alt97 == 1:
- # C.g:567:200: 'else' statement
- self.match(self.input, 109, self.FOLLOW_109_in_selection_statement2299)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_selection_statement2301)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- elif alt98 == 2:
- # C.g:568:4: 'switch' '(' expression ')' statement
- self.match(self.input, 110, self.FOLLOW_110_in_selection_statement2308)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_selection_statement2310)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_selection_statement2312)
- self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_selection_statement2314)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_selection_statement2316)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 69, selection_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end selection_statement
-
-
- # $ANTLR start iteration_statement
- # C.g:571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );
- def iteration_statement(self, ):
-
- iteration_statement_StartIndex = self.input.index()
- e = None
-
-
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 70):
- return
-
- # C.g:572:2: ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement )
- alt100 = 3
- LA100 = self.input.LA(1)
- if LA100 == 111:
- alt100 = 1
- elif LA100 == 112:
- alt100 = 2
- elif LA100 == 113:
- alt100 = 3
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("571:1: iteration_statement : ( 'while' '(' e= expression ')' statement | 'do' statement 'while' '(' e= expression ')' ';' | 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement );", 100, 0, self.input)
-
- raise nvae
-
- if alt100 == 1:
- # C.g:572:4: 'while' '(' e= expression ')' statement
- self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2327)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2329)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_iteration_statement2333)
- e = self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2335)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_iteration_statement2337)
- self.statement()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
-
-
- elif alt100 == 2:
- # C.g:573:4: 'do' statement 'while' '(' e= expression ')' ';'
- self.match(self.input, 112, self.FOLLOW_112_in_iteration_statement2344)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_iteration_statement2346)
- self.statement()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 111, self.FOLLOW_111_in_iteration_statement2348)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2350)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_iteration_statement2354)
- e = self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2356)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_iteration_statement2358)
- if self.failed:
- return
- if self.backtracking == 0:
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
-
-
- elif alt100 == 3:
- # C.g:574:4: 'for' '(' expression_statement e= expression_statement ( expression )? ')' statement
- self.match(self.input, 113, self.FOLLOW_113_in_iteration_statement2365)
- if self.failed:
- return
- self.match(self.input, 62, self.FOLLOW_62_in_iteration_statement2367)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2369)
- self.expression_statement()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_statement_in_iteration_statement2373)
- e = self.expression_statement()
- self.following.pop()
- if self.failed:
- return
- # C.g:574:58: ( expression )?
- alt99 = 2
- LA99_0 = self.input.LA(1)
-
- if ((IDENTIFIER <= LA99_0 <= FLOATING_POINT_LITERAL) or LA99_0 == 62 or LA99_0 == 66 or (68 <= LA99_0 <= 69) or (72 <= LA99_0 <= 74) or (77 <= LA99_0 <= 79)) :
- alt99 = 1
- if alt99 == 1:
- # C.g:0:0: expression
- self.following.append(self.FOLLOW_expression_in_iteration_statement2375)
- self.expression()
- self.following.pop()
- if self.failed:
- return
-
-
-
- self.match(self.input, 63, self.FOLLOW_63_in_iteration_statement2378)
- if self.failed:
- return
- self.following.append(self.FOLLOW_statement_in_iteration_statement2380)
- self.statement()
- self.following.pop()
- if self.failed:
- return
- if self.backtracking == 0:
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))
-
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 70, iteration_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end iteration_statement
-
-
- # $ANTLR start jump_statement
- # C.g:577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );
- def jump_statement(self, ):
-
- jump_statement_StartIndex = self.input.index()
- try:
- try:
- if self.backtracking > 0 and self.alreadyParsedRule(self.input, 71):
- return
-
- # C.g:578:2: ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' )
- alt101 = 5
- LA101 = self.input.LA(1)
- if LA101 == 114:
- alt101 = 1
- elif LA101 == 115:
- alt101 = 2
- elif LA101 == 116:
- alt101 = 3
- elif LA101 == 117:
- LA101_4 = self.input.LA(2)
-
- if (LA101_4 == 25) :
- alt101 = 4
- elif ((IDENTIFIER <= LA101_4 <= FLOATING_POINT_LITERAL) or LA101_4 == 62 or LA101_4 == 66 or (68 <= LA101_4 <= 69) or (72 <= LA101_4 <= 74) or (77 <= LA101_4 <= 79)) :
- alt101 = 5
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 4, self.input)
-
- raise nvae
-
- else:
- if self.backtracking > 0:
- self.failed = True
- return
-
- nvae = NoViableAltException("577:1: jump_statement : ( 'goto' IDENTIFIER ';' | 'continue' ';' | 'break' ';' | 'return' ';' | 'return' expression ';' );", 101, 0, self.input)
-
- raise nvae
-
- if alt101 == 1:
- # C.g:578:4: 'goto' IDENTIFIER ';'
- self.match(self.input, 114, self.FOLLOW_114_in_jump_statement2393)
- if self.failed:
- return
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_jump_statement2395)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2397)
- if self.failed:
- return
-
-
- elif alt101 == 2:
- # C.g:579:4: 'continue' ';'
- self.match(self.input, 115, self.FOLLOW_115_in_jump_statement2402)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2404)
- if self.failed:
- return
-
-
- elif alt101 == 3:
- # C.g:580:4: 'break' ';'
- self.match(self.input, 116, self.FOLLOW_116_in_jump_statement2409)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2411)
- if self.failed:
- return
-
-
- elif alt101 == 4:
- # C.g:581:4: 'return' ';'
- self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2416)
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2418)
- if self.failed:
- return
-
-
- elif alt101 == 5:
- # C.g:582:4: 'return' expression ';'
- self.match(self.input, 117, self.FOLLOW_117_in_jump_statement2423)
- if self.failed:
- return
- self.following.append(self.FOLLOW_expression_in_jump_statement2425)
- self.expression()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 25, self.FOLLOW_25_in_jump_statement2427)
- if self.failed:
- return
-
-
-
- except RecognitionException, re:
- self.reportError(re)
- self.recover(self.input, re)
- finally:
- if self.backtracking > 0:
- self.memoize(self.input, 71, jump_statement_StartIndex)
-
- pass
-
- return
-
- # $ANTLR end jump_statement
-
- # $ANTLR start synpred2
- def synpred2_fragment(self, ):
- # C.g:119:6: ( declaration_specifiers )
- # C.g:119:6: declaration_specifiers
- self.following.append(self.FOLLOW_declaration_specifiers_in_synpred2100)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred2
-
-
-
- # $ANTLR start synpred4
- def synpred4_fragment(self, ):
- # C.g:119:4: ( ( declaration_specifiers )? declarator ( declaration )* '{' )
- # C.g:119:6: ( declaration_specifiers )? declarator ( declaration )* '{'
- # C.g:119:6: ( declaration_specifiers )?
- alt102 = 2
- LA102 = self.input.LA(1)
- if LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33 or LA102 == 34 or LA102 == 35 or LA102 == 36 or LA102 == 37 or LA102 == 38 or LA102 == 39 or LA102 == 40 or LA102 == 41 or LA102 == 42 or LA102 == 45 or LA102 == 46 or LA102 == 48 or LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
- alt102 = 1
- elif LA102 == IDENTIFIER:
- LA102 = self.input.LA(2)
- if LA102 == 62:
- LA102_21 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 29 or LA102 == 30 or LA102 == 31 or LA102 == 32 or LA102 == 33:
- LA102_23 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 34:
- LA102_24 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 35:
- LA102_25 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 36:
- LA102_26 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 37:
- LA102_27 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 38:
- LA102_28 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 39:
- LA102_29 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 40:
- LA102_30 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 41:
- LA102_31 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 42:
- LA102_32 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 45 or LA102 == 46:
- LA102_33 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 48:
- LA102_34 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == IDENTIFIER:
- LA102_35 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 58:
- LA102_36 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 66:
- alt102 = 1
- elif LA102 == 59:
- LA102_39 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 60:
- LA102_40 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 49 or LA102 == 50 or LA102 == 51 or LA102 == 52 or LA102 == 53 or LA102 == 54 or LA102 == 55 or LA102 == 56 or LA102 == 57 or LA102 == 61:
- LA102_41 = self.input.LA(3)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 58:
- LA102_14 = self.input.LA(2)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 59:
- LA102_16 = self.input.LA(2)
-
- if (self.synpred2()) :
- alt102 = 1
- elif LA102 == 60:
- LA102_17 = self.input.LA(2)
-
- if (self.synpred2()) :
- alt102 = 1
- if alt102 == 1:
- # C.g:0:0: declaration_specifiers
- self.following.append(self.FOLLOW_declaration_specifiers_in_synpred4100)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_declarator_in_synpred4103)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
- # C.g:119:41: ( declaration )*
- while True: #loop103
- alt103 = 2
- LA103_0 = self.input.LA(1)
-
- if (LA103_0 == IDENTIFIER or LA103_0 == 26 or (29 <= LA103_0 <= 42) or (45 <= LA103_0 <= 46) or (48 <= LA103_0 <= 61)) :
- alt103 = 1
-
-
- if alt103 == 1:
- # C.g:0:0: declaration
- self.following.append(self.FOLLOW_declaration_in_synpred4105)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop103
-
-
- self.match(self.input, 43, self.FOLLOW_43_in_synpred4108)
- if self.failed:
- return
-
-
- # $ANTLR end synpred4
-
-
-
- # $ANTLR start synpred5
- def synpred5_fragment(self, ):
- # C.g:120:4: ( declaration )
- # C.g:120:4: declaration
- self.following.append(self.FOLLOW_declaration_in_synpred5118)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred5
-
-
-
- # $ANTLR start synpred7
- def synpred7_fragment(self, ):
- # C.g:146:6: ( declaration_specifiers )
- # C.g:146:6: declaration_specifiers
- self.following.append(self.FOLLOW_declaration_specifiers_in_synpred7157)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred7
-
-
-
- # $ANTLR start synpred10
- def synpred10_fragment(self, ):
- # C.g:167:18: ( declaration_specifiers )
- # C.g:167:18: declaration_specifiers
- self.following.append(self.FOLLOW_declaration_specifiers_in_synpred10207)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred10
-
-
-
- # $ANTLR start synpred14
- def synpred14_fragment(self, ):
- # C.g:184:7: ( type_specifier )
- # C.g:184:7: type_specifier
- self.following.append(self.FOLLOW_type_specifier_in_synpred14272)
- self.type_specifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred14
-
-
-
- # $ANTLR start synpred15
- def synpred15_fragment(self, ):
- # C.g:185:13: ( type_qualifier )
- # C.g:185:13: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred15286)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred15
-
-
-
- # $ANTLR start synpred33
- def synpred33_fragment(self, ):
- # C.g:225:16: ( type_qualifier )
- # C.g:225:16: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred33444)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred33
-
-
-
- # $ANTLR start synpred34
- def synpred34_fragment(self, ):
- # C.g:225:4: ( IDENTIFIER ( type_qualifier )* declarator )
- # C.g:225:5: IDENTIFIER ( type_qualifier )* declarator
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred34442)
- if self.failed:
- return
- # C.g:225:16: ( type_qualifier )*
- while True: #loop106
- alt106 = 2
- LA106 = self.input.LA(1)
- if LA106 == 58:
- LA106_2 = self.input.LA(2)
-
- if (self.synpred33()) :
- alt106 = 1
-
-
- elif LA106 == 59:
- LA106_3 = self.input.LA(2)
-
- if (self.synpred33()) :
- alt106 = 1
-
-
- elif LA106 == 60:
- LA106_4 = self.input.LA(2)
-
- if (self.synpred33()) :
- alt106 = 1
-
-
- elif LA106 == 49 or LA106 == 50 or LA106 == 51 or LA106 == 52 or LA106 == 53 or LA106 == 54 or LA106 == 55 or LA106 == 56 or LA106 == 57 or LA106 == 61:
- alt106 = 1
-
- if alt106 == 1:
- # C.g:0:0: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred34444)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop106
-
-
- self.following.append(self.FOLLOW_declarator_in_synpred34447)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred34
-
-
-
- # $ANTLR start synpred39
- def synpred39_fragment(self, ):
- # C.g:253:6: ( type_qualifier )
- # C.g:253:6: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred39566)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred39
-
-
-
- # $ANTLR start synpred40
- def synpred40_fragment(self, ):
- # C.g:253:23: ( type_specifier )
- # C.g:253:23: type_specifier
- self.following.append(self.FOLLOW_type_specifier_in_synpred40570)
- self.type_specifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred40
-
-
-
- # $ANTLR start synpred66
- def synpred66_fragment(self, ):
- # C.g:297:4: ( ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator )
- # C.g:297:4: ( pointer )? ( 'EFIAPI' )? ( 'EFI_BOOTSERVICE' )? ( 'EFI_RUNTIMESERVICE' )? direct_declarator
- # C.g:297:4: ( pointer )?
- alt111 = 2
- LA111_0 = self.input.LA(1)
-
- if (LA111_0 == 66) :
- alt111 = 1
- if alt111 == 1:
- # C.g:0:0: pointer
- self.following.append(self.FOLLOW_pointer_in_synpred66784)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
-
- # C.g:297:13: ( 'EFIAPI' )?
- alt112 = 2
- LA112_0 = self.input.LA(1)
-
- if (LA112_0 == 58) :
- alt112 = 1
- if alt112 == 1:
- # C.g:297:14: 'EFIAPI'
- self.match(self.input, 58, self.FOLLOW_58_in_synpred66788)
- if self.failed:
- return
-
-
-
- # C.g:297:25: ( 'EFI_BOOTSERVICE' )?
- alt113 = 2
- LA113_0 = self.input.LA(1)
-
- if (LA113_0 == 59) :
- alt113 = 1
- if alt113 == 1:
- # C.g:297:26: 'EFI_BOOTSERVICE'
- self.match(self.input, 59, self.FOLLOW_59_in_synpred66793)
- if self.failed:
- return
-
-
-
- # C.g:297:46: ( 'EFI_RUNTIMESERVICE' )?
- alt114 = 2
- LA114_0 = self.input.LA(1)
-
- if (LA114_0 == 60) :
- alt114 = 1
- if alt114 == 1:
- # C.g:297:47: 'EFI_RUNTIMESERVICE'
- self.match(self.input, 60, self.FOLLOW_60_in_synpred66798)
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_direct_declarator_in_synpred66802)
- self.direct_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred66
-
-
-
- # $ANTLR start synpred67
- def synpred67_fragment(self, ):
- # C.g:303:15: ( declarator_suffix )
- # C.g:303:15: declarator_suffix
- self.following.append(self.FOLLOW_declarator_suffix_in_synpred67821)
- self.declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred67
-
-
-
- # $ANTLR start synpred69
- def synpred69_fragment(self, ):
- # C.g:304:9: ( 'EFIAPI' )
- # C.g:304:9: 'EFIAPI'
- self.match(self.input, 58, self.FOLLOW_58_in_synpred69830)
- if self.failed:
- return
-
-
- # $ANTLR end synpred69
-
-
-
- # $ANTLR start synpred70
- def synpred70_fragment(self, ):
- # C.g:304:35: ( declarator_suffix )
- # C.g:304:35: declarator_suffix
- self.following.append(self.FOLLOW_declarator_suffix_in_synpred70838)
- self.declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred70
-
-
-
- # $ANTLR start synpred73
- def synpred73_fragment(self, ):
- # C.g:310:9: ( '(' parameter_type_list ')' )
- # C.g:310:9: '(' parameter_type_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_synpred73878)
- if self.failed:
- return
- self.following.append(self.FOLLOW_parameter_type_list_in_synpred73880)
- self.parameter_type_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred73882)
- if self.failed:
- return
-
-
- # $ANTLR end synpred73
-
-
-
- # $ANTLR start synpred74
- def synpred74_fragment(self, ):
- # C.g:311:9: ( '(' identifier_list ')' )
- # C.g:311:9: '(' identifier_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_synpred74892)
- if self.failed:
- return
- self.following.append(self.FOLLOW_identifier_list_in_synpred74894)
- self.identifier_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred74896)
- if self.failed:
- return
-
-
- # $ANTLR end synpred74
-
-
-
- # $ANTLR start synpred75
- def synpred75_fragment(self, ):
- # C.g:316:8: ( type_qualifier )
- # C.g:316:8: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred75921)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred75
-
-
-
- # $ANTLR start synpred76
- def synpred76_fragment(self, ):
- # C.g:316:24: ( pointer )
- # C.g:316:24: pointer
- self.following.append(self.FOLLOW_pointer_in_synpred76924)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred76
-
-
-
- # $ANTLR start synpred77
- def synpred77_fragment(self, ):
- # C.g:316:4: ( '*' ( type_qualifier )+ ( pointer )? )
- # C.g:316:4: '*' ( type_qualifier )+ ( pointer )?
- self.match(self.input, 66, self.FOLLOW_66_in_synpred77919)
- if self.failed:
- return
- # C.g:316:8: ( type_qualifier )+
- cnt116 = 0
- while True: #loop116
- alt116 = 2
- LA116_0 = self.input.LA(1)
-
- if ((49 <= LA116_0 <= 61)) :
- alt116 = 1
-
-
- if alt116 == 1:
- # C.g:0:0: type_qualifier
- self.following.append(self.FOLLOW_type_qualifier_in_synpred77921)
- self.type_qualifier()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- if cnt116 >= 1:
- break #loop116
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(116, self.input)
- raise eee
-
- cnt116 += 1
-
-
- # C.g:316:24: ( pointer )?
- alt117 = 2
- LA117_0 = self.input.LA(1)
-
- if (LA117_0 == 66) :
- alt117 = 1
- if alt117 == 1:
- # C.g:0:0: pointer
- self.following.append(self.FOLLOW_pointer_in_synpred77924)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- # $ANTLR end synpred77
-
-
-
- # $ANTLR start synpred78
- def synpred78_fragment(self, ):
- # C.g:317:4: ( '*' pointer )
- # C.g:317:4: '*' pointer
- self.match(self.input, 66, self.FOLLOW_66_in_synpred78930)
- if self.failed:
- return
- self.following.append(self.FOLLOW_pointer_in_synpred78932)
- self.pointer()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred78
-
-
-
- # $ANTLR start synpred81
- def synpred81_fragment(self, ):
- # C.g:326:32: ( 'OPTIONAL' )
- # C.g:326:32: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_synpred81977)
- if self.failed:
- return
-
-
- # $ANTLR end synpred81
-
-
-
- # $ANTLR start synpred82
- def synpred82_fragment(self, ):
- # C.g:326:27: ( ',' ( 'OPTIONAL' )? parameter_declaration )
- # C.g:326:27: ',' ( 'OPTIONAL' )? parameter_declaration
- self.match(self.input, 27, self.FOLLOW_27_in_synpred82974)
- if self.failed:
- return
- # C.g:326:31: ( 'OPTIONAL' )?
- alt119 = 2
- LA119_0 = self.input.LA(1)
-
- if (LA119_0 == 53) :
- LA119_1 = self.input.LA(2)
-
- if (self.synpred81()) :
- alt119 = 1
- if alt119 == 1:
- # C.g:326:32: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_synpred82977)
- if self.failed:
- return
-
-
-
- self.following.append(self.FOLLOW_parameter_declaration_in_synpred82981)
- self.parameter_declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred82
-
-
-
- # $ANTLR start synpred83
- def synpred83_fragment(self, ):
- # C.g:330:28: ( declarator )
- # C.g:330:28: declarator
- self.following.append(self.FOLLOW_declarator_in_synpred83997)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred83
-
-
-
- # $ANTLR start synpred84
- def synpred84_fragment(self, ):
- # C.g:330:39: ( abstract_declarator )
- # C.g:330:39: abstract_declarator
- self.following.append(self.FOLLOW_abstract_declarator_in_synpred84999)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred84
-
-
-
- # $ANTLR start synpred86
- def synpred86_fragment(self, ):
- # C.g:330:4: ( declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )? )
- # C.g:330:4: declaration_specifiers ( declarator | abstract_declarator )* ( 'OPTIONAL' )?
- self.following.append(self.FOLLOW_declaration_specifiers_in_synpred86994)
- self.declaration_specifiers()
- self.following.pop()
- if self.failed:
- return
- # C.g:330:27: ( declarator | abstract_declarator )*
- while True: #loop120
- alt120 = 3
- LA120 = self.input.LA(1)
- if LA120 == 66:
- LA120_3 = self.input.LA(2)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == IDENTIFIER or LA120 == 58 or LA120 == 59 or LA120 == 60:
- alt120 = 1
- elif LA120 == 62:
- LA120 = self.input.LA(2)
- if LA120 == 29 or LA120 == 30 or LA120 == 31 or LA120 == 32 or LA120 == 33 or LA120 == 34 or LA120 == 35 or LA120 == 36 or LA120 == 37 or LA120 == 38 or LA120 == 39 or LA120 == 40 or LA120 == 41 or LA120 == 42 or LA120 == 45 or LA120 == 46 or LA120 == 48 or LA120 == 49 or LA120 == 50 or LA120 == 51 or LA120 == 52 or LA120 == 53 or LA120 == 54 or LA120 == 55 or LA120 == 56 or LA120 == 57 or LA120 == 61 or LA120 == 63 or LA120 == 64:
- alt120 = 2
- elif LA120 == 58:
- LA120_21 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == 66:
- LA120_22 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == 59:
- LA120_23 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == 60:
- LA120_24 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == IDENTIFIER:
- LA120_25 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
- elif LA120 == 62:
- LA120_26 = self.input.LA(3)
-
- if (self.synpred83()) :
- alt120 = 1
- elif (self.synpred84()) :
- alt120 = 2
-
-
-
- elif LA120 == 64:
- alt120 = 2
-
- if alt120 == 1:
- # C.g:330:28: declarator
- self.following.append(self.FOLLOW_declarator_in_synpred86997)
- self.declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- elif alt120 == 2:
- # C.g:330:39: abstract_declarator
- self.following.append(self.FOLLOW_abstract_declarator_in_synpred86999)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- else:
- break #loop120
-
-
- # C.g:330:61: ( 'OPTIONAL' )?
- alt121 = 2
- LA121_0 = self.input.LA(1)
-
- if (LA121_0 == 53) :
- alt121 = 1
- if alt121 == 1:
- # C.g:330:62: 'OPTIONAL'
- self.match(self.input, 53, self.FOLLOW_53_in_synpred861004)
- if self.failed:
- return
-
-
-
-
-
- # $ANTLR end synpred86
-
-
-
- # $ANTLR start synpred90
- def synpred90_fragment(self, ):
- # C.g:341:4: ( specifier_qualifier_list ( abstract_declarator )? )
- # C.g:341:4: specifier_qualifier_list ( abstract_declarator )?
- self.following.append(self.FOLLOW_specifier_qualifier_list_in_synpred901046)
- self.specifier_qualifier_list()
- self.following.pop()
- if self.failed:
- return
- # C.g:341:29: ( abstract_declarator )?
- alt122 = 2
- LA122_0 = self.input.LA(1)
-
- if (LA122_0 == 62 or LA122_0 == 64 or LA122_0 == 66) :
- alt122 = 1
- if alt122 == 1:
- # C.g:0:0: abstract_declarator
- self.following.append(self.FOLLOW_abstract_declarator_in_synpred901048)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
-
-
-
- # $ANTLR end synpred90
-
-
-
- # $ANTLR start synpred91
- def synpred91_fragment(self, ):
- # C.g:346:12: ( direct_abstract_declarator )
- # C.g:346:12: direct_abstract_declarator
- self.following.append(self.FOLLOW_direct_abstract_declarator_in_synpred911067)
- self.direct_abstract_declarator()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred91
-
-
-
- # $ANTLR start synpred93
- def synpred93_fragment(self, ):
- # C.g:351:6: ( '(' abstract_declarator ')' )
- # C.g:351:6: '(' abstract_declarator ')'
- self.match(self.input, 62, self.FOLLOW_62_in_synpred931086)
- if self.failed:
- return
- self.following.append(self.FOLLOW_abstract_declarator_in_synpred931088)
- self.abstract_declarator()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred931090)
- if self.failed:
- return
-
-
- # $ANTLR end synpred93
-
-
-
- # $ANTLR start synpred94
- def synpred94_fragment(self, ):
- # C.g:351:65: ( abstract_declarator_suffix )
- # C.g:351:65: abstract_declarator_suffix
- self.following.append(self.FOLLOW_abstract_declarator_suffix_in_synpred941098)
- self.abstract_declarator_suffix()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred94
-
-
-
- # $ANTLR start synpred109
- def synpred109_fragment(self, ):
- # C.g:386:4: ( '(' type_name ')' cast_expression )
- # C.g:386:4: '(' type_name ')' cast_expression
- self.match(self.input, 62, self.FOLLOW_62_in_synpred1091282)
- if self.failed:
- return
- self.following.append(self.FOLLOW_type_name_in_synpred1091284)
- self.type_name()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred1091286)
- if self.failed:
- return
- self.following.append(self.FOLLOW_cast_expression_in_synpred1091288)
- self.cast_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred109
-
-
-
- # $ANTLR start synpred114
- def synpred114_fragment(self, ):
- # C.g:395:4: ( 'sizeof' unary_expression )
- # C.g:395:4: 'sizeof' unary_expression
- self.match(self.input, 74, self.FOLLOW_74_in_synpred1141330)
- if self.failed:
- return
- self.following.append(self.FOLLOW_unary_expression_in_synpred1141332)
- self.unary_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred114
-
-
-
- # $ANTLR start synpred117
- def synpred117_fragment(self, ):
- # C.g:409:13: ( '(' argument_expression_list ')' )
- # C.g:409:13: '(' argument_expression_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_synpred1171420)
- if self.failed:
- return
- self.following.append(self.FOLLOW_argument_expression_list_in_synpred1171424)
- self.argument_expression_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred1171428)
- if self.failed:
- return
-
-
- # $ANTLR end synpred117
-
-
-
- # $ANTLR start synpred118
- def synpred118_fragment(self, ):
- # C.g:410:13: ( '(' macro_parameter_list ')' )
- # C.g:410:13: '(' macro_parameter_list ')'
- self.match(self.input, 62, self.FOLLOW_62_in_synpred1181444)
- if self.failed:
- return
- self.following.append(self.FOLLOW_macro_parameter_list_in_synpred1181446)
- self.macro_parameter_list()
- self.following.pop()
- if self.failed:
- return
- self.match(self.input, 63, self.FOLLOW_63_in_synpred1181448)
- if self.failed:
- return
-
-
- # $ANTLR end synpred118
-
-
-
- # $ANTLR start synpred120
- def synpred120_fragment(self, ):
- # C.g:412:13: ( '*' IDENTIFIER )
- # C.g:412:13: '*' IDENTIFIER
- self.match(self.input, 66, self.FOLLOW_66_in_synpred1201482)
- if self.failed:
- return
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1201486)
- if self.failed:
- return
-
-
- # $ANTLR end synpred120
-
-
-
- # $ANTLR start synpred137
- def synpred137_fragment(self, ):
- # C.g:443:20: ( STRING_LITERAL )
- # C.g:443:20: STRING_LITERAL
- self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1371683)
- if self.failed:
- return
-
-
- # $ANTLR end synpred137
-
-
-
- # $ANTLR start synpred138
- def synpred138_fragment(self, ):
- # C.g:443:8: ( ( IDENTIFIER )* ( STRING_LITERAL )+ )
- # C.g:443:8: ( IDENTIFIER )* ( STRING_LITERAL )+
- # C.g:443:8: ( IDENTIFIER )*
- while True: #loop125
- alt125 = 2
- LA125_0 = self.input.LA(1)
-
- if (LA125_0 == IDENTIFIER) :
- alt125 = 1
-
-
- if alt125 == 1:
- # C.g:0:0: IDENTIFIER
- self.match(self.input, IDENTIFIER, self.FOLLOW_IDENTIFIER_in_synpred1381680)
- if self.failed:
- return
-
-
- else:
- break #loop125
-
-
- # C.g:443:20: ( STRING_LITERAL )+
- cnt126 = 0
- while True: #loop126
- alt126 = 2
- LA126_0 = self.input.LA(1)
-
- if (LA126_0 == STRING_LITERAL) :
- alt126 = 1
-
-
- if alt126 == 1:
- # C.g:0:0: STRING_LITERAL
- self.match(self.input, STRING_LITERAL, self.FOLLOW_STRING_LITERAL_in_synpred1381683)
- if self.failed:
- return
-
-
- else:
- if cnt126 >= 1:
- break #loop126
-
- if self.backtracking > 0:
- self.failed = True
- return
-
- eee = EarlyExitException(126, self.input)
- raise eee
-
- cnt126 += 1
-
-
-
-
- # $ANTLR end synpred138
-
-
-
- # $ANTLR start synpred142
- def synpred142_fragment(self, ):
- # C.g:458:4: ( lvalue assignment_operator assignment_expression )
- # C.g:458:4: lvalue assignment_operator assignment_expression
- self.following.append(self.FOLLOW_lvalue_in_synpred1421744)
- self.lvalue()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_assignment_operator_in_synpred1421746)
- self.assignment_operator()
- self.following.pop()
- if self.failed:
- return
- self.following.append(self.FOLLOW_assignment_expression_in_synpred1421748)
- self.assignment_expression()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred142
-
-
-
- # $ANTLR start synpred169
- def synpred169_fragment(self, ):
- # C.g:520:4: ( expression_statement )
- # C.g:520:4: expression_statement
- self.following.append(self.FOLLOW_expression_statement_in_synpred1692035)
- self.expression_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred169
-
-
-
- # $ANTLR start synpred173
- def synpred173_fragment(self, ):
- # C.g:524:4: ( macro_statement )
- # C.g:524:4: macro_statement
- self.following.append(self.FOLLOW_macro_statement_in_synpred1732055)
- self.macro_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred173
-
-
-
- # $ANTLR start synpred174
- def synpred174_fragment(self, ):
- # C.g:525:4: ( asm2_statement )
- # C.g:525:4: asm2_statement
- self.following.append(self.FOLLOW_asm2_statement_in_synpred1742060)
- self.asm2_statement()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred174
-
-
-
- # $ANTLR start synpred181
- def synpred181_fragment(self, ):
- # C.g:544:19: ( declaration )
- # C.g:544:19: declaration
- self.following.append(self.FOLLOW_declaration_in_synpred1812166)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred181
-
-
-
- # $ANTLR start synpred182
- def synpred182_fragment(self, ):
- # C.g:544:33: ( statement_list )
- # C.g:544:33: statement_list
- self.following.append(self.FOLLOW_statement_list_in_synpred1822170)
- self.statement_list()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred182
-
-
-
- # $ANTLR start synpred186
- def synpred186_fragment(self, ):
- # C.g:554:8: ( declaration )
- # C.g:554:8: declaration
- self.following.append(self.FOLLOW_declaration_in_synpred1862225)
- self.declaration()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred186
-
-
-
- # $ANTLR start synpred188
- def synpred188_fragment(self, ):
- # C.g:558:4: ( statement )
- # C.g:558:4: statement
- self.following.append(self.FOLLOW_statement_in_synpred1882242)
- self.statement()
- self.following.pop()
- if self.failed:
- return
-
-
- # $ANTLR end synpred188
-
-
-
- def synpred69(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred69_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred81(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred81_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred82(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred82_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred66(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred66_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred83(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred83_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred84(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred84_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred67(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred67_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred86(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred86_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred120(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred120_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred40(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred40_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred142(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred142_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred182(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred182_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred109(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred109_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred181(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred181_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred186(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred186_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred188(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred188_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred169(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred169_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred117(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred117_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred70(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred70_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred118(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred118_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred34(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred34_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred33(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred33_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred94(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred94_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred39(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred39_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred74(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred74_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred114(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred114_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred93(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred93_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred75(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred75_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred137(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred137_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred90(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred90_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred138(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred138_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred91(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred91_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred73(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred73_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred5(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred5_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred78(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred78_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred7(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred7_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred76(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred76_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred77(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred77_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred2(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred2_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred4(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred4_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred174(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred174_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred173(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred173_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred14(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred14_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred15(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred15_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
- def synpred10(self):
- self.backtracking += 1
- start = self.input.mark()
- self.synpred10_fragment()
- success = not self.failed
- self.input.rewind(start)
- self.backtracking -= 1
- self.failed = False
- return success
-
-
-
-
-
- FOLLOW_external_declaration_in_translation_unit74 = frozenset([1, 4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
- FOLLOW_function_definition_in_external_declaration113 = frozenset([1])
- FOLLOW_declaration_in_external_declaration118 = frozenset([1])
- FOLLOW_macro_statement_in_external_declaration123 = frozenset([1, 25])
- FOLLOW_25_in_external_declaration126 = frozenset([1])
- FOLLOW_declaration_specifiers_in_function_definition157 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_declarator_in_function_definition160 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_declaration_in_function_definition166 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_compound_statement_in_function_definition171 = frozenset([1])
- FOLLOW_compound_statement_in_function_definition180 = frozenset([1])
- FOLLOW_26_in_declaration203 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
- FOLLOW_declaration_specifiers_in_declaration207 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_init_declarator_list_in_declaration216 = frozenset([25])
- FOLLOW_25_in_declaration220 = frozenset([1])
- FOLLOW_declaration_specifiers_in_declaration234 = frozenset([4, 25, 58, 59, 60, 62, 66])
- FOLLOW_init_declarator_list_in_declaration238 = frozenset([25])
- FOLLOW_25_in_declaration243 = frozenset([1])
- FOLLOW_storage_class_specifier_in_declaration_specifiers264 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_specifier_in_declaration_specifiers272 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_qualifier_in_declaration_specifiers286 = frozenset([1, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_init_declarator_in_init_declarator_list308 = frozenset([1, 27])
- FOLLOW_27_in_init_declarator_list311 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_init_declarator_in_init_declarator_list313 = frozenset([1, 27])
- FOLLOW_declarator_in_init_declarator326 = frozenset([1, 28])
- FOLLOW_28_in_init_declarator329 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_initializer_in_init_declarator331 = frozenset([1])
- FOLLOW_set_in_storage_class_specifier0 = frozenset([1])
- FOLLOW_34_in_type_specifier376 = frozenset([1])
- FOLLOW_35_in_type_specifier381 = frozenset([1])
- FOLLOW_36_in_type_specifier386 = frozenset([1])
- FOLLOW_37_in_type_specifier391 = frozenset([1])
- FOLLOW_38_in_type_specifier396 = frozenset([1])
- FOLLOW_39_in_type_specifier401 = frozenset([1])
- FOLLOW_40_in_type_specifier406 = frozenset([1])
- FOLLOW_41_in_type_specifier411 = frozenset([1])
- FOLLOW_42_in_type_specifier416 = frozenset([1])
- FOLLOW_struct_or_union_specifier_in_type_specifier423 = frozenset([1])
- FOLLOW_enum_specifier_in_type_specifier433 = frozenset([1])
- FOLLOW_type_id_in_type_specifier451 = frozenset([1])
- FOLLOW_IDENTIFIER_in_type_id467 = frozenset([1])
- FOLLOW_struct_or_union_in_struct_or_union_specifier494 = frozenset([4, 43])
- FOLLOW_IDENTIFIER_in_struct_or_union_specifier496 = frozenset([43])
- FOLLOW_43_in_struct_or_union_specifier499 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_struct_declaration_list_in_struct_or_union_specifier501 = frozenset([44])
- FOLLOW_44_in_struct_or_union_specifier503 = frozenset([1])
- FOLLOW_struct_or_union_in_struct_or_union_specifier508 = frozenset([4])
- FOLLOW_IDENTIFIER_in_struct_or_union_specifier510 = frozenset([1])
- FOLLOW_set_in_struct_or_union0 = frozenset([1])
- FOLLOW_struct_declaration_in_struct_declaration_list537 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_specifier_qualifier_list_in_struct_declaration549 = frozenset([4, 47, 58, 59, 60, 62, 66])
- FOLLOW_struct_declarator_list_in_struct_declaration551 = frozenset([25])
- FOLLOW_25_in_struct_declaration553 = frozenset([1])
- FOLLOW_type_qualifier_in_specifier_qualifier_list566 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_specifier_in_specifier_qualifier_list570 = frozenset([1, 4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_struct_declarator_in_struct_declarator_list584 = frozenset([1, 27])
- FOLLOW_27_in_struct_declarator_list587 = frozenset([4, 47, 58, 59, 60, 62, 66])
- FOLLOW_struct_declarator_in_struct_declarator_list589 = frozenset([1, 27])
- FOLLOW_declarator_in_struct_declarator602 = frozenset([1, 47])
- FOLLOW_47_in_struct_declarator605 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_struct_declarator607 = frozenset([1])
- FOLLOW_47_in_struct_declarator614 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_struct_declarator616 = frozenset([1])
- FOLLOW_48_in_enum_specifier634 = frozenset([43])
- FOLLOW_43_in_enum_specifier636 = frozenset([4])
- FOLLOW_enumerator_list_in_enum_specifier638 = frozenset([27, 44])
- FOLLOW_27_in_enum_specifier640 = frozenset([44])
- FOLLOW_44_in_enum_specifier643 = frozenset([1])
- FOLLOW_48_in_enum_specifier648 = frozenset([4])
- FOLLOW_IDENTIFIER_in_enum_specifier650 = frozenset([43])
- FOLLOW_43_in_enum_specifier652 = frozenset([4])
- FOLLOW_enumerator_list_in_enum_specifier654 = frozenset([27, 44])
- FOLLOW_27_in_enum_specifier656 = frozenset([44])
- FOLLOW_44_in_enum_specifier659 = frozenset([1])
- FOLLOW_48_in_enum_specifier664 = frozenset([4])
- FOLLOW_IDENTIFIER_in_enum_specifier666 = frozenset([1])
- FOLLOW_enumerator_in_enumerator_list677 = frozenset([1, 27])
- FOLLOW_27_in_enumerator_list680 = frozenset([4])
- FOLLOW_enumerator_in_enumerator_list682 = frozenset([1, 27])
- FOLLOW_IDENTIFIER_in_enumerator695 = frozenset([1, 28])
- FOLLOW_28_in_enumerator698 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_enumerator700 = frozenset([1])
- FOLLOW_set_in_type_qualifier0 = frozenset([1])
- FOLLOW_pointer_in_declarator784 = frozenset([4, 58, 59, 60, 62])
- FOLLOW_58_in_declarator788 = frozenset([4, 59, 60, 62])
- FOLLOW_59_in_declarator793 = frozenset([4, 60, 62])
- FOLLOW_60_in_declarator798 = frozenset([4, 62])
- FOLLOW_direct_declarator_in_declarator802 = frozenset([1])
- FOLLOW_pointer_in_declarator808 = frozenset([1])
- FOLLOW_IDENTIFIER_in_direct_declarator819 = frozenset([1, 62, 64])
- FOLLOW_declarator_suffix_in_direct_declarator821 = frozenset([1, 62, 64])
- FOLLOW_62_in_direct_declarator827 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_58_in_direct_declarator830 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_declarator_in_direct_declarator834 = frozenset([63])
- FOLLOW_63_in_direct_declarator836 = frozenset([62, 64])
- FOLLOW_declarator_suffix_in_direct_declarator838 = frozenset([1, 62, 64])
- FOLLOW_64_in_declarator_suffix852 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_declarator_suffix854 = frozenset([65])
- FOLLOW_65_in_declarator_suffix856 = frozenset([1])
- FOLLOW_64_in_declarator_suffix866 = frozenset([65])
- FOLLOW_65_in_declarator_suffix868 = frozenset([1])
- FOLLOW_62_in_declarator_suffix878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_type_list_in_declarator_suffix880 = frozenset([63])
- FOLLOW_63_in_declarator_suffix882 = frozenset([1])
- FOLLOW_62_in_declarator_suffix892 = frozenset([4])
- FOLLOW_identifier_list_in_declarator_suffix894 = frozenset([63])
- FOLLOW_63_in_declarator_suffix896 = frozenset([1])
- FOLLOW_62_in_declarator_suffix906 = frozenset([63])
- FOLLOW_63_in_declarator_suffix908 = frozenset([1])
- FOLLOW_66_in_pointer919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_qualifier_in_pointer921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_pointer_in_pointer924 = frozenset([1])
- FOLLOW_66_in_pointer930 = frozenset([66])
- FOLLOW_pointer_in_pointer932 = frozenset([1])
- FOLLOW_66_in_pointer937 = frozenset([1])
- FOLLOW_parameter_list_in_parameter_type_list948 = frozenset([1, 27])
- FOLLOW_27_in_parameter_type_list951 = frozenset([53, 67])
- FOLLOW_53_in_parameter_type_list954 = frozenset([67])
- FOLLOW_67_in_parameter_type_list958 = frozenset([1])
- FOLLOW_parameter_declaration_in_parameter_list971 = frozenset([1, 27])
- FOLLOW_27_in_parameter_list974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_53_in_parameter_list977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_declaration_in_parameter_list981 = frozenset([1, 27])
- FOLLOW_declaration_specifiers_in_parameter_declaration994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_declarator_in_parameter_declaration997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_abstract_declarator_in_parameter_declaration999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_53_in_parameter_declaration1004 = frozenset([1])
- FOLLOW_pointer_in_parameter_declaration1013 = frozenset([4, 66])
- FOLLOW_IDENTIFIER_in_parameter_declaration1016 = frozenset([1])
- FOLLOW_IDENTIFIER_in_identifier_list1027 = frozenset([1, 27])
- FOLLOW_27_in_identifier_list1031 = frozenset([4])
- FOLLOW_IDENTIFIER_in_identifier_list1033 = frozenset([1, 27])
- FOLLOW_specifier_qualifier_list_in_type_name1046 = frozenset([1, 62, 64, 66])
- FOLLOW_abstract_declarator_in_type_name1048 = frozenset([1])
- FOLLOW_type_id_in_type_name1054 = frozenset([1])
- FOLLOW_pointer_in_abstract_declarator1065 = frozenset([1, 62, 64])
- FOLLOW_direct_abstract_declarator_in_abstract_declarator1067 = frozenset([1])
- FOLLOW_direct_abstract_declarator_in_abstract_declarator1073 = frozenset([1])
- FOLLOW_62_in_direct_abstract_declarator1086 = frozenset([62, 64, 66])
- FOLLOW_abstract_declarator_in_direct_abstract_declarator1088 = frozenset([63])
- FOLLOW_63_in_direct_abstract_declarator1090 = frozenset([1, 62, 64])
- FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1094 = frozenset([1, 62, 64])
- FOLLOW_abstract_declarator_suffix_in_direct_abstract_declarator1098 = frozenset([1, 62, 64])
- FOLLOW_64_in_abstract_declarator_suffix1110 = frozenset([65])
- FOLLOW_65_in_abstract_declarator_suffix1112 = frozenset([1])
- FOLLOW_64_in_abstract_declarator_suffix1117 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_abstract_declarator_suffix1119 = frozenset([65])
- FOLLOW_65_in_abstract_declarator_suffix1121 = frozenset([1])
- FOLLOW_62_in_abstract_declarator_suffix1126 = frozenset([63])
- FOLLOW_63_in_abstract_declarator_suffix1128 = frozenset([1])
- FOLLOW_62_in_abstract_declarator_suffix1133 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_type_list_in_abstract_declarator_suffix1135 = frozenset([63])
- FOLLOW_63_in_abstract_declarator_suffix1137 = frozenset([1])
- FOLLOW_assignment_expression_in_initializer1150 = frozenset([1])
- FOLLOW_43_in_initializer1155 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_initializer_list_in_initializer1157 = frozenset([27, 44])
- FOLLOW_27_in_initializer1159 = frozenset([44])
- FOLLOW_44_in_initializer1162 = frozenset([1])
- FOLLOW_initializer_in_initializer_list1173 = frozenset([1, 27])
- FOLLOW_27_in_initializer_list1176 = frozenset([4, 5, 6, 7, 8, 9, 10, 43, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_initializer_in_initializer_list1178 = frozenset([1, 27])
- FOLLOW_assignment_expression_in_argument_expression_list1196 = frozenset([1, 27, 53])
- FOLLOW_53_in_argument_expression_list1199 = frozenset([1, 27])
- FOLLOW_27_in_argument_expression_list1204 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_assignment_expression_in_argument_expression_list1206 = frozenset([1, 27, 53])
- FOLLOW_53_in_argument_expression_list1209 = frozenset([1, 27])
- FOLLOW_multiplicative_expression_in_additive_expression1225 = frozenset([1, 68, 69])
- FOLLOW_68_in_additive_expression1229 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_multiplicative_expression_in_additive_expression1231 = frozenset([1, 68, 69])
- FOLLOW_69_in_additive_expression1235 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_multiplicative_expression_in_additive_expression1237 = frozenset([1, 68, 69])
- FOLLOW_cast_expression_in_multiplicative_expression1251 = frozenset([1, 66, 70, 71])
- FOLLOW_66_in_multiplicative_expression1255 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_multiplicative_expression1257 = frozenset([1, 66, 70, 71])
- FOLLOW_70_in_multiplicative_expression1261 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_multiplicative_expression1263 = frozenset([1, 66, 70, 71])
- FOLLOW_71_in_multiplicative_expression1267 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_multiplicative_expression1269 = frozenset([1, 66, 70, 71])
- FOLLOW_62_in_cast_expression1282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_name_in_cast_expression1284 = frozenset([63])
- FOLLOW_63_in_cast_expression1286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_cast_expression1288 = frozenset([1])
- FOLLOW_unary_expression_in_cast_expression1293 = frozenset([1])
- FOLLOW_postfix_expression_in_unary_expression1304 = frozenset([1])
- FOLLOW_72_in_unary_expression1309 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_unary_expression_in_unary_expression1311 = frozenset([1])
- FOLLOW_73_in_unary_expression1316 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_unary_expression_in_unary_expression1318 = frozenset([1])
- FOLLOW_unary_operator_in_unary_expression1323 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_unary_expression1325 = frozenset([1])
- FOLLOW_74_in_unary_expression1330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_unary_expression_in_unary_expression1332 = frozenset([1])
- FOLLOW_74_in_unary_expression1337 = frozenset([62])
- FOLLOW_62_in_unary_expression1339 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_name_in_unary_expression1341 = frozenset([63])
- FOLLOW_63_in_unary_expression1343 = frozenset([1])
- FOLLOW_primary_expression_in_postfix_expression1367 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_64_in_postfix_expression1383 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_postfix_expression1385 = frozenset([65])
- FOLLOW_65_in_postfix_expression1387 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_62_in_postfix_expression1401 = frozenset([63])
- FOLLOW_63_in_postfix_expression1405 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_62_in_postfix_expression1420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_argument_expression_list_in_postfix_expression1424 = frozenset([63])
- FOLLOW_63_in_postfix_expression1428 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_62_in_postfix_expression1444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_macro_parameter_list_in_postfix_expression1446 = frozenset([63])
- FOLLOW_63_in_postfix_expression1448 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_75_in_postfix_expression1462 = frozenset([4])
- FOLLOW_IDENTIFIER_in_postfix_expression1466 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_66_in_postfix_expression1482 = frozenset([4])
- FOLLOW_IDENTIFIER_in_postfix_expression1486 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_76_in_postfix_expression1502 = frozenset([4])
- FOLLOW_IDENTIFIER_in_postfix_expression1506 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_72_in_postfix_expression1522 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_73_in_postfix_expression1536 = frozenset([1, 62, 64, 66, 72, 73, 75, 76])
- FOLLOW_parameter_declaration_in_macro_parameter_list1559 = frozenset([1, 27])
- FOLLOW_27_in_macro_parameter_list1562 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_declaration_in_macro_parameter_list1564 = frozenset([1, 27])
- FOLLOW_set_in_unary_operator0 = frozenset([1])
- FOLLOW_IDENTIFIER_in_primary_expression1613 = frozenset([1])
- FOLLOW_constant_in_primary_expression1618 = frozenset([1])
- FOLLOW_62_in_primary_expression1623 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_primary_expression1625 = frozenset([63])
- FOLLOW_63_in_primary_expression1627 = frozenset([1])
- FOLLOW_HEX_LITERAL_in_constant1643 = frozenset([1])
- FOLLOW_OCTAL_LITERAL_in_constant1653 = frozenset([1])
- FOLLOW_DECIMAL_LITERAL_in_constant1663 = frozenset([1])
- FOLLOW_CHARACTER_LITERAL_in_constant1671 = frozenset([1])
- FOLLOW_IDENTIFIER_in_constant1680 = frozenset([4, 9])
- FOLLOW_STRING_LITERAL_in_constant1683 = frozenset([1, 4, 9])
- FOLLOW_IDENTIFIER_in_constant1688 = frozenset([1, 4])
- FOLLOW_FLOATING_POINT_LITERAL_in_constant1699 = frozenset([1])
- FOLLOW_assignment_expression_in_expression1715 = frozenset([1, 27])
- FOLLOW_27_in_expression1718 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_assignment_expression_in_expression1720 = frozenset([1, 27])
- FOLLOW_conditional_expression_in_constant_expression1733 = frozenset([1])
- FOLLOW_lvalue_in_assignment_expression1744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
- FOLLOW_assignment_operator_in_assignment_expression1746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_assignment_expression_in_assignment_expression1748 = frozenset([1])
- FOLLOW_conditional_expression_in_assignment_expression1753 = frozenset([1])
- FOLLOW_unary_expression_in_lvalue1765 = frozenset([1])
- FOLLOW_set_in_assignment_operator0 = frozenset([1])
- FOLLOW_logical_or_expression_in_conditional_expression1839 = frozenset([1, 90])
- FOLLOW_90_in_conditional_expression1842 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_conditional_expression1844 = frozenset([47])
- FOLLOW_47_in_conditional_expression1846 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_conditional_expression_in_conditional_expression1848 = frozenset([1])
- FOLLOW_logical_and_expression_in_logical_or_expression1863 = frozenset([1, 91])
- FOLLOW_91_in_logical_or_expression1866 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_logical_and_expression_in_logical_or_expression1868 = frozenset([1, 91])
- FOLLOW_inclusive_or_expression_in_logical_and_expression1881 = frozenset([1, 92])
- FOLLOW_92_in_logical_and_expression1884 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_inclusive_or_expression_in_logical_and_expression1886 = frozenset([1, 92])
- FOLLOW_exclusive_or_expression_in_inclusive_or_expression1899 = frozenset([1, 93])
- FOLLOW_93_in_inclusive_or_expression1902 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_exclusive_or_expression_in_inclusive_or_expression1904 = frozenset([1, 93])
- FOLLOW_and_expression_in_exclusive_or_expression1917 = frozenset([1, 94])
- FOLLOW_94_in_exclusive_or_expression1920 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_and_expression_in_exclusive_or_expression1922 = frozenset([1, 94])
- FOLLOW_equality_expression_in_and_expression1935 = frozenset([1, 77])
- FOLLOW_77_in_and_expression1938 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_equality_expression_in_and_expression1940 = frozenset([1, 77])
- FOLLOW_relational_expression_in_equality_expression1952 = frozenset([1, 95, 96])
- FOLLOW_set_in_equality_expression1955 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_relational_expression_in_equality_expression1961 = frozenset([1, 95, 96])
- FOLLOW_shift_expression_in_relational_expression1975 = frozenset([1, 97, 98, 99, 100])
- FOLLOW_set_in_relational_expression1978 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_shift_expression_in_relational_expression1988 = frozenset([1, 97, 98, 99, 100])
- FOLLOW_additive_expression_in_shift_expression2001 = frozenset([1, 101, 102])
- FOLLOW_set_in_shift_expression2004 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_additive_expression_in_shift_expression2010 = frozenset([1, 101, 102])
- FOLLOW_labeled_statement_in_statement2025 = frozenset([1])
- FOLLOW_compound_statement_in_statement2030 = frozenset([1])
- FOLLOW_expression_statement_in_statement2035 = frozenset([1])
- FOLLOW_selection_statement_in_statement2040 = frozenset([1])
- FOLLOW_iteration_statement_in_statement2045 = frozenset([1])
- FOLLOW_jump_statement_in_statement2050 = frozenset([1])
- FOLLOW_macro_statement_in_statement2055 = frozenset([1])
- FOLLOW_asm2_statement_in_statement2060 = frozenset([1])
- FOLLOW_asm1_statement_in_statement2065 = frozenset([1])
- FOLLOW_asm_statement_in_statement2070 = frozenset([1])
- FOLLOW_declaration_in_statement2075 = frozenset([1])
- FOLLOW_103_in_asm2_statement2086 = frozenset([4])
- FOLLOW_IDENTIFIER_in_asm2_statement2089 = frozenset([62])
- FOLLOW_62_in_asm2_statement2091 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_set_in_asm2_statement2094 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_63_in_asm2_statement2101 = frozenset([25])
- FOLLOW_25_in_asm2_statement2103 = frozenset([1])
- FOLLOW_104_in_asm1_statement2115 = frozenset([43])
- FOLLOW_43_in_asm1_statement2117 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_set_in_asm1_statement2120 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_44_in_asm1_statement2127 = frozenset([1])
- FOLLOW_105_in_asm_statement2138 = frozenset([43])
- FOLLOW_43_in_asm_statement2140 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_set_in_asm_statement2143 = frozenset([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_44_in_asm_statement2150 = frozenset([1])
- FOLLOW_IDENTIFIER_in_macro_statement2162 = frozenset([62])
- FOLLOW_62_in_macro_statement2164 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_declaration_in_macro_statement2166 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_list_in_macro_statement2170 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_macro_statement2173 = frozenset([63])
- FOLLOW_63_in_macro_statement2176 = frozenset([1])
- FOLLOW_IDENTIFIER_in_labeled_statement2188 = frozenset([47])
- FOLLOW_47_in_labeled_statement2190 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_labeled_statement2192 = frozenset([1])
- FOLLOW_106_in_labeled_statement2197 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_constant_expression_in_labeled_statement2199 = frozenset([47])
- FOLLOW_47_in_labeled_statement2201 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_labeled_statement2203 = frozenset([1])
- FOLLOW_107_in_labeled_statement2208 = frozenset([47])
- FOLLOW_47_in_labeled_statement2210 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_labeled_statement2212 = frozenset([1])
- FOLLOW_43_in_compound_statement2223 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_declaration_in_compound_statement2225 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_list_in_compound_statement2228 = frozenset([44])
- FOLLOW_44_in_compound_statement2231 = frozenset([1])
- FOLLOW_statement_in_statement_list2242 = frozenset([1, 4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_25_in_expression_statement2254 = frozenset([1])
- FOLLOW_expression_in_expression_statement2259 = frozenset([25])
- FOLLOW_25_in_expression_statement2261 = frozenset([1])
- FOLLOW_108_in_selection_statement2272 = frozenset([62])
- FOLLOW_62_in_selection_statement2274 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_selection_statement2278 = frozenset([63])
- FOLLOW_63_in_selection_statement2280 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_selection_statement2284 = frozenset([1, 109])
- FOLLOW_109_in_selection_statement2299 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_selection_statement2301 = frozenset([1])
- FOLLOW_110_in_selection_statement2308 = frozenset([62])
- FOLLOW_62_in_selection_statement2310 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_selection_statement2312 = frozenset([63])
- FOLLOW_63_in_selection_statement2314 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_selection_statement2316 = frozenset([1])
- FOLLOW_111_in_iteration_statement2327 = frozenset([62])
- FOLLOW_62_in_iteration_statement2329 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_iteration_statement2333 = frozenset([63])
- FOLLOW_63_in_iteration_statement2335 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_iteration_statement2337 = frozenset([1])
- FOLLOW_112_in_iteration_statement2344 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_iteration_statement2346 = frozenset([111])
- FOLLOW_111_in_iteration_statement2348 = frozenset([62])
- FOLLOW_62_in_iteration_statement2350 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_iteration_statement2354 = frozenset([63])
- FOLLOW_63_in_iteration_statement2356 = frozenset([25])
- FOLLOW_25_in_iteration_statement2358 = frozenset([1])
- FOLLOW_113_in_iteration_statement2365 = frozenset([62])
- FOLLOW_62_in_iteration_statement2367 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_statement_in_iteration_statement2369 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_statement_in_iteration_statement2373 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 63, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_iteration_statement2375 = frozenset([63])
- FOLLOW_63_in_iteration_statement2378 = frozenset([4, 5, 6, 7, 8, 9, 10, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117])
- FOLLOW_statement_in_iteration_statement2380 = frozenset([1])
- FOLLOW_114_in_jump_statement2393 = frozenset([4])
- FOLLOW_IDENTIFIER_in_jump_statement2395 = frozenset([25])
- FOLLOW_25_in_jump_statement2397 = frozenset([1])
- FOLLOW_115_in_jump_statement2402 = frozenset([25])
- FOLLOW_25_in_jump_statement2404 = frozenset([1])
- FOLLOW_116_in_jump_statement2409 = frozenset([25])
- FOLLOW_25_in_jump_statement2411 = frozenset([1])
- FOLLOW_117_in_jump_statement2416 = frozenset([25])
- FOLLOW_25_in_jump_statement2418 = frozenset([1])
- FOLLOW_117_in_jump_statement2423 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_expression_in_jump_statement2425 = frozenset([25])
- FOLLOW_25_in_jump_statement2427 = frozenset([1])
- FOLLOW_declaration_specifiers_in_synpred2100 = frozenset([1])
- FOLLOW_declaration_specifiers_in_synpred4100 = frozenset([4, 58, 59, 60, 62, 66])
- FOLLOW_declarator_in_synpred4103 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_declaration_in_synpred4105 = frozenset([4, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_43_in_synpred4108 = frozenset([1])
- FOLLOW_declaration_in_synpred5118 = frozenset([1])
- FOLLOW_declaration_specifiers_in_synpred7157 = frozenset([1])
- FOLLOW_declaration_specifiers_in_synpred10207 = frozenset([1])
- FOLLOW_type_specifier_in_synpred14272 = frozenset([1])
- FOLLOW_type_qualifier_in_synpred15286 = frozenset([1])
- FOLLOW_type_qualifier_in_synpred33444 = frozenset([1])
- FOLLOW_IDENTIFIER_in_synpred34442 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
- FOLLOW_type_qualifier_in_synpred34444 = frozenset([4, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66])
- FOLLOW_declarator_in_synpred34447 = frozenset([1])
- FOLLOW_type_qualifier_in_synpred39566 = frozenset([1])
- FOLLOW_type_specifier_in_synpred40570 = frozenset([1])
- FOLLOW_pointer_in_synpred66784 = frozenset([4, 58, 59, 60, 62])
- FOLLOW_58_in_synpred66788 = frozenset([4, 59, 60, 62])
- FOLLOW_59_in_synpred66793 = frozenset([4, 60, 62])
- FOLLOW_60_in_synpred66798 = frozenset([4, 62])
- FOLLOW_direct_declarator_in_synpred66802 = frozenset([1])
- FOLLOW_declarator_suffix_in_synpred67821 = frozenset([1])
- FOLLOW_58_in_synpred69830 = frozenset([1])
- FOLLOW_declarator_suffix_in_synpred70838 = frozenset([1])
- FOLLOW_62_in_synpred73878 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_type_list_in_synpred73880 = frozenset([63])
- FOLLOW_63_in_synpred73882 = frozenset([1])
- FOLLOW_62_in_synpred74892 = frozenset([4])
- FOLLOW_identifier_list_in_synpred74894 = frozenset([63])
- FOLLOW_63_in_synpred74896 = frozenset([1])
- FOLLOW_type_qualifier_in_synpred75921 = frozenset([1])
- FOLLOW_pointer_in_synpred76924 = frozenset([1])
- FOLLOW_66_in_synpred77919 = frozenset([49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_qualifier_in_synpred77921 = frozenset([1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_pointer_in_synpred77924 = frozenset([1])
- FOLLOW_66_in_synpred78930 = frozenset([66])
- FOLLOW_pointer_in_synpred78932 = frozenset([1])
- FOLLOW_53_in_synpred81977 = frozenset([1])
- FOLLOW_27_in_synpred82974 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_53_in_synpred82977 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_parameter_declaration_in_synpred82981 = frozenset([1])
- FOLLOW_declarator_in_synpred83997 = frozenset([1])
- FOLLOW_abstract_declarator_in_synpred84999 = frozenset([1])
- FOLLOW_declaration_specifiers_in_synpred86994 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_declarator_in_synpred86997 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_abstract_declarator_in_synpred86999 = frozenset([1, 4, 53, 58, 59, 60, 62, 64, 66])
- FOLLOW_53_in_synpred861004 = frozenset([1])
- FOLLOW_specifier_qualifier_list_in_synpred901046 = frozenset([1, 62, 64, 66])
- FOLLOW_abstract_declarator_in_synpred901048 = frozenset([1])
- FOLLOW_direct_abstract_declarator_in_synpred911067 = frozenset([1])
- FOLLOW_62_in_synpred931086 = frozenset([62, 64, 66])
- FOLLOW_abstract_declarator_in_synpred931088 = frozenset([63])
- FOLLOW_63_in_synpred931090 = frozenset([1])
- FOLLOW_abstract_declarator_suffix_in_synpred941098 = frozenset([1])
- FOLLOW_62_in_synpred1091282 = frozenset([4, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61])
- FOLLOW_type_name_in_synpred1091284 = frozenset([63])
- FOLLOW_63_in_synpred1091286 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_cast_expression_in_synpred1091288 = frozenset([1])
- FOLLOW_74_in_synpred1141330 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_unary_expression_in_synpred1141332 = frozenset([1])
- FOLLOW_62_in_synpred1171420 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_argument_expression_list_in_synpred1171424 = frozenset([63])
- FOLLOW_63_in_synpred1171428 = frozenset([1])
- FOLLOW_62_in_synpred1181444 = frozenset([4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66])
- FOLLOW_macro_parameter_list_in_synpred1181446 = frozenset([63])
- FOLLOW_63_in_synpred1181448 = frozenset([1])
- FOLLOW_66_in_synpred1201482 = frozenset([4])
- FOLLOW_IDENTIFIER_in_synpred1201486 = frozenset([1])
- FOLLOW_STRING_LITERAL_in_synpred1371683 = frozenset([1])
- FOLLOW_IDENTIFIER_in_synpred1381680 = frozenset([4, 9])
- FOLLOW_STRING_LITERAL_in_synpred1381683 = frozenset([1, 9])
- FOLLOW_lvalue_in_synpred1421744 = frozenset([28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89])
- FOLLOW_assignment_operator_in_synpred1421746 = frozenset([4, 5, 6, 7, 8, 9, 10, 62, 66, 68, 69, 72, 73, 74, 77, 78, 79])
- FOLLOW_assignment_expression_in_synpred1421748 = frozenset([1])
- FOLLOW_expression_statement_in_synpred1692035 = frozenset([1])
- FOLLOW_macro_statement_in_synpred1732055 = frozenset([1])
- FOLLOW_asm2_statement_in_synpred1742060 = frozenset([1])
- FOLLOW_declaration_in_synpred1812166 = frozenset([1])
- FOLLOW_statement_list_in_synpred1822170 = frozenset([1])
- FOLLOW_declaration_in_synpred1862225 = frozenset([1])
- FOLLOW_statement_in_synpred1882242 = frozenset([1])
-
diff --git a/BaseTools/Source/Python/Eot/CodeFragment.py b/BaseTools/Source/Python/Eot/CodeFragment.py
deleted file mode 100644
index db5f40a6a4..0000000000
--- a/BaseTools/Source/Python/Eot/CodeFragment.py
+++ /dev/null
@@ -1,185 +0,0 @@
-## @file
-# fragments of source file
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-
-## The description of comment contents and start & end position
-#
-#
-class Comment :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- # @param CommentType The type of comment (T_COMMENT_TWO_SLASH or T_COMMENT_SLASH_STAR).
- #
- def __init__(self, Str, Begin, End, CommentType):
- self.Content = Str
- self.StartPos = Begin
- self.EndPos = End
- self.Type = CommentType
-
-## The description of preprocess directives and start & end position
-#
-#
-class PP_Directive :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Str, Begin, End):
- self.Content = Str
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of assignment expression and start & end position
-#
-#
-class AssignmentExpression :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Lvalue, Op, Exp, Begin, End):
- self.Name = Lvalue
- self.Operator = Op
- self.Value = Exp
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of predicate expression and start & end position
-#
-#
-class PredicateExpression :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Str, Begin, End):
- self.Content = Str
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of function definition and start & end position
-#
-#
-class FunctionDefinition :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- # @param LBPos The left brace position tuple.
- #
- def __init__(self, ModifierStr, DeclStr, Begin, End, LBPos, NamePos):
- self.Modifier = ModifierStr
- self.Declarator = DeclStr
- self.StartPos = Begin
- self.EndPos = End
- self.LeftBracePos = LBPos
- self.NamePos = NamePos
-
-## The description of variable declaration and start & end position
-#
-#
-class VariableDeclaration :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, ModifierStr, DeclStr, Begin, End):
- self.Modifier = ModifierStr
- self.Declarator = DeclStr
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of enum definition and start & end position
-#
-#
-class EnumerationDefinition :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Str, Begin, End):
- self.Content = Str
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of struct/union definition and start & end position
-#
-#
-class StructUnionDefinition :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Str, Begin, End):
- self.Content = Str
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of 'Typedef' definition and start & end position
-#
-#
-class TypedefDefinition :
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, FromStr, ToStr, Begin, End):
- self.FromType = FromStr
- self.ToType = ToStr
- self.StartPos = Begin
- self.EndPos = End
-
-## The description of function calling definition and start & end position
-#
-#
-class FunctionCalling:
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param Begin The start position tuple.
- # @param End The end position tuple.
- #
- def __init__(self, Name, Param, Begin, End):
- self.FuncName = Name
- self.ParamList = Param
- self.StartPos = Begin
- self.EndPos = End
diff --git a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
deleted file mode 100644
index 4e8cef2c42..0000000000
--- a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
+++ /dev/null
@@ -1,467 +0,0 @@
-## @file
-# preprocess source file
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import re
-import os
-import sys
-
-import antlr3
-from CLexer import CLexer
-from CParser import CParser
-
-import FileProfile
-from CodeFragment import PP_Directive
-from ParserWarning import Warning
-
-
-##define T_CHAR_SPACE ' '
-##define T_CHAR_NULL '\0'
-##define T_CHAR_CR '\r'
-##define T_CHAR_TAB '\t'
-##define T_CHAR_LF '\n'
-##define T_CHAR_SLASH '/'
-##define T_CHAR_BACKSLASH '\\'
-##define T_CHAR_DOUBLE_QUOTE '\"'
-##define T_CHAR_SINGLE_QUOTE '\''
-##define T_CHAR_STAR '*'
-##define T_CHAR_HASH '#'
-
-(T_CHAR_SPACE, T_CHAR_NULL, T_CHAR_CR, T_CHAR_TAB, T_CHAR_LF, T_CHAR_SLASH, \
-T_CHAR_BACKSLASH, T_CHAR_DOUBLE_QUOTE, T_CHAR_SINGLE_QUOTE, T_CHAR_STAR, T_CHAR_HASH) = \
-(' ', '\0', '\r', '\t', '\n', '/', '\\', '\"', '\'', '*', '#')
-
-SEPERATOR_TUPLE = ('=', '|', ',', '{', '}')
-
-(T_COMMENT_TWO_SLASH, T_COMMENT_SLASH_STAR) = (0, 1)
-
-(T_PP_INCLUDE, T_PP_DEFINE, T_PP_OTHERS) = (0, 1, 2)
-
-## The collector for source code fragments.
-#
-# PreprocessFile method should be called prior to ParseFile
-#
-# GetNext*** procedures mean these procedures will get next token first, then make judgement.
-# Get*** procedures mean these procedures will make judgement on current token only.
-#
-class CodeFragmentCollector:
- ## The constructor
- #
- # @param self The object pointer
- # @param FileName The file that to be parsed
- #
- def __init__(self, FileName):
- self.Profile = FileProfile.FileProfile(FileName)
- self.Profile.FileLinesList.append(T_CHAR_LF)
- self.FileName = FileName
- self.CurrentLineNumber = 1
- self.CurrentOffsetWithinLine = 0
-
- self.__Token = ""
- self.__SkippedChars = ""
-
- ## __IsWhiteSpace() method
- #
- # Whether char at current FileBufferPos is whitespace
- #
- # @param self The object pointer
- # @param Char The char to test
- # @retval True The char is a kind of white space
- # @retval False The char is NOT a kind of white space
- #
- def __IsWhiteSpace(self, Char):
- if Char in (T_CHAR_NULL, T_CHAR_CR, T_CHAR_SPACE, T_CHAR_TAB, T_CHAR_LF):
- return True
- else:
- return False
-
- ## __SkipWhiteSpace() method
- #
- # Skip white spaces from current char, return number of chars skipped
- #
- # @param self The object pointer
- # @retval Count The number of chars skipped
- #
- def __SkipWhiteSpace(self):
- Count = 0
- while not self.__EndOfFile():
- Count += 1
- if self.__CurrentChar() in (T_CHAR_NULL, T_CHAR_CR, T_CHAR_LF, T_CHAR_SPACE, T_CHAR_TAB):
- self.__SkippedChars += str(self.__CurrentChar())
- self.__GetOneChar()
-
- else:
- Count = Count - 1
- return Count
-
- ## __EndOfFile() method
- #
- # Judge current buffer pos is at file end
- #
- # @param self The object pointer
- # @retval True Current File buffer position is at file end
- # @retval False Current File buffer position is NOT at file end
- #
- def __EndOfFile(self):
- NumberOfLines = len(self.Profile.FileLinesList)
- SizeOfLastLine = len(self.Profile.FileLinesList[-1])
- if self.CurrentLineNumber == NumberOfLines and self.CurrentOffsetWithinLine >= SizeOfLastLine - 1:
- return True
- elif self.CurrentLineNumber > NumberOfLines:
- return True
- else:
- return False
-
- ## __EndOfLine() method
- #
- # Judge current buffer pos is at line end
- #
- # @param self The object pointer
- # @retval True Current File buffer position is at line end
- # @retval False Current File buffer position is NOT at line end
- #
- def __EndOfLine(self):
- SizeOfCurrentLine = len(self.Profile.FileLinesList[self.CurrentLineNumber - 1])
- if self.CurrentOffsetWithinLine >= SizeOfCurrentLine - 1:
- return True
- else:
- return False
-
- ## Rewind() method
- #
- # Reset file data buffer to the initial state
- #
- # @param self The object pointer
- #
- def Rewind(self):
- self.CurrentLineNumber = 1
- self.CurrentOffsetWithinLine = 0
-
- ## __UndoOneChar() method
- #
- # Go back one char in the file buffer
- #
- # @param self The object pointer
- # @retval True Successfully go back one char
- # @retval False Not able to go back one char as file beginning reached
- #
- def __UndoOneChar(self):
-
- if self.CurrentLineNumber == 1 and self.CurrentOffsetWithinLine == 0:
- return False
- elif self.CurrentOffsetWithinLine == 0:
- self.CurrentLineNumber -= 1
- self.CurrentOffsetWithinLine = len(self.__CurrentLine()) - 1
- else:
- self.CurrentOffsetWithinLine -= 1
- return True
-
- ## __GetOneChar() method
- #
- # Move forward one char in the file buffer
- #
- # @param self The object pointer
- #
- def __GetOneChar(self):
- if self.CurrentOffsetWithinLine == len(self.Profile.FileLinesList[self.CurrentLineNumber - 1]) - 1:
- self.CurrentLineNumber += 1
- self.CurrentOffsetWithinLine = 0
- else:
- self.CurrentOffsetWithinLine += 1
-
- ## __CurrentChar() method
- #
- # Get the char pointed to by the file buffer pointer
- #
- # @param self The object pointer
- # @retval Char Current char
- #
- def __CurrentChar(self):
- CurrentChar = self.Profile.FileLinesList[self.CurrentLineNumber - 1][self.CurrentOffsetWithinLine]
-
- return CurrentChar
-
- ## __NextChar() method
- #
- # Get the one char pass the char pointed to by the file buffer pointer
- #
- # @param self The object pointer
- # @retval Char Next char
- #
- def __NextChar(self):
- if self.CurrentOffsetWithinLine == len(self.Profile.FileLinesList[self.CurrentLineNumber - 1]) - 1:
- return self.Profile.FileLinesList[self.CurrentLineNumber][0]
- else:
- return self.Profile.FileLinesList[self.CurrentLineNumber - 1][self.CurrentOffsetWithinLine + 1]
-
- ## __SetCurrentCharValue() method
- #
- # Modify the value of current char
- #
- # @param self The object pointer
- # @param Value The new value of current char
- #
- def __SetCurrentCharValue(self, Value):
- self.Profile.FileLinesList[self.CurrentLineNumber - 1][self.CurrentOffsetWithinLine] = Value
-
- ## __SetCharValue() method
- #
- # Modify the value of current char
- #
- # @param self The object pointer
- # @param Value The new value of current char
- #
- def __SetCharValue(self, Line, Offset, Value):
- self.Profile.FileLinesList[Line - 1][Offset] = Value
-
- ## __CurrentLine() method
- #
- # Get the list that contains current line contents
- #
- # @param self The object pointer
- # @retval List current line contents
- #
- def __CurrentLine(self):
- return self.Profile.FileLinesList[self.CurrentLineNumber - 1]
-
- ## __InsertComma() method
- #
- # Insert ',' to replace PP
- #
- # @param self The object pointer
- # @retval List current line contents
- #
- def __InsertComma(self, Line):
-
-
- if self.Profile.FileLinesList[Line - 1][0] != T_CHAR_HASH:
- BeforeHashPart = str(self.Profile.FileLinesList[Line - 1]).split(T_CHAR_HASH)[0]
- if BeforeHashPart.rstrip().endswith(T_CHAR_COMMA) or BeforeHashPart.rstrip().endswith(';'):
- return
-
- if Line - 2 >= 0 and str(self.Profile.FileLinesList[Line - 2]).rstrip().endswith(','):
- return
-
- if Line - 2 >= 0 and str(self.Profile.FileLinesList[Line - 2]).rstrip().endswith(';'):
- return
-
- if str(self.Profile.FileLinesList[Line]).lstrip().startswith(',') or str(self.Profile.FileLinesList[Line]).lstrip().startswith(';'):
- return
-
- self.Profile.FileLinesList[Line - 1].insert(self.CurrentOffsetWithinLine, ',')
-
- ## PreprocessFileWithClear() method
- #
- # Run a preprocess for the file to clean all comments
- #
- # @param self The object pointer
- #
- def PreprocessFileWithClear(self):
-
- self.Rewind()
- InComment = False
- DoubleSlashComment = False
- HashComment = False
- PPExtend = False
- PPDirectiveObj = None
- # HashComment in quoted string " " is ignored.
- InString = False
- InCharLiteral = False
-
- self.Profile.FileLinesList = [list(s) for s in self.Profile.FileLinesListFromFile]
- while not self.__EndOfFile():
-
- if not InComment and self.__CurrentChar() == T_CHAR_DOUBLE_QUOTE:
- InString = not InString
-
- if not InComment and self.__CurrentChar() == T_CHAR_SINGLE_QUOTE:
- InCharLiteral = not InCharLiteral
- # meet new line, then no longer in a comment for // and '#'
- if self.__CurrentChar() == T_CHAR_LF:
- if HashComment and PPDirectiveObj != None:
- if PPDirectiveObj.Content.rstrip(T_CHAR_CR).endswith(T_CHAR_BACKSLASH):
- PPDirectiveObj.Content += T_CHAR_LF
- PPExtend = True
- else:
- PPExtend = False
-
- EndLinePos = (self.CurrentLineNumber, self.CurrentOffsetWithinLine)
-
- if InComment and DoubleSlashComment:
- InComment = False
- DoubleSlashComment = False
-
- if InComment and HashComment and not PPExtend:
- InComment = False
- HashComment = False
- PPDirectiveObj.Content += T_CHAR_LF
- PPDirectiveObj.EndPos = EndLinePos
- FileProfile.PPDirectiveList.append(PPDirectiveObj)
- PPDirectiveObj = None
-
- if InString or InCharLiteral:
- CurrentLine = "".join(self.__CurrentLine())
- if CurrentLine.rstrip(T_CHAR_LF).rstrip(T_CHAR_CR).endswith(T_CHAR_BACKSLASH):
- SlashIndex = CurrentLine.rindex(T_CHAR_BACKSLASH)
- self.__SetCharValue(self.CurrentLineNumber, SlashIndex, T_CHAR_SPACE)
-
- self.CurrentLineNumber += 1
- self.CurrentOffsetWithinLine = 0
- # check for */ comment end
- elif InComment and not DoubleSlashComment and not HashComment and self.__CurrentChar() == T_CHAR_STAR and self.__NextChar() == T_CHAR_SLASH:
-
- self.__SetCurrentCharValue(T_CHAR_SPACE)
- self.__GetOneChar()
- self.__SetCurrentCharValue(T_CHAR_SPACE)
- self.__GetOneChar()
- InComment = False
- # set comments to spaces
- elif InComment:
- if HashComment:
- # // follows hash PP directive
- if self.__CurrentChar() == T_CHAR_SLASH and self.__NextChar() == T_CHAR_SLASH:
- InComment = False
- HashComment = False
- PPDirectiveObj.EndPos = (self.CurrentLineNumber, self.CurrentOffsetWithinLine - 1)
- FileProfile.PPDirectiveList.append(PPDirectiveObj)
- PPDirectiveObj = None
- continue
- else:
- PPDirectiveObj.Content += self.__CurrentChar()
-
- self.__SetCurrentCharValue(T_CHAR_SPACE)
- self.__GetOneChar()
- # check for // comment
- elif self.__CurrentChar() == T_CHAR_SLASH and self.__NextChar() == T_CHAR_SLASH:
- InComment = True
- DoubleSlashComment = True
-
- # check for '#' comment
- elif self.__CurrentChar() == T_CHAR_HASH and not InString and not InCharLiteral:
- InComment = True
- HashComment = True
- PPDirectiveObj = PP_Directive('', (self.CurrentLineNumber, self.CurrentOffsetWithinLine), None)
- # check for /* comment start
- elif self.__CurrentChar() == T_CHAR_SLASH and self.__NextChar() == T_CHAR_STAR:
-
- self.__SetCurrentCharValue( T_CHAR_SPACE)
- self.__GetOneChar()
- self.__SetCurrentCharValue( T_CHAR_SPACE)
- self.__GetOneChar()
- InComment = True
- else:
- self.__GetOneChar()
-
- EndLinePos = (self.CurrentLineNumber, self.CurrentOffsetWithinLine)
-
- if InComment and HashComment and not PPExtend:
- PPDirectiveObj.EndPos = EndLinePos
- FileProfile.PPDirectiveList.append(PPDirectiveObj)
- self.Rewind()
-
- ## ParseFile() method
- #
- # Parse the file profile buffer to extract fd, fv ... information
- # Exception will be raised if syntax error found
- #
- # @param self The object pointer
- #
- def ParseFile(self):
- self.PreprocessFileWithClear()
- # restore from ListOfList to ListOfString
- self.Profile.FileLinesList = ["".join(list) for list in self.Profile.FileLinesList]
- FileStringContents = ''
- for fileLine in self.Profile.FileLinesList:
- FileStringContents += fileLine
- cStream = antlr3.StringStream(FileStringContents)
- lexer = CLexer(cStream)
- tStream = antlr3.CommonTokenStream(lexer)
- parser = CParser(tStream)
- parser.translation_unit()
-
- ## CleanFileProfileBuffer() method
- #
- # Reset all contents of the profile of a file
- #
- def CleanFileProfileBuffer(self):
-
- FileProfile.PPDirectiveList = []
- FileProfile.AssignmentExpressionList = []
- FileProfile.FunctionDefinitionList = []
- FileProfile.VariableDeclarationList = []
- FileProfile.EnumerationDefinitionList = []
- FileProfile.StructUnionDefinitionList = []
- FileProfile.TypedefDefinitionList = []
- FileProfile.FunctionCallingList = []
-
- ## PrintFragments() method
- #
- # Print the contents of the profile of a file
- #
- def PrintFragments(self):
-
- print '################# ' + self.FileName + '#####################'
-
- print '/****************************************/'
- print '/*************** ASSIGNMENTS ***************/'
- print '/****************************************/'
- for asign in FileProfile.AssignmentExpressionList:
- print str(asign.StartPos) + asign.Name + asign.Operator + asign.Value
-
- print '/****************************************/'
- print '/********* PREPROCESS DIRECTIVES ********/'
- print '/****************************************/'
- for pp in FileProfile.PPDirectiveList:
- print str(pp.StartPos) + pp.Content
-
- print '/****************************************/'
- print '/********* VARIABLE DECLARATIONS ********/'
- print '/****************************************/'
- for var in FileProfile.VariableDeclarationList:
- print str(var.StartPos) + var.Modifier + ' '+ var.Declarator
-
- print '/****************************************/'
- print '/********* FUNCTION DEFINITIONS *********/'
- print '/****************************************/'
- for func in FileProfile.FunctionDefinitionList:
- print str(func.StartPos) + func.Modifier + ' '+ func.Declarator + ' ' + str(func.NamePos)
-
- print '/****************************************/'
- print '/************ ENUMERATIONS **************/'
- print '/****************************************/'
- for enum in FileProfile.EnumerationDefinitionList:
- print str(enum.StartPos) + enum.Content
-
- print '/****************************************/'
- print '/*********** STRUCTS/UNIONS *************/'
- print '/****************************************/'
- for su in FileProfile.StructUnionDefinitionList:
- print str(su.StartPos) + su.Content
-
- print '/****************************************/'
- print '/************** TYPEDEFS ****************/'
- print '/****************************************/'
- for typedef in FileProfile.TypedefDefinitionList:
- print str(typedef.StartPos) + typedef.ToType
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == "__main__":
-
- print "For Test."
diff --git a/BaseTools/Source/Python/Eot/Database.py b/BaseTools/Source/Python/Eot/Database.py
deleted file mode 100644
index ce38a0fa92..0000000000
--- a/BaseTools/Source/Python/Eot/Database.py
+++ /dev/null
@@ -1,255 +0,0 @@
-## @file
-# This file is used to create a database used by EOT tool
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import sqlite3
-import os, time
-
-import Common.EdkLogger as EdkLogger
-import CommonDataClass.DataClass as DataClass
-
-from Table.TableDataModel import TableDataModel
-from Table.TableFile import TableFile
-from Table.TableFunction import TableFunction
-from Table.TableIdentifier import TableIdentifier
-from Table.TableEotReport import TableEotReport
-from Table.TableInf import TableInf
-from Table.TableDec import TableDec
-from Table.TableDsc import TableDsc
-from Table.TableFdf import TableFdf
-from Table.TableQuery import TableQuery
-
-##
-# Static definitions
-#
-DATABASE_PATH = "Eot.db"
-
-## Database class
-#
-# This class defined the EOT databse
-# During the phase of initialization, the database will create all tables and
-# insert all records of table DataModel
-#
-class Database(object):
- ## The constructor
- #
- # @param self: The object pointer
- # @param DbPath: The file path of the database
- #
- def __init__(self, DbPath):
- self.DbPath = DbPath
- self.Conn = None
- self.Cur = None
- self.TblDataModel = None
- self.TblFile = None
- self.TblFunction = None
- self.TblIdentifier = None
- self.TblReport = None
- self.TblInf = None
- self.TblDec = None
- self.TblDsc = None
- self.TblFdf = None
- self.TblQuery = None
- self.TblQuery2 = None
-
- ## InitDatabase() method
- # 1. Delete all old existing tables
- # 2. Create new tables
- # 3. Initialize table DataModel
- #
- # @param self: The object pointer
- # @param NewDatabase: Check if it needs to create a new database
- #
- def InitDatabase(self, NewDatabase = True):
- EdkLogger.verbose("\nInitialize EOT database started ...")
- #
- # Drop all old existing tables
- #
- if NewDatabase:
- if os.path.exists(self.DbPath):
- os.remove(self.DbPath)
- self.Conn = sqlite3.connect(self.DbPath, isolation_level = 'DEFERRED')
- self.Conn.execute("PRAGMA page_size=8192")
- self.Conn.execute("PRAGMA synchronous=OFF")
- # to avoid non-ascii charater conversion error
- self.Conn.text_factory = str
- self.Cur = self.Conn.cursor()
-
- self.TblDataModel = TableDataModel(self.Cur)
- self.TblFile = TableFile(self.Cur)
- self.TblFunction = TableFunction(self.Cur)
- self.TblIdentifier = TableIdentifier(self.Cur)
- self.TblReport = TableEotReport(self.Cur)
- self.TblInf = TableInf(self.Cur)
- self.TblDec = TableDec(self.Cur)
- self.TblDsc = TableDsc(self.Cur)
- self.TblFdf = TableFdf(self.Cur)
- self.TblQuery = TableQuery(self.Cur)
- self.TblQuery2 = TableQuery(self.Cur)
- self.TblQuery2.Table = 'Query2'
-
- # Create new tables
- if NewDatabase:
- self.TblDataModel.Create()
- self.TblFile.Create()
- self.TblFunction.Create()
- self.TblReport.Create()
- self.TblInf.Create()
- self.TblDec.Create()
- self.TblDsc.Create()
- self.TblFdf.Create()
- self.TblQuery.Create()
- self.TblQuery2.Create()
-
- # Init each table's ID
- self.TblDataModel.InitID()
- self.TblFile.InitID()
- self.TblFunction.InitID()
- self.TblReport.InitID()
- self.TblInf.InitID()
- self.TblDec.InitID()
- self.TblDsc.InitID()
- self.TblFdf.InitID()
- self.TblQuery.Drop()
- self.TblQuery.Create()
- self.TblQuery.InitID()
- self.TblQuery2.Drop()
- self.TblQuery2.Create()
- self.TblQuery2.InitID()
-
- # Initialize table DataModel
- if NewDatabase:
- self.TblDataModel.InitTable()
-
- EdkLogger.verbose("Initialize EOT database ... DONE!")
-
- ## QueryTable() method
- #
- # Query a table
- #
- # @param self: The object pointer
- # @param Table: The instance of the table to be queried
- #
- def QueryTable(self, Table):
- Table.Query()
-
- ## Close() method
- #
- # Commit all first
- # Close the connection and cursor
- #
- def Close(self):
- # Commit to file
- self.Conn.commit()
-
- # Close connection and cursor
- self.Cur.close()
- self.Conn.close()
-
- ## InsertOneFile() method
- #
- # Insert one file's information to the database
- # 1. Create a record in TableFile
- # 2. Create functions one by one
- # 2.1 Create variables of function one by one
- # 2.2 Create pcds of function one by one
- # 3. Create variables one by one
- # 4. Create pcds one by one
- #
- # @param self: The object pointer
- # @param File: The object of the file to be inserted
- #
- def InsertOneFile(self, File):
- # Insert a record for file
- FileID = self.TblFile.Insert(File.Name, File.ExtName, File.Path, File.FullPath, Model = File.Model, TimeStamp = File.TimeStamp)
- IdTable = TableIdentifier(self.Cur)
- IdTable.Table = "Identifier%s" % FileID
- IdTable.Create()
-
- # Insert function of file
- for Function in File.FunctionList:
- FunctionID = self.TblFunction.Insert(Function.Header, Function.Modifier, Function.Name, Function.ReturnStatement, \
- Function.StartLine, Function.StartColumn, Function.EndLine, Function.EndColumn, \
- Function.BodyStartLine, Function.BodyStartColumn, FileID, \
- Function.FunNameStartLine, Function.FunNameStartColumn)
-
- # Insert Identifier of function
- for Identifier in Function.IdentifierList:
- IdentifierID = IdTable.Insert(Identifier.Modifier, Identifier.Type, Identifier.Name, Identifier.Value, Identifier.Model, \
- FileID, FunctionID, Identifier.StartLine, Identifier.StartColumn, Identifier.EndLine, Identifier.EndColumn)
- # Insert Identifier of file
- for Identifier in File.IdentifierList:
- IdentifierID = IdTable.Insert(Identifier.Modifier, Identifier.Type, Identifier.Name, Identifier.Value, Identifier.Model, \
- FileID, -1, Identifier.StartLine, Identifier.StartColumn, Identifier.EndLine, Identifier.EndColumn)
-
- EdkLogger.verbose("Insert information from file %s ... DONE!" % File.FullPath)
-
- ## UpdateIdentifierBelongsToFunction() method
- #
- # Update the field "BelongsToFunction" for each Indentifier
- #
- # @param self: The object pointer
- #
- def UpdateIdentifierBelongsToFunction(self):
- EdkLogger.verbose("Update 'BelongsToFunction' for Identifiers started ...")
-
- SqlCommand = """select ID, BelongsToFile, StartLine, EndLine from Function"""
- Records = self.TblFunction.Exec(SqlCommand)
- Data1 = []
- Data2 = []
- for Record in Records:
- FunctionID = Record[0]
- BelongsToFile = Record[1]
- StartLine = Record[2]
- EndLine = Record[3]
-
- SqlCommand = """Update Identifier%s set BelongsToFunction = %s where BelongsToFile = %s and StartLine > %s and EndLine < %s""" % \
- (BelongsToFile, FunctionID, BelongsToFile, StartLine, EndLine)
- self.TblIdentifier.Exec(SqlCommand)
-
- SqlCommand = """Update Identifier%s set BelongsToFunction = %s, Model = %s where BelongsToFile = %s and Model = %s and EndLine = %s""" % \
- (BelongsToFile, FunctionID, DataClass.MODEL_IDENTIFIER_FUNCTION_HEADER, BelongsToFile, DataClass.MODEL_IDENTIFIER_COMMENT, StartLine - 1)
- self.TblIdentifier.Exec(SqlCommand)
-
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
- EdkLogger.Initialize()
- EdkLogger.SetLevel(EdkLogger.DEBUG_0)
- EdkLogger.verbose("Start at " + time.strftime('%H:%M:%S', time.localtime()))
-
- Db = Database(DATABASE_PATH)
- Db.InitDatabase()
- Db.QueryTable(Db.TblDataModel)
-
- identifier1 = DataClass.IdentifierClass(-1, '', '', "i''1", 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 32, 43, 54, 43)
- identifier2 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 15, 43, 20, 43)
- identifier3 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 55, 43, 58, 43)
- identifier4 = DataClass.IdentifierClass(-1, '', '', "i1'", 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 77, 43, 88, 43)
- fun1 = DataClass.FunctionClass(-1, '', '', 'fun1', '', 21, 2, 60, 45, 1, 23, 0, [], [])
- file = DataClass.FileClass(-1, 'F1', 'c', 'C:\\', 'C:\\F1.exe', DataClass.MODEL_FILE_C, '2007-12-28', [fun1], [identifier1, identifier2, identifier3, identifier4], [])
- Db.InsertOneFile(file)
-
- Db.QueryTable(Db.TblFile)
- Db.QueryTable(Db.TblFunction)
- Db.QueryTable(Db.TblIdentifier)
-
- Db.Close()
- EdkLogger.verbose("End at " + time.strftime('%H:%M:%S', time.localtime()))
-
diff --git a/BaseTools/Source/Python/Eot/EfiCompressor.pyd b/BaseTools/Source/Python/Eot/EfiCompressor.pyd
deleted file mode 100644
index 0729100b99..0000000000
--- a/BaseTools/Source/Python/Eot/EfiCompressor.pyd
+++ /dev/null
Binary files differ
diff --git a/BaseTools/Source/Python/Eot/Eot.py b/BaseTools/Source/Python/Eot/Eot.py
deleted file mode 100644
index ee7f3197a1..0000000000
--- a/BaseTools/Source/Python/Eot/Eot.py
+++ /dev/null
@@ -1,647 +0,0 @@
-## @file
-# This file is used to be the main entrance of EOT tool
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import os, time, glob
-import Common.EdkLogger as EdkLogger
-import EotGlobalData
-from optparse import OptionParser
-from Common.String import NormPath
-from Common import BuildToolError
-from Common.Misc import GuidStructureStringToGuidString
-from InfParserLite import *
-import c
-import Database
-from FvImage import *
-from array import array
-from Report import Report
-from Common.Misc import ParseConsoleLog
-from Parser import ConvertGuid
-
-## Class Eot
-#
-# This class is used to define Eot main entrance
-#
-# @param object: Inherited from object class
-#
-class Eot(object):
- ## The constructor
- #
- # @param self: The object pointer
- #
- def __init__(self, CommandLineOption=True, IsInit=True, SourceFileList=None, \
- IncludeDirList=None, DecFileList=None, GuidList=None, LogFile=None,
- FvFileList="", MapFileList="", Report='Report.html', Dispatch=None):
- # Version and Copyright
- self.VersionNumber = "0.02"
- self.Version = "%prog Version " + self.VersionNumber
- self.Copyright = "Copyright (c) 2008 - 2010, Intel Corporation All rights reserved."
- self.Report = Report
-
- self.IsInit = IsInit
- self.SourceFileList = SourceFileList
- self.IncludeDirList = IncludeDirList
- self.DecFileList = DecFileList
- self.GuidList = GuidList
- self.LogFile = LogFile
- self.FvFileList = FvFileList
- self.MapFileList = MapFileList
- self.Dispatch = Dispatch
-
- # Check workspace environment
- if "EFI_SOURCE" not in os.environ:
- if "EDK_SOURCE" not in os.environ:
- pass
- else:
- EotGlobalData.gEDK_SOURCE = os.path.normpath(os.getenv("EDK_SOURCE"))
- else:
- EotGlobalData.gEFI_SOURCE = os.path.normpath(os.getenv("EFI_SOURCE"))
- EotGlobalData.gEDK_SOURCE = os.path.join(EotGlobalData.gEFI_SOURCE, 'Edk')
-
- if "WORKSPACE" not in os.environ:
- EdkLogger.error("EOT", BuildToolError.ATTRIBUTE_NOT_AVAILABLE, "Environment variable not found",
- ExtraData="WORKSPACE")
- else:
- EotGlobalData.gWORKSPACE = os.path.normpath(os.getenv("WORKSPACE"))
-
- EotGlobalData.gMACRO['WORKSPACE'] = EotGlobalData.gWORKSPACE
- EotGlobalData.gMACRO['EFI_SOURCE'] = EotGlobalData.gEFI_SOURCE
- EotGlobalData.gMACRO['EDK_SOURCE'] = EotGlobalData.gEDK_SOURCE
-
- # Parse the options and args
- if CommandLineOption:
- self.ParseOption()
-
- if self.FvFileList:
- for FvFile in GetSplitValueList(self.FvFileList, ' '):
- FvFile = os.path.normpath(FvFile)
- if not os.path.isfile(FvFile):
- EdkLogger.error("Eot", EdkLogger.EOT_ERROR, "Can not find file %s " % FvFile)
- EotGlobalData.gFV_FILE.append(FvFile)
- else:
- EdkLogger.error("Eot", EdkLogger.EOT_ERROR, "The fv file list of target platform was not specified")
-
- if self.MapFileList:
- for MapFile in GetSplitValueList(self.MapFileList, ' '):
- MapFile = os.path.normpath(MapFile)
- if not os.path.isfile(MapFile):
- EdkLogger.error("Eot", EdkLogger.EOT_ERROR, "Can not find file %s " % MapFile)
- EotGlobalData.gMAP_FILE.append(MapFile)
-
- # Generate source file list
- self.GenerateSourceFileList(self.SourceFileList, self.IncludeDirList)
-
- # Generate guid list of dec file list
- self.ParseDecFile(self.DecFileList)
-
- # Generate guid list from GUID list file
- self.ParseGuidList(self.GuidList)
-
- # Init Eot database
- EotGlobalData.gDb = Database.Database(Database.DATABASE_PATH)
- EotGlobalData.gDb.InitDatabase(self.IsInit)
-
- # Build ECC database
- self.BuildDatabase()
-
- # Parse Ppi/Protocol
- self.ParseExecutionOrder()
-
- # Merge Identifier tables
- self.GenerateQueryTable()
-
- # Generate report database
- self.GenerateReportDatabase()
-
- # Load Fv Info
- self.LoadFvInfo()
-
- # Load Map Info
- self.LoadMapInfo()
-
- # Generate Report
- self.GenerateReport()
-
- # Convert log file
- self.ConvertLogFile(self.LogFile)
-
- # DONE
- EdkLogger.quiet("EOT FINISHED!")
-
- # Close Database
- EotGlobalData.gDb.Close()
-
- ## ParseDecFile() method
- #
- # parse DEC file and get all GUID names with GUID values as {GuidName : GuidValue}
- # The Dict is stored in EotGlobalData.gGuidDict
- #
- # @param self: The object pointer
- # @param DecFileList: A list of all DEC files
- #
- def ParseDecFile(self, DecFileList):
- if DecFileList:
- path = os.path.normpath(DecFileList)
- lfr = open(path, 'rb')
- for line in lfr:
- path = os.path.normpath(os.path.join(EotGlobalData.gWORKSPACE, line.strip()))
- if os.path.exists(path):
- dfr = open(path, 'rb')
- for line in dfr:
- line = CleanString(line)
- list = line.split('=')
- if len(list) == 2:
- EotGlobalData.gGuidDict[list[0].strip()] = GuidStructureStringToGuidString(list[1].strip())
-
-
- ## ParseGuidList() method
- #
- # Parse Guid list and get all GUID names with GUID values as {GuidName : GuidValue}
- # The Dict is stored in EotGlobalData.gGuidDict
- #
- # @param self: The object pointer
- # @param GuidList: A list of all GUID and its value
- #
- def ParseGuidList(self, GuidList):
- Path = os.path.join(EotGlobalData.gWORKSPACE, GuidList)
- if os.path.isfile(Path):
- for Line in open(Path):
- (GuidName, GuidValue) = Line.split()
- EotGlobalData.gGuidDict[GuidName] = GuidValue
-
- ## ConvertLogFile() method
- #
- # Parse a real running log file to get real dispatch order
- # The result is saved to old file name + '.new'
- #
- # @param self: The object pointer
- # @param LogFile: A real running log file name
- #
- def ConvertLogFile(self, LogFile):
- newline = []
- lfr = None
- lfw = None
- if LogFile:
- lfr = open(LogFile, 'rb')
- lfw = open(LogFile + '.new', 'wb')
- for line in lfr:
- line = line.strip()
- line = line.replace('.efi', '')
- index = line.find("Loading PEIM at ")
- if index > -1:
- newline.append(line[index + 55 : ])
- continue
- index = line.find("Loading driver at ")
- if index > -1:
- newline.append(line[index + 57 : ])
- continue
-
- for line in newline:
- lfw.write(line + '\r\n')
-
- if lfr:
- lfr.close()
- if lfw:
- lfw.close()
-
- ## GenerateSourceFileList() method
- #
- # Generate a list of all source files
- # 1. Search the file list one by one
- # 2. Store inf file name with source file names under it like
- # { INF file name: [source file1, source file2, ...]}
- # 3. Search the include list to find all .h files
- # 4. Store source file list to EotGlobalData.gSOURCE_FILES
- # 5. Store INF file list to EotGlobalData.gINF_FILES
- #
- # @param self: The object pointer
- # @param SourceFileList: A list of all source files
- # @param IncludeFileList: A list of all include files
- #
- def GenerateSourceFileList(self, SourceFileList, IncludeFileList):
- EdkLogger.quiet("Generating source files list ... ")
- mSourceFileList = []
- mInfFileList = []
- mDecFileList = []
- mFileList = {}
- mCurrentInfFile = ''
- mCurrentSourceFileList = []
-
- if SourceFileList:
- sfl = open(SourceFileList, 'rb')
- for line in sfl:
- line = os.path.normpath(os.path.join(EotGlobalData.gWORKSPACE, line.strip()))
- if line[-2:].upper() == '.C' or line[-2:].upper() == '.H':
- if line not in mCurrentSourceFileList:
- mCurrentSourceFileList.append(line)
- mSourceFileList.append(line)
- EotGlobalData.gOP_SOURCE_FILES.write('%s\n' % line)
- if line[-4:].upper() == '.INF':
- if mCurrentInfFile != '':
- mFileList[mCurrentInfFile] = mCurrentSourceFileList
- mCurrentSourceFileList = []
- mCurrentInfFile = os.path.normpath(os.path.join(EotGlobalData.gWORKSPACE, line))
- EotGlobalData.gOP_INF.write('%s\n' % mCurrentInfFile)
- if mCurrentInfFile not in mFileList:
- mFileList[mCurrentInfFile] = mCurrentSourceFileList
-
- # Get all include files from packages
- if IncludeFileList:
- ifl = open(IncludeFileList, 'rb')
- for line in ifl:
- if not line.strip():
- continue
- newline = os.path.normpath(os.path.join(EotGlobalData.gWORKSPACE, line.strip()))
- for Root, Dirs, Files in os.walk(str(newline)):
- for File in Files:
- FullPath = os.path.normpath(os.path.join(Root, File))
- if FullPath not in mSourceFileList and File[-2:].upper() == '.H':
- mSourceFileList.append(FullPath)
- EotGlobalData.gOP_SOURCE_FILES.write('%s\n' % FullPath)
- if FullPath not in mDecFileList and File.upper().find('.DEC') > -1:
- mDecFileList.append(FullPath)
-
- EotGlobalData.gSOURCE_FILES = mSourceFileList
- EotGlobalData.gOP_SOURCE_FILES.close()
-
- EotGlobalData.gINF_FILES = mFileList
- EotGlobalData.gOP_INF.close()
-
- EotGlobalData.gDEC_FILES = mDecFileList
-
-
- ## GenerateReport() method
- #
- # Generate final HTML report
- #
- # @param self: The object pointer
- #
- def GenerateReport(self):
- EdkLogger.quiet("Generating report file ... ")
- Rep = Report(self.Report, EotGlobalData.gFV, self.Dispatch)
- Rep.GenerateReport()
-
- ## LoadMapInfo() method
- #
- # Load map files and parse them
- #
- # @param self: The object pointer
- #
- def LoadMapInfo(self):
- if EotGlobalData.gMAP_FILE != []:
- EdkLogger.quiet("Parsing Map file ... ")
- EotGlobalData.gMap = ParseMapFile(EotGlobalData.gMAP_FILE)
-
- ## LoadFvInfo() method
- #
- # Load FV binary files and parse them
- #
- # @param self: The object pointer
- #
- def LoadFvInfo(self):
- EdkLogger.quiet("Parsing FV file ... ")
- EotGlobalData.gFV = MultipleFv(EotGlobalData.gFV_FILE)
- EotGlobalData.gFV.Dispatch(EotGlobalData.gDb)
-
- for Protocol in EotGlobalData.gProtocolList:
- EotGlobalData.gOP_UN_MATCHED_IN_LIBRARY_CALLING.write('%s\n' %Protocol)
-
- ## GenerateReportDatabase() method
- #
- # Generate data for the information needed by report
- # 1. Update name, macro and value of all found PPI/PROTOCOL GUID
- # 2. Install hard coded PPI/PROTOCOL
- #
- # @param self: The object pointer
- #
- def GenerateReportDatabase(self):
- EdkLogger.quiet("Generating the cross-reference table of GUID for Ppi/Protocol ... ")
-
- # Update Protocol/Ppi Guid
- SqlCommand = """select DISTINCT GuidName from Report"""
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- for Record in RecordSet:
- GuidName = Record[0]
- GuidMacro = ''
- GuidMacro2 = ''
- GuidValue = ''
-
- # Find value for hardcode guid macro
- if GuidName in EotGlobalData.gGuidMacroDict:
- GuidMacro = EotGlobalData.gGuidMacroDict[GuidName][0]
- GuidValue = EotGlobalData.gGuidMacroDict[GuidName][1]
- SqlCommand = """update Report set GuidMacro = '%s', GuidValue = '%s' where GuidName = '%s'""" %(GuidMacro, GuidValue, GuidName)
- EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- continue
-
- # Find guid value defined in Dec file
- if GuidName in EotGlobalData.gGuidDict:
- GuidValue = EotGlobalData.gGuidDict[GuidName]
- SqlCommand = """update Report set GuidMacro = '%s', GuidValue = '%s' where GuidName = '%s'""" %(GuidMacro, GuidValue, GuidName)
- EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- continue
-
- # Search defined Macros for guid name
- SqlCommand ="""select DISTINCT Value, Modifier from Query where Name like '%s'""" % GuidName
- GuidMacroSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- # Ignore NULL result
- if not GuidMacroSet:
- continue
- GuidMacro = GuidMacroSet[0][0].strip()
- if not GuidMacro:
- continue
- # Find Guid value of Guid Macro
- SqlCommand ="""select DISTINCT Value from Query2 where Value like '%%%s%%' and Model = %s""" % (GuidMacro, MODEL_IDENTIFIER_MACRO_DEFINE)
- GuidValueSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if GuidValueSet != []:
- GuidValue = GuidValueSet[0][0]
- GuidValue = GuidValue[GuidValue.find(GuidMacro) + len(GuidMacro) :]
- GuidValue = GuidValue.lower().replace('\\', '').replace('\r', '').replace('\n', '').replace('l', '').strip()
- GuidValue = GuidStructureStringToGuidString(GuidValue)
- SqlCommand = """update Report set GuidMacro = '%s', GuidValue = '%s' where GuidName = '%s'""" %(GuidMacro, GuidValue, GuidName)
- EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- continue
-
- # Update Hard Coded Ppi/Protocol
- SqlCommand = """select DISTINCT GuidValue, ItemType from Report where ModuleID = -2 and ItemMode = 'Produced'"""
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- for Record in RecordSet:
- if Record[1] == 'Ppi':
- EotGlobalData.gPpiList[Record[0].lower()] = -2
- if Record[1] == 'Protocol':
- EotGlobalData.gProtocolList[Record[0].lower()] = -2
-
- ## GenerateQueryTable() method
- #
- # Generate two tables improve query performance
- #
- # @param self: The object pointer
- #
- def GenerateQueryTable(self):
- EdkLogger.quiet("Generating temp query table for analysis ... ")
- for Identifier in EotGlobalData.gIdentifierTableList:
- SqlCommand = """insert into Query (Name, Modifier, Value, Model)
- select Name, Modifier, Value, Model from %s where (Model = %s or Model = %s)""" \
- % (Identifier[0], MODEL_IDENTIFIER_VARIABLE, MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION)
- EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- SqlCommand = """insert into Query2 (Name, Modifier, Value, Model)
- select Name, Modifier, Value, Model from %s where Model = %s""" \
- % (Identifier[0], MODEL_IDENTIFIER_MACRO_DEFINE)
- EotGlobalData.gDb.TblReport.Exec(SqlCommand)
-
- ## ParseExecutionOrder() method
- #
- # Get final execution order
- # 1. Search all PPI
- # 2. Search all PROTOCOL
- #
- # @param self: The object pointer
- #
- def ParseExecutionOrder(self):
- EdkLogger.quiet("Searching Ppi/Protocol ... ")
- for Identifier in EotGlobalData.gIdentifierTableList:
- ModuleID, ModuleName, ModuleGuid, SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, Enabled = \
- -1, '', '', -1, '', '', '', '', '', '', '', '', 0
-
- SourceFileID = Identifier[0].replace('Identifier', '')
- SourceFileFullPath = Identifier[1]
- Identifier = Identifier[0]
-
- # Find Ppis
- ItemMode = 'Produced'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.InstallPpi', '->InstallPpi', 'PeiInstallPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchPpi(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode)
-
- ItemMode = 'Produced'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.ReInstallPpi', '->ReInstallPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchPpi(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 2)
-
- SearchPpiCallFunction(Identifier, SourceFileID, SourceFileFullPath, ItemMode)
-
- ItemMode = 'Consumed'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.LocatePpi', '->LocatePpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchPpi(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode)
-
- SearchFunctionCalling(Identifier, SourceFileID, SourceFileFullPath, 'Ppi', ItemMode)
-
- ItemMode = 'Callback'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.NotifyPpi', '->NotifyPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchPpi(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode)
-
- # Find Procotols
- ItemMode = 'Produced'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%' or Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.InstallProtocolInterface', '.ReInstallProtocolInterface', '->InstallProtocolInterface', '->ReInstallProtocolInterface', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchProtocols(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 1)
-
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.InstallMultipleProtocolInterfaces', '->InstallMultipleProtocolInterfaces', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchProtocols(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 2)
-
- SearchFunctionCalling(Identifier, SourceFileID, SourceFileFullPath, 'Protocol', ItemMode)
-
- ItemMode = 'Consumed'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.LocateProtocol', '->LocateProtocol', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchProtocols(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 0)
-
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.HandleProtocol', '->HandleProtocol', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchProtocols(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 1)
-
- SearchFunctionCalling(Identifier, SourceFileID, SourceFileFullPath, 'Protocol', ItemMode)
-
- ItemMode = 'Callback'
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
- % (Identifier, '.RegisterProtocolNotify', '->RegisterProtocolNotify', MODEL_IDENTIFIER_FUNCTION_CALLING)
- SearchProtocols(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode, 0)
-
- SearchFunctionCalling(Identifier, SourceFileID, SourceFileFullPath, 'Protocol', ItemMode)
-
- # Hard Code
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gEfiSecPlatformInformationPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gEfiNtLoadAsDllPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gNtPeiLoadFileGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gPeiNtAutoScanPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gNtFwhPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gPeiNtThunkPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gPeiPlatformTypePpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gPeiFrequencySelectionCpuPpiGuid', '', '', '', 0)
- EotGlobalData.gDb.TblReport.Insert(-2, '', '', -1, '', '', 'Ppi', 'Produced', 'gPeiCachePpiGuid', '', '', '', 0)
-
- EotGlobalData.gDb.Conn.commit()
-
-
- ## BuildDatabase() methoc
- #
- # Build the database for target
- #
- # @param self: The object pointer
- #
- def BuildDatabase(self):
- # Clean report table
- EotGlobalData.gDb.TblReport.Drop()
- EotGlobalData.gDb.TblReport.Create()
-
- # Build database
- if self.IsInit:
- self.BuildMetaDataFileDatabase(EotGlobalData.gINF_FILES)
- EdkLogger.quiet("Building database for source code ...")
- c.CreateCCodeDB(EotGlobalData.gSOURCE_FILES)
- EdkLogger.quiet("Building database for source code done!")
-
- EotGlobalData.gIdentifierTableList = GetTableList((MODEL_FILE_C, MODEL_FILE_H), 'Identifier', EotGlobalData.gDb)
-
- ## BuildMetaDataFileDatabase() method
- #
- # Build the database for meta data files
- #
- # @param self: The object pointer
- # @param Inf_Files: A list for all INF files
- #
- def BuildMetaDataFileDatabase(self, Inf_Files):
- EdkLogger.quiet("Building database for meta data files ...")
- for InfFile in Inf_Files:
- EdkLogger.quiet("Parsing %s ..." % str(InfFile))
- EdkInfParser(InfFile, EotGlobalData.gDb, Inf_Files[InfFile], '')
-
- EotGlobalData.gDb.Conn.commit()
- EdkLogger.quiet("Building database for meta data files done!")
-
- ## ParseOption() method
- #
- # Parse command line options
- #
- # @param self: The object pointer
- #
- def ParseOption(self):
- (Options, Target) = self.EotOptionParser()
-
- # Set log level
- self.SetLogLevel(Options)
-
- if Options.FvFileList:
- self.FvFileList = Options.FvFileList
-
- if Options.MapFileList:
- self.MapFileList = Options.FvMapFileList
-
- if Options.SourceFileList:
- self.SourceFileList = Options.SourceFileList
-
- if Options.IncludeDirList:
- self.IncludeDirList = Options.IncludeDirList
-
- if Options.DecFileList:
- self.DecFileList = Options.DecFileList
-
- if Options.GuidList:
- self.GuidList = Options.GuidList
-
- if Options.LogFile:
- self.LogFile = Options.LogFile
-
- if Options.keepdatabase:
- self.IsInit = False
-
- ## SetLogLevel() method
- #
- # Set current log level of the tool based on args
- #
- # @param self: The object pointer
- # @param Option: The option list including log level setting
- #
- def SetLogLevel(self, Option):
- if Option.verbose != None:
- EdkLogger.SetLevel(EdkLogger.VERBOSE)
- elif Option.quiet != None:
- EdkLogger.SetLevel(EdkLogger.QUIET)
- elif Option.debug != None:
- EdkLogger.SetLevel(Option.debug + 1)
- else:
- EdkLogger.SetLevel(EdkLogger.INFO)
-
- ## EotOptionParser() method
- #
- # Using standard Python module optparse to parse command line option of this tool.
- #
- # @param self: The object pointer
- #
- # @retval Opt A optparse.Values object containing the parsed options
- # @retval Args Target of build command
- #
- def EotOptionParser(self):
- Parser = OptionParser(description = self.Copyright, version = self.Version, prog = "Eot.exe", usage = "%prog [options]")
- Parser.add_option("-m", "--makefile filename", action="store", type="string", dest='MakeFile',
- help="Specify a makefile for the platform.")
- Parser.add_option("-c", "--dsc filename", action="store", type="string", dest="DscFile",
- help="Specify a dsc file for the platform.")
- Parser.add_option("-f", "--fv filename", action="store", type="string", dest="FvFileList",
- help="Specify fv file list, quoted by \"\".")
- Parser.add_option("-a", "--map filename", action="store", type="string", dest="MapFileList",
- help="Specify map file list, quoted by \"\".")
- Parser.add_option("-s", "--source files", action="store", type="string", dest="SourceFileList",
- help="Specify source file list by a file")
- Parser.add_option("-i", "--include dirs", action="store", type="string", dest="IncludeDirList",
- help="Specify include dir list by a file")
- Parser.add_option("-e", "--dec files", action="store", type="string", dest="DecFileList",
- help="Specify dec file list by a file")
- Parser.add_option("-g", "--guid list", action="store", type="string", dest="GuidList",
- help="Specify guid file list by a file")
- Parser.add_option("-l", "--log filename", action="store", type="string", dest="LogFile",
- help="Specify real execution log file")
-
- Parser.add_option("-k", "--keepdatabase", action="store_true", type=None, help="The existing Eot database will not be cleaned except report information if this option is specified.")
-
- Parser.add_option("-q", "--quiet", action="store_true", type=None, help="Disable all messages except FATAL ERRORS.")
- Parser.add_option("-v", "--verbose", action="store_true", type=None, help="Turn on verbose output with informational messages printed, "\
- "including library instances selected, final dependency expression, "\
- "and warning messages, etc.")
- Parser.add_option("-d", "--debug", action="store", type="int", help="Enable debug messages at specified level.")
-
- (Opt, Args)=Parser.parse_args()
-
- return (Opt, Args)
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
- # Initialize log system
- EdkLogger.Initialize()
- EdkLogger.IsRaiseError = False
- EdkLogger.quiet(time.strftime("%H:%M:%S, %b.%d %Y ", time.localtime()) + "[00:00]" + "\n")
-
- StartTime = time.clock()
- Eot = Eot()
- FinishTime = time.clock()
-
- BuildDuration = time.strftime("%M:%S", time.gmtime(int(round(FinishTime - StartTime))))
- EdkLogger.quiet("\n%s [%s]" % (time.strftime("%H:%M:%S, %b.%d %Y", time.localtime()), BuildDuration))
diff --git a/BaseTools/Source/Python/Eot/EotGlobalData.py b/BaseTools/Source/Python/Eot/EotGlobalData.py
deleted file mode 100644
index 43fd57a8de..0000000000
--- a/BaseTools/Source/Python/Eot/EotGlobalData.py
+++ /dev/null
@@ -1,138 +0,0 @@
-## @file
-# This file is used to save global datas
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-from Common.Misc import sdict
-
-gEFI_SOURCE = ''
-gEDK_SOURCE = ''
-gWORKSPACE = ''
-gSHELL_INF = 'Application\Shell'
-gMAKE_FILE = ''
-gDSC_FILE = ''
-gFV_FILE = []
-gFV = []
-gMAP_FILE = []
-gMap = {}
-
-
-gDb = ''
-gIdentifierTableList = []
-
-# Global macro
-gMACRO = {}
-gMACRO['EFI_SOURCE'] = gEFI_SOURCE
-gMACRO['EDK_SOURCE'] = gEDK_SOURCE
-gMACRO['SHELL_INF'] = gSHELL_INF
-gMACRO['CAPSULE_INF'] = ''
-
-gNOT_FOUND_FILES = []
-gSOURCE_FILES = []
-gINF_FILES = {}
-gDEC_FILES = []
-
-# Log file for unmatched variables
-gUN_MATCHED_LOG = 'Log_UnMatched.log'
-gOP_UN_MATCHED = open(gUN_MATCHED_LOG, 'w+')
-
-# Log file for all INF files
-gINF_FILES = 'Log_Inf_File.log'
-gOP_INF = open(gINF_FILES, 'w+')
-
-# Log file for not dispatched PEIM/DRIVER
-gUN_DISPATCHED_LOG = 'Log_UnDispatched.log'
-gOP_UN_DISPATCHED = open(gUN_DISPATCHED_LOG, 'w+')
-
-# Log file for unmatched variables in function calling
-gUN_MATCHED_IN_LIBRARY_CALLING_LOG = 'Log_UnMatchedInLibraryCalling.log'
-gOP_UN_MATCHED_IN_LIBRARY_CALLING = open(gUN_MATCHED_IN_LIBRARY_CALLING_LOG, 'w+')
-
-# Log file for order of dispatched PEIM/DRIVER
-gDISPATCH_ORDER_LOG = 'Log_DispatchOrder.log'
-gOP_DISPATCH_ORDER = open(gDISPATCH_ORDER_LOG, 'w+')
-
-# Log file for source files not found
-gUN_FOUND_FILES = 'Log_UnFoundSourceFiles.log'
-gOP_UN_FOUND_FILES = open(gUN_FOUND_FILES, 'w+')
-
-# Log file for found source files
-gSOURCE_FILES = 'Log_SourceFiles.log'
-gOP_SOURCE_FILES = open(gSOURCE_FILES, 'w+')
-
-# Dict for GUID found in DEC files
-gGuidDict = sdict()
-
-# Dict for hard coded GUID Macros
-# {GuidName : [GuidMacro : GuidValue]}
-gGuidMacroDict = sdict()
-
-# Dict for PPI
-gPpiList = {}
-
-# Dict for PROTOCOL
-gProtocolList = {}
-
-# Dict for consumed PPI function calling
-gConsumedPpiLibrary = sdict()
-gConsumedPpiLibrary['EfiCommonLocateInterface'] = 0
-gConsumedPpiLibrary['PeiServicesLocatePpi'] = 0
-
-# Dict for produced PROTOCOL function calling
-gProducedProtocolLibrary = sdict()
-gProducedProtocolLibrary['RegisterEsalClass'] = 0
-gProducedProtocolLibrary['CoreInstallProtocolInterface'] = 1
-gProducedProtocolLibrary['CoreInstallMultipleProtocolInterfaces'] = -1
-gProducedProtocolLibrary['EfiInstallProtocolInterface'] = 1
-gProducedProtocolLibrary['EfiReinstallProtocolInterface'] = 1
-gProducedProtocolLibrary['EfiLibNamedEventSignal'] = 0
-gProducedProtocolLibrary['LibInstallProtocolInterfaces'] = 1
-gProducedProtocolLibrary['LibReinstallProtocolInterfaces'] = 1
-
-# Dict for consumed PROTOCOL function calling
-gConsumedProtocolLibrary = sdict()
-gConsumedProtocolLibrary['EfiHandleProtocol'] = 0
-gConsumedProtocolLibrary['EfiLocateProtocolHandleBuffers'] = 0
-gConsumedProtocolLibrary['EfiLocateProtocolInterface'] = 0
-gConsumedProtocolLibrary['EfiHandleProtocol'] = 1
-
-# Dict for callback PROTOCOL function callling
-gCallbackProtocolLibrary = sdict()
-gCallbackProtocolLibrary['EfiRegisterProtocolCallback'] = 2
-
-# Dict for ARCH PROTOCOL
-gArchProtocols = ['gEfiBdsArchProtocolGuid',
- 'gEfiCapsuleArchProtocolGuid',
- 'gEfiCpuArchProtocolGuid', #5053697e-2cbc-4819-90d9-0580deee5754
- 'gEfiMetronomeArchProtocolGuid',
- 'gEfiMonotonicCounterArchProtocolGuid',
- 'gEfiRealTimeClockArchProtocolGuid',
- 'gEfiResetArchProtocolGuid',
- 'gEfiRuntimeArchProtocolGuid',
- 'gEfiSecurityArchProtocolGuid',
- 'gEfiStatusCodeRuntimeProtocolGuid',
- 'gEfiTimerArchProtocolGuid',
- 'gEfiVariableArchProtocolGuid',
- 'gEfiVariableWriteArchProtocolGuid',
- 'gEfiWatchdogTimerArchProtocolGuid']
-gArchProtocolGuids = ['665e3ff6-46cc-11d4-9a38-0090273fc14d',
- '26baccb1-6f42-11d4-bce7-0080c73c8881',
- '26baccb2-6f42-11d4-bce7-0080c73c8881',
- '1da97072-bddc-4b30-99f1-72a0b56fff2a',
- '27cfac87-46cc-11d4-9a38-0090273fc14d',
- '27cfac88-46cc-11d4-9a38-0090273fc14d',
- 'b7dfb4e1-052f-449f-87be-9818fc91b733',
- 'a46423e3-4617-49f1-b9ff-d1bfa9115839',
- 'd2b2b828-0826-48a7-b3df-983c006024f0',
- '26baccb3-6f42-11d4-bce7-0080c73c8881',
- '1e5668e2-8481-11d4-bcf1-0080c73c8881',
- '6441f818-6362-4e44-b570-7dba31dd2453',
- '665e3ff5-46cc-11d4-9a38-0090273fc14d']
diff --git a/BaseTools/Source/Python/Eot/EotToolError.py b/BaseTools/Source/Python/Eot/EotToolError.py
deleted file mode 100644
index 0b3686a586..0000000000
--- a/BaseTools/Source/Python/Eot/EotToolError.py
+++ /dev/null
@@ -1,21 +0,0 @@
-## @file
-# Standardized Error Handling infrastructures.
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-# Error id
-ERROR_1 = 1000
-
-# Error message
-gEccErrorMessage = {
- ERROR_1 : "RESERVED"
- }
-
diff --git a/BaseTools/Source/Python/Eot/FileProfile.py b/BaseTools/Source/Python/Eot/FileProfile.py
deleted file mode 100644
index b377ef6f41..0000000000
--- a/BaseTools/Source/Python/Eot/FileProfile.py
+++ /dev/null
@@ -1,58 +0,0 @@
-## @file
-# fragments of source file
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-
-import re
-import os
-from ParserWarning import Warning
-
-# Profile contents of a file
-PPDirectiveList = []
-AssignmentExpressionList = []
-PredicateExpressionList = []
-FunctionDefinitionList = []
-VariableDeclarationList = []
-EnumerationDefinitionList = []
-StructUnionDefinitionList = []
-TypedefDefinitionList = []
-FunctionCallingList = []
-
-## Class FileProfile
-#
-# record file data when parsing source
-#
-# May raise Exception when opening file.
-#
-class FileProfile :
-
- ## The constructor
- #
- # @param self: The object pointer
- # @param FileName: The file that to be parsed
- #
- def __init__(self, FileName):
- self.FileLinesList = []
- self.FileLinesListFromFile = []
- try:
- fsock = open(FileName, "rb", 0)
- try:
- self.FileLinesListFromFile = fsock.readlines()
- finally:
- fsock.close()
-
- except IOError:
- raise Warning("Error when opening file %s" % FileName)
diff --git a/BaseTools/Source/Python/Eot/FvImage.py b/BaseTools/Source/Python/Eot/FvImage.py
deleted file mode 100644
index d54c2233d8..0000000000
--- a/BaseTools/Source/Python/Eot/FvImage.py
+++ /dev/null
@@ -1,1453 +0,0 @@
-## @file
-# Parse FV image
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-## Import Modules
-#
-import os
-import re
-import sys
-import uuid
-import struct
-import codecs
-import copy
-
-from UserDict import IterableUserDict
-from cStringIO import StringIO
-from array import array
-
-from CommonDataClass import *
-from Common.Misc import sdict, GuidStructureStringToGuidString
-
-import Common.EdkLogger as EdkLogger
-
-import EotGlobalData
-
-# Global definiton
-gFfsPrintTitle = "%-36s %-21s %8s %8s %8s %-4s %-36s" % ("GUID", "TYPE", "OFFSET", "SIZE", "FREE", "ALIGN", "NAME")
-gFfsPrintFormat = "%36s %-21s %8X %8X %8X %4s %-36s"
-gGuidStringFormat = "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X"
-gPeiAprioriFileNameGuid = '1b45cc0a-156a-428a-af62-49864da0e6e6'
-gAprioriGuid = 'fc510ee7-ffdc-11d4-bd41-0080c73c8881'
-gIndention = -4
-
-## Image() class
-#
-# A class for Image
-#
-class Image(array):
- _HEADER_ = struct.Struct("")
- _HEADER_SIZE_ = _HEADER_.size
-
- def __new__(cls, *args, **kwargs):
- return array.__new__(cls, 'B')
-
- def __init__(m, ID=None):
- if ID == None:
- m._ID_ = str(uuid.uuid1()).upper()
- else:
- m._ID_ = ID
- m._BUF_ = None
- m._LEN_ = None
- m._OFF_ = None
-
- m._SubImages = sdict() # {offset: Image()}
-
- array.__init__(m, 'B')
-
- def __repr__(m):
- return m._ID_
-
- def __len__(m):
- Len = array.__len__(m)
- for Offset in m._SubImages:
- Len += len(m._SubImages[Offset])
- return Len
-
- def _Unpack(m):
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + m._LEN_])
- return len(m)
-
- def _Pack(m, PadByte=0xFF):
- raise NotImplementedError
-
- def frombuffer(m, Buffer, Offset=0, Size=None):
- m._BUF_ = Buffer
- m._OFF_ = Offset
- # we may need the Size information in advance if it's given
- m._LEN_ = Size
- m._LEN_ = m._Unpack()
-
- def empty(m):
- del m[0:]
-
- def GetField(m, FieldStruct, Offset=0):
- return FieldStruct.unpack_from(m, Offset)
-
- def SetField(m, FieldStruct, Offset, *args):
- # check if there's enough space
- Size = FieldStruct.size
- if Size > len(m):
- m.extend([0] * (Size - len(m)))
- FieldStruct.pack_into(m, Offset, *args)
-
- def _SetData(m, Data):
- if len(m) < m._HEADER_SIZE_:
- m.extend([0] * (m._HEADER_SIZE_ - len(m)))
- else:
- del m[m._HEADER_SIZE_:]
- m.extend(Data)
-
- def _GetData(m):
- if len(m) > m._HEADER_SIZE_:
- return m[m._HEADER_SIZE_:]
- return None
-
- Data = property(_GetData, _SetData)
-
-## FirmwareVolume() class
-#
-# A class for Firmware Volume
-#
-class FirmwareVolume(Image):
- # Read FvLength, Attributes, HeaderLength, Checksum
- _HEADER_ = struct.Struct("16x 1I2H8B 1Q 4x 1I 1H 1H")
- _HEADER_SIZE_ = _HEADER_.size
-
- _FfsGuid = "8C8CE578-8A3D-4F1C-9935-896185C32DD3"
-
- _GUID_ = struct.Struct("16x 1I2H8B")
- _LENGTH_ = struct.Struct("16x 16x 1Q")
- _SIG_ = struct.Struct("16x 16x 8x 1I")
- _ATTR_ = struct.Struct("16x 16x 8x 4x 1I")
- _HLEN_ = struct.Struct("16x 16x 8x 4x 4x 1H")
- _CHECKSUM_ = struct.Struct("16x 16x 8x 4x 4x 2x 1H")
-
- def __init__(self, Name=''):
- Image.__init__(self)
- self.Name = Name
- self.FfsDict = sdict()
- self.OrderedFfsDict = sdict()
- self.UnDispatchedFfsDict = sdict()
- self.NoDepexFfsDict = sdict()
- self.ProtocolList = sdict()
-
- def CheckArchProtocol(self):
- for Item in EotGlobalData.gArchProtocolGuids:
- if Item.lower() not in EotGlobalData.gProtocolList:
-
- return False
-
- return True
-
- def ParseDepex(self, Depex, Type):
- List = None
- if Type == 'Ppi':
- List = EotGlobalData.gPpiList
- if Type == 'Protocol':
- List = EotGlobalData.gProtocolList
- DepexStack = []
- DepexList = []
- DepexString = ''
- FileDepex = None
- CouldBeLoaded = True
- for Index in range(0, len(Depex.Expression)):
- Item = Depex.Expression[Index]
- if Item == 0x00:
- Index = Index + 1
- Guid = gGuidStringFormat % Depex.Expression[Index]
- if Guid in self.OrderedFfsDict and Depex.Expression[Index + 1] == 0x08:
- return (True, 'BEFORE %s' % Guid, [Guid, 'BEFORE'])
- elif Item == 0x01:
- Index = Index + 1
- Guid = gGuidStringFormat % Depex.Expression[Index]
- if Guid in self.OrderedFfsDict and Depex.Expression[Index + 1] == 0x08:
- return (True, 'AFTER %s' % Guid, [Guid, 'AFTER'])
- elif Item == 0x02:
- Index = Index + 1
- Guid = gGuidStringFormat % Depex.Expression[Index]
- if Guid.lower() in List:
- DepexStack.append(True)
- DepexList.append(Guid)
- else:
- DepexStack.append(False)
- DepexList.append(Guid)
- continue
- elif Item == 0x03 or Item == 0x04:
- DepexStack.append(eval(str(DepexStack.pop()) + ' ' + Depex._OPCODE_STRING_[Item].lower() + ' ' + str(DepexStack.pop())))
- DepexList.append(str(DepexList.pop()) + ' ' + Depex._OPCODE_STRING_[Item].upper() + ' ' + str(DepexList.pop()))
- elif Item == 0x05:
- DepexStack.append(eval(Depex._OPCODE_STRING_[Item].lower() + ' ' + str(DepexStack.pop())))
- DepexList.append(Depex._OPCODE_STRING_[Item].lower() + ' ' + str(DepexList.pop()))
- elif Item == 0x06:
- DepexStack.append(True)
- DepexList.append('TRUE')
- DepexString = DepexString + 'TRUE' + ' '
- elif Item == 0x07:
- DepexStack.append(False)
- DepexList.append('False')
- DepexString = DepexString + 'FALSE' + ' '
- elif Item == 0x08:
- if Index != len(Depex.Expression) - 1:
- CouldBeLoaded = False
- else:
- CouldBeLoaded = DepexStack.pop()
- else:
- CouldBeLoaded = False
- if DepexList != []:
- DepexString = DepexList[0].strip()
- return (CouldBeLoaded, DepexString, FileDepex)
-
- def Dispatch(self, Db = None):
- if Db == None:
- return False
- self.UnDispatchedFfsDict = copy.copy(self.FfsDict)
- # Find PeiCore, DexCore, PeiPriori, DxePriori first
- FfsSecCoreGuid = None
- FfsPeiCoreGuid = None
- FfsDxeCoreGuid = None
- FfsPeiPrioriGuid = None
- FfsDxePrioriGuid = None
- for FfsID in self.UnDispatchedFfsDict:
- Ffs = self.UnDispatchedFfsDict[FfsID]
- if Ffs.Type == 0x03:
- FfsSecCoreGuid = FfsID
- continue
- if Ffs.Type == 0x04:
- FfsPeiCoreGuid = FfsID
- continue
- if Ffs.Type == 0x05:
- FfsDxeCoreGuid = FfsID
- continue
- if Ffs.Guid.lower() == gPeiAprioriFileNameGuid:
- FfsPeiPrioriGuid = FfsID
- continue
- if Ffs.Guid.lower() == gAprioriGuid:
- FfsDxePrioriGuid = FfsID
- continue
-
- # Parse SEC_CORE first
- if FfsSecCoreGuid != None:
- self.OrderedFfsDict[FfsSecCoreGuid] = self.UnDispatchedFfsDict.pop(FfsSecCoreGuid)
- self.LoadPpi(Db, FfsSecCoreGuid)
-
- # Parse PEI first
- if FfsPeiCoreGuid != None:
- self.OrderedFfsDict[FfsPeiCoreGuid] = self.UnDispatchedFfsDict.pop(FfsPeiCoreGuid)
- self.LoadPpi(Db, FfsPeiCoreGuid)
- if FfsPeiPrioriGuid != None:
- # Load PEIM described in priori file
- FfsPeiPriori = self.UnDispatchedFfsDict.pop(FfsPeiPrioriGuid)
- if len(FfsPeiPriori.Sections) == 1:
- Section = FfsPeiPriori.Sections.popitem()[1]
- if Section.Type == 0x19:
- GuidStruct = struct.Struct('1I2H8B')
- Start = 4
- while len(Section) > Start:
- Guid = GuidStruct.unpack_from(Section[Start : Start + 16])
- GuidString = gGuidStringFormat % Guid
- Start = Start + 16
- if GuidString in self.UnDispatchedFfsDict:
- self.OrderedFfsDict[GuidString] = self.UnDispatchedFfsDict.pop(GuidString)
- self.LoadPpi(Db, GuidString)
-
- self.DisPatchPei(Db)
-
- # Parse DXE then
- if FfsDxeCoreGuid != None:
- self.OrderedFfsDict[FfsDxeCoreGuid] = self.UnDispatchedFfsDict.pop(FfsDxeCoreGuid)
- self.LoadProtocol(Db, FfsDxeCoreGuid)
- if FfsDxePrioriGuid != None:
- # Load PEIM described in priori file
- FfsDxePriori = self.UnDispatchedFfsDict.pop(FfsDxePrioriGuid)
- if len(FfsDxePriori.Sections) == 1:
- Section = FfsDxePriori.Sections.popitem()[1]
- if Section.Type == 0x19:
- GuidStruct = struct.Struct('1I2H8B')
- Start = 4
- while len(Section) > Start:
- Guid = GuidStruct.unpack_from(Section[Start : Start + 16])
- GuidString = gGuidStringFormat % Guid
- Start = Start + 16
- if GuidString in self.UnDispatchedFfsDict:
- self.OrderedFfsDict[GuidString] = self.UnDispatchedFfsDict.pop(GuidString)
- self.LoadProtocol(Db, GuidString)
-
- self.DisPatchDxe(Db)
-
- def DisPatchNoDepexFfs(self, Db):
- # Last Load Drivers without Depex
- for FfsID in self.NoDepexFfsDict:
- NewFfs = self.NoDepexFfsDict.pop(FfsID)
- self.OrderedFfsDict[FfsID] = NewFfs
- self.LoadProtocol(Db, FfsID)
-
- return True
-
- def LoadCallbackProtocol(self):
- IsLoad = True
- for Protocol in self.ProtocolList:
- for Callback in self.ProtocolList[Protocol][1]:
- if Callback[0] not in self.OrderedFfsDict.keys():
- IsLoad = False
- continue
- if IsLoad:
- EotGlobalData.gProtocolList[Protocol.lower()] = self.ProtocolList[Protocol][0]
- self.ProtocolList.pop(Protocol)
-
- def LoadProtocol(self, Db, ModuleGuid):
- SqlCommand = """select GuidValue from Report
- where SourceFileFullPath in
- (select Value1 from Inf where BelongsToFile =
- (select BelongsToFile from Inf
- where Value1 = 'FILE_GUID' and Value2 like '%s' and Model = %s)
- and Model = %s)
- and ItemType = 'Protocol' and ItemMode = 'Produced'""" \
- % (ModuleGuid, 5001, 3007)
- RecordSet = Db.TblReport.Exec(SqlCommand)
- for Record in RecordSet:
- SqlCommand = """select Value2 from Inf where BelongsToFile =
- (select DISTINCT BelongsToFile from Inf
- where Value1 =
- (select SourceFileFullPath from Report
- where GuidValue like '%s' and ItemMode = 'Callback'))
- and Value1 = 'FILE_GUID'""" % Record[0]
- CallBackSet = Db.TblReport.Exec(SqlCommand)
- if CallBackSet != []:
- EotGlobalData.gProtocolList[Record[0].lower()] = ModuleGuid
- else:
- EotGlobalData.gProtocolList[Record[0].lower()] = ModuleGuid
-
- def LoadPpi(self, Db, ModuleGuid):
- SqlCommand = """select GuidValue from Report
- where SourceFileFullPath in
- (select Value1 from Inf where BelongsToFile =
- (select BelongsToFile from Inf
- where Value1 = 'FILE_GUID' and Value2 like '%s' and Model = %s)
- and Model = %s)
- and ItemType = 'Ppi' and ItemMode = 'Produced'""" \
- % (ModuleGuid, 5001, 3007)
- RecordSet = Db.TblReport.Exec(SqlCommand)
- for Record in RecordSet:
- EotGlobalData.gPpiList[Record[0].lower()] = ModuleGuid
-
- def DisPatchDxe(self, Db):
- IsInstalled = False
- ScheduleList = sdict()
- for FfsID in self.UnDispatchedFfsDict:
- CouldBeLoaded = False
- DepexString = ''
- FileDepex = None
- Ffs = self.UnDispatchedFfsDict[FfsID]
- if Ffs.Type == 0x07:
- # Get Depex
- IsFoundDepex = False
- for Section in Ffs.Sections.values():
- # Find Depex
- if Section.Type == 0x13:
- IsFoundDepex = True
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(Section._SubImages[4], 'Protocol')
- break
- if Section.Type == 0x01:
- CompressSections = Section._SubImages[4]
- for CompressSection in CompressSections.Sections:
- if CompressSection.Type == 0x13:
- IsFoundDepex = True
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(CompressSection._SubImages[4], 'Protocol')
- break
- if CompressSection.Type == 0x02:
- NewSections = CompressSection._SubImages[4]
- for NewSection in NewSections.Sections:
- if NewSection.Type == 0x13:
- IsFoundDepex = True
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(NewSection._SubImages[4], 'Protocol')
- break
-
- # Not find Depex
- if not IsFoundDepex:
- CouldBeLoaded = self.CheckArchProtocol()
- DepexString = ''
- FileDepex = None
-
- # Append New Ffs
- if CouldBeLoaded:
- IsInstalled = True
- NewFfs = self.UnDispatchedFfsDict.pop(FfsID)
- NewFfs.Depex = DepexString
- if FileDepex != None:
- ScheduleList.insert.insert(FileDepex[1], FfsID, NewFfs, FileDepex[0])
- else:
- ScheduleList[FfsID] = NewFfs
- else:
- self.UnDispatchedFfsDict[FfsID].Depex = DepexString
-
- for FfsID in ScheduleList:
- NewFfs = ScheduleList.pop(FfsID)
- FfsName = 'UnKnown'
- self.OrderedFfsDict[FfsID] = NewFfs
- self.LoadProtocol(Db, FfsID)
-
- SqlCommand = """select Value2 from Inf
- where BelongsToFile = (select BelongsToFile from Inf where Value1 = 'FILE_GUID' and lower(Value2) = lower('%s') and Model = %s)
- and Model = %s and Value1='BASE_NAME'""" % (FfsID, 5001, 5001)
- RecordSet = Db.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- FfsName = RecordSet[0][0]
-
- if IsInstalled:
- self.DisPatchDxe(Db)
-
- def DisPatchPei(self, Db):
- IsInstalled = False
- for FfsID in self.UnDispatchedFfsDict:
- CouldBeLoaded = True
- DepexString = ''
- FileDepex = None
- Ffs = self.UnDispatchedFfsDict[FfsID]
- if Ffs.Type == 0x06 or Ffs.Type == 0x08:
- # Get Depex
- for Section in Ffs.Sections.values():
- if Section.Type == 0x1B:
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(Section._SubImages[4], 'Ppi')
- break
-
- if Section.Type == 0x01:
- CompressSections = Section._SubImages[4]
- for CompressSection in CompressSections.Sections:
- if CompressSection.Type == 0x1B:
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(CompressSection._SubImages[4], 'Ppi')
- break
- if CompressSection.Type == 0x02:
- NewSections = CompressSection._SubImages[4]
- for NewSection in NewSections.Sections:
- if NewSection.Type == 0x1B:
- CouldBeLoaded, DepexString, FileDepex = self.ParseDepex(NewSection._SubImages[4], 'Ppi')
- break
-
- # Append New Ffs
- if CouldBeLoaded:
- IsInstalled = True
- NewFfs = self.UnDispatchedFfsDict.pop(FfsID)
- NewFfs.Depex = DepexString
- self.OrderedFfsDict[FfsID] = NewFfs
- self.LoadPpi(Db, FfsID)
- else:
- self.UnDispatchedFfsDict[FfsID].Depex = DepexString
-
- if IsInstalled:
- self.DisPatchPei(Db)
-
-
- def __str__(self):
- global gIndention
- gIndention += 4
- FvInfo = '\n' + ' ' * gIndention
- FvInfo += "[FV:%s] file_system=%s size=%x checksum=%s\n" % (self.Name, self.FileSystemGuid, self.Size, self.Checksum)
- FfsInfo = "\n".join([str(self.FfsDict[FfsId]) for FfsId in self.FfsDict])
- gIndention -= 4
- return FvInfo + FfsInfo
-
- def _Unpack(self):
- Size = self._LENGTH_.unpack_from(self._BUF_, self._OFF_)[0]
- self.empty()
- self.extend(self._BUF_[self._OFF_:self._OFF_+Size])
-
- # traverse the FFS
- EndOfFv = Size
- FfsStartAddress = self.HeaderSize
- LastFfsObj = None
- while FfsStartAddress < EndOfFv:
- FfsObj = Ffs()
- FfsObj.frombuffer(self, FfsStartAddress)
- FfsId = repr(FfsObj)
- if ((self.Attributes & 0x00000800) != 0 and len(FfsObj) == 0xFFFFFF) \
- or ((self.Attributes & 0x00000800) == 0 and len(FfsObj) == 0):
- if LastFfsObj != None:
- LastFfsObj.FreeSpace = EndOfFv - LastFfsObj._OFF_ - len(LastFfsObj)
- else:
- if FfsId in self.FfsDict:
- EdkLogger.error("FV", 0, "Duplicate GUID in FFS",
- ExtraData="\t%s @ %s\n\t%s @ %s" \
- % (FfsObj.Guid, FfsObj.Offset,
- self.FfsDict[FfsId].Guid, self.FfsDict[FfsId].Offset))
- self.FfsDict[FfsId] = FfsObj
- if LastFfsObj != None:
- LastFfsObj.FreeSpace = FfsStartAddress - LastFfsObj._OFF_ - len(LastFfsObj)
-
- FfsStartAddress += len(FfsObj)
- #
- # align to next 8-byte aligned address: A = (A + 8 - 1) & (~(8 - 1))
- # The next FFS must be at the latest next 8-byte aligned address
- #
- FfsStartAddress = (FfsStartAddress + 7) & (~7)
- LastFfsObj = FfsObj
-
- def _GetAttributes(self):
- return self.GetField(self._ATTR_, 0)[0]
-
- def _GetSize(self):
- return self.GetField(self._LENGTH_, 0)[0]
-
- def _GetChecksum(self):
- return self.GetField(self._CHECKSUM_, 0)[0]
-
- def _GetHeaderLength(self):
- return self.GetField(self._HLEN_, 0)[0]
-
- def _GetFileSystemGuid(self):
- return gGuidStringFormat % self.GetField(self._GUID_, 0)
-
- Attributes = property(_GetAttributes)
- Size = property(_GetSize)
- Checksum = property(_GetChecksum)
- HeaderSize = property(_GetHeaderLength)
- FileSystemGuid = property(_GetFileSystemGuid)
-
-## CompressedImage() class
-#
-# A class for Compressed Image
-#
-class CompressedImage(Image):
- # UncompressedLength = 4-byte
- # CompressionType = 1-byte
- _HEADER_ = struct.Struct("1I 1B")
- _HEADER_SIZE_ = _HEADER_.size
-
- _ORIG_SIZE_ = struct.Struct("1I")
- _CMPRS_TYPE_ = struct.Struct("4x 1B")
-
- def __init__(m, CompressedData=None, CompressionType=None, UncompressedLength=None):
- Image.__init__(m)
- if UncompressedLength != None:
- m.UncompressedLength = UncompressedLength
- if CompressionType != None:
- m.CompressionType = CompressionType
- if CompressedData != None:
- m.Data = CompressedData
-
- def __str__(m):
- global gIndention
- S = "algorithm=%s uncompressed=%x" % (m.CompressionType, m.UncompressedLength)
- for Sec in m.Sections:
- S += '\n' + str(Sec)
-
- return S
-
- def _SetOriginalSize(m, Size):
- m.SetField(m._ORIG_SIZE_, 0, Size)
-
- def _GetOriginalSize(m):
- return m.GetField(m._ORIG_SIZE_)[0]
-
- def _SetCompressionType(m, Type):
- m.SetField(m._CMPRS_TYPE_, 0, Type)
-
- def _GetCompressionType(m):
- return m.GetField(m._CMPRS_TYPE_)[0]
-
- def _GetSections(m):
- try:
- import EfiCompressor
- TmpData = EfiCompressor.FrameworkDecompress(
- m[m._HEADER_SIZE_:],
- len(m) - m._HEADER_SIZE_
- )
- DecData = array('B')
- DecData.fromstring(TmpData)
- except:
- import EfiCompressor
- TmpData = EfiCompressor.UefiDecompress(
- m[m._HEADER_SIZE_:],
- len(m) - m._HEADER_SIZE_
- )
- DecData = array('B')
- DecData.fromstring(TmpData)
-
- SectionList = []
- Offset = 0
- while Offset < len(DecData):
- Sec = Section()
- try:
- Sec.frombuffer(DecData, Offset)
- Offset += Sec.Size
- # the section is aligned to 4-byte boundary
- except:
- break
- SectionList.append(Sec)
- return SectionList
-
- UncompressedLength = property(_GetOriginalSize, _SetOriginalSize)
- CompressionType = property(_GetCompressionType, _SetCompressionType)
- Sections = property(_GetSections)
-
-## GuidDefinedImage() class
-#
-# A class for GUID Defined Image
-#
-class GuidDefinedImage(Image):
- _HEADER_ = struct.Struct("1I2H8B 1H 1H")
- _HEADER_SIZE_ = _HEADER_.size
-
- _GUID_ = struct.Struct("1I2H8B")
- _DATA_OFFSET_ = struct.Struct("16x 1H")
- _ATTR_ = struct.Struct("18x 1H")
-
- CRC32_GUID = "FC1BCDB0-7D31-49AA-936A-A4600D9DD083"
- TIANO_COMPRESS_GUID = 'A31280AD-481E-41B6-95E8-127F4C984779'
- LZMA_COMPRESS_GUID = 'EE4E5898-3914-4259-9D6E-DC7BD79403CF'
-
- def __init__(m, SectionDefinitionGuid=None, DataOffset=None, Attributes=None, Data=None):
- Image.__init__(m)
- if SectionDefinitionGuid != None:
- m.SectionDefinitionGuid = SectionDefinitionGuid
- if DataOffset != None:
- m.DataOffset = DataOffset
- if Attributes != None:
- m.Attributes = Attributes
- if Data != None:
- m.Data = Data
-
- def __str__(m):
- S = "guid=%s" % (gGuidStringFormat % m.SectionDefinitionGuid)
- for Sec in m.Sections:
- S += "\n" + str(Sec)
- return S
-
- def _Unpack(m):
- # keep header in this Image object
- m.empty()
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + m._LEN_])
- return len(m)
-
- def _SetAttribute(m, Attribute):
- m.SetField(m._ATTR_, 0, Attribute)
-
- def _GetAttribute(m):
- return m.GetField(m._ATTR_)[0]
-
- def _SetGuid(m, Guid):
- m.SetField(m._GUID_, 0, Guid)
-
- def _GetGuid(m):
- return m.GetField(m._GUID_)
-
- def _SetDataOffset(m, Offset):
- m.SetField(m._DATA_OFFSET_, 0, Offset)
-
- def _GetDataOffset(m):
- return m.GetField(m._DATA_OFFSET_)[0]
-
- def _GetSections(m):
- SectionList = []
- Guid = gGuidStringFormat % m.SectionDefinitionGuid
- if Guid == m.CRC32_GUID:
- # skip the CRC32 value, we don't do CRC32 verification here
- Offset = m.DataOffset - 4
- while Offset < len(m):
- Sec = Section()
- try:
- Sec.frombuffer(m, Offset)
- Offset += Sec.Size
- # the section is aligned to 4-byte boundary
- Offset = (Offset + 3) & (~3)
- except:
- break
- SectionList.append(Sec)
- elif Guid == m.TIANO_COMPRESS_GUID:
- try:
- import EfiCompressor
- # skip the header
- Offset = m.DataOffset - 4
- TmpData = EfiCompressor.FrameworkDecompress(m[Offset:], len(m)-Offset)
- DecData = array('B')
- DecData.fromstring(TmpData)
- Offset = 0
- while Offset < len(DecData):
- Sec = Section()
- try:
- Sec.frombuffer(DecData, Offset)
- Offset += Sec.Size
- # the section is aligned to 4-byte boundary
- Offset = (Offset + 3) & (~3)
- except:
- break
- SectionList.append(Sec)
- except:
- pass
- elif Guid == m.LZMA_COMPRESS_GUID:
- try:
- import LzmaCompressor
- # skip the header
- Offset = m.DataOffset - 4
- TmpData = LzmaCompressor.LzmaDecompress(m[Offset:], len(m)-Offset)
- DecData = array('B')
- DecData.fromstring(TmpData)
- Offset = 0
- while Offset < len(DecData):
- Sec = Section()
- try:
- Sec.frombuffer(DecData, Offset)
- Offset += Sec.Size
- # the section is aligned to 4-byte boundary
- Offset = (Offset + 3) & (~3)
- except:
- break
- SectionList.append(Sec)
- except:
- pass
-
- return SectionList
-
- Attributes = property(_GetAttribute, _SetAttribute)
- SectionDefinitionGuid = property(_GetGuid, _SetGuid)
- DataOffset = property(_GetDataOffset, _SetDataOffset)
- Sections = property(_GetSections)
-
-## Depex() class
-#
-# A class for Depex
-#
-class Depex(Image):
- _HEADER_ = struct.Struct("")
- _HEADER_SIZE_ = 0
-
- _GUID_ = struct.Struct("1I2H8B")
- _OPCODE_ = struct.Struct("1B")
-
- _OPCODE_STRING_ = {
- 0x00 : "BEFORE",
- 0x01 : "AFTER",
- 0x02 : "PUSH",
- 0x03 : "AND",
- 0x04 : "OR",
- 0x05 : "NOT",
- 0x06 : "TRUE",
- 0x07 : "FALSE",
- 0x08 : "END",
- 0x09 : "SOR"
- }
-
- _NEXT_ = {
- -1 : _OPCODE_, # first one in depex must be an opcdoe
- 0x00 : _GUID_, #"BEFORE",
- 0x01 : _GUID_, #"AFTER",
- 0x02 : _GUID_, #"PUSH",
- 0x03 : _OPCODE_, #"AND",
- 0x04 : _OPCODE_, #"OR",
- 0x05 : _OPCODE_, #"NOT",
- 0x06 : _OPCODE_, #"TRUE",
- 0x07 : _OPCODE_, #"FALSE",
- 0x08 : None, #"END",
- 0x09 : _OPCODE_, #"SOR"
- }
-
- def __init__(m):
- Image.__init__(m)
- m._ExprList = []
-
- def __str__(m):
- global gIndention
- gIndention += 4
- Indention = ' ' * gIndention
- S = '\n'
- for T in m.Expression:
- if T in m._OPCODE_STRING_:
- S += Indention + m._OPCODE_STRING_[T]
- if T not in [0x00, 0x01, 0x02]:
- S += '\n'
- else:
- S += ' ' + gGuidStringFormat % T + '\n'
- gIndention -= 4
- return S
-
- def _Unpack(m):
- # keep header in this Image object
- m.empty()
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + m._LEN_])
- return len(m)
-
- def _GetExpression(m):
- if m._ExprList == []:
- Offset = 0
- CurrentData = m._OPCODE_
- while Offset < len(m):
- Token = CurrentData.unpack_from(m, Offset)
- Offset += CurrentData.size
- if len(Token) == 1:
- Token = Token[0]
- if Token in m._NEXT_:
- CurrentData = m._NEXT_[Token]
- else:
- CurrentData = m._GUID_
- else:
- CurrentData = m._OPCODE_
- m._ExprList.append(Token)
- if CurrentData == None:
- break
- return m._ExprList
-
- Expression = property(_GetExpression)
-
-## Ui() class
-#
-# A class for Ui
-#
-class Ui(Image):
- _HEADER_ = struct.Struct("")
- _HEADER_SIZE_ = 0
-
- def __init__(m):
- Image.__init__(m)
-
- def __str__(m):
- return m.String
-
- def _Unpack(m):
- # keep header in this Image object
- m.empty()
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + m._LEN_])
- return len(m)
-
- def _GetUiString(m):
- return codecs.utf_16_decode(m[0:-2].tostring())[0]
-
- String = property(_GetUiString)
-
-## Section() class
-#
-# A class for Section
-#
-class Section(Image):
- _TypeName = {
- 0x00 : "<unknown>",
- 0x01 : "COMPRESSION",
- 0x02 : "GUID_DEFINED",
- 0x10 : "PE32",
- 0x11 : "PIC",
- 0x12 : "TE",
- 0x13 : "DXE_DEPEX",
- 0x14 : "VERSION",
- 0x15 : "USER_INTERFACE",
- 0x16 : "COMPATIBILITY16",
- 0x17 : "FIRMWARE_VOLUME_IMAGE",
- 0x18 : "FREEFORM_SUBTYPE_GUID",
- 0x19 : "RAW",
- 0x1B : "PEI_DEPEX"
- }
-
- _SectionSubImages = {
- 0x01 : CompressedImage,
- 0x02 : GuidDefinedImage,
- 0x17 : FirmwareVolume,
- 0x13 : Depex,
- 0x1B : Depex,
- 0x15 : Ui
- }
-
- # Size = 3-byte
- # Type = 1-byte
- _HEADER_ = struct.Struct("3B 1B")
- _HEADER_SIZE_ = _HEADER_.size
-
- # SubTypeGuid
- # _FREE_FORM_SUBTYPE_GUID_HEADER_ = struct.Struct("1I2H8B")
-
- _SIZE_ = struct.Struct("3B")
- _TYPE_ = struct.Struct("3x 1B")
-
- def __init__(m, Type=None, Size=None):
- Image.__init__(m)
- m._Alignment = 1
- if Type != None:
- m.Type = Type
- if Size != None:
- m.Size = Size
-
- def __str__(m):
- global gIndention
- gIndention += 4
- SectionInfo = ' ' * gIndention
- if m.Type in m._TypeName:
- SectionInfo += "[SECTION:%s] offset=%x size=%x" % (m._TypeName[m.Type], m._OFF_, m.Size)
- else:
- SectionInfo += "[SECTION:%x<unknown>] offset=%x size=%x " % (m.Type, m._OFF_, m.Size)
- for Offset in m._SubImages:
- SectionInfo += ", " + str(m._SubImages[Offset])
- gIndention -= 4
- return SectionInfo
-
- def _Unpack(m):
- m.empty()
- Type, = m._TYPE_.unpack_from(m._BUF_, m._OFF_)
- Size1, Size2, Size3 = m._SIZE_.unpack_from(m._BUF_, m._OFF_)
- Size = Size1 + (Size2 << 8) + (Size3 << 16)
-
- if Type not in m._SectionSubImages:
- # no need to extract sub-image, keep all in this Image object
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + Size])
- else:
- # keep header in this Image object
- m.extend(m._BUF_[m._OFF_ : m._OFF_ + m._HEADER_SIZE_])
- #
- # use new Image object to represent payload, which may be another kind
- # of image such as PE32
- #
- PayloadOffset = m._HEADER_SIZE_
- PayloadLen = m.Size - m._HEADER_SIZE_
- Payload = m._SectionSubImages[m.Type]()
- Payload.frombuffer(m._BUF_, m._OFF_ + m._HEADER_SIZE_, PayloadLen)
- m._SubImages[PayloadOffset] = Payload
-
- return Size
-
- def _SetSize(m, Size):
- Size1 = Size & 0xFF
- Size2 = (Size & 0xFF00) >> 8
- Size3 = (Size & 0xFF0000) >> 16
- m.SetField(m._SIZE_, 0, Size1, Size2, Size3)
-
- def _GetSize(m):
- Size1, Size2, Size3 = m.GetField(m._SIZE_)
- return Size1 + (Size2 << 8) + (Size3 << 16)
-
- def _SetType(m, Type):
- m.SetField(m._TYPE_, 0, Type)
-
- def _GetType(m):
- return m.GetField(m._TYPE_)[0]
-
- def _GetAlignment(m):
- return m._Alignment
-
- def _SetAlignment(m, Alignment):
- m._Alignment = Alignment
- AlignmentMask = Alignment - 1
- # section alignment is actually for payload, so we need to add header size
- PayloadOffset = m._OFF_ + m._HEADER_SIZE_
- if (PayloadOffset & (~AlignmentMask)) == 0:
- return
- NewOffset = (PayloadOffset + AlignmentMask) & (~AlignmentMask)
- while (NewOffset - PayloadOffset) < m._HEADER_SIZE_:
- NewOffset += m._Alignment
-
- def tofile(m, f):
- m.Size = len(m)
- Image.tofile(m, f)
- for Offset in m._SubImages:
- m._SubImages[Offset].tofile(f)
-
- Type = property(_GetType, _SetType)
- Size = property(_GetSize, _SetSize)
- Alignment = property(_GetAlignment, _SetAlignment)
- # SubTypeGuid = property(_GetGuid, _SetGuid)
-
-## PadSection() class
-#
-# A class for Pad Section
-#
-class PadSection(Section):
- def __init__(m, Size):
- Section.__init__(m)
- m.Type = 0x19
- m.Size = Size
- m.Data = [0] * (Size - m._HEADER_SIZE_)
-
-## Ffs() class
-#
-# A class for Ffs Section
-#
-class Ffs(Image):
- _FfsFormat = "24B%(payload_size)sB"
- # skip IntegrityCheck
- _HEADER_ = struct.Struct("1I2H8B 2x 1B 1B 3B 1B")
- _HEADER_SIZE_ = _HEADER_.size
-
- _NAME_ = struct.Struct("1I2H8B")
- _INT_CHECK_ = struct.Struct("16x 1H")
- _TYPE_ = struct.Struct("18x 1B")
- _ATTR_ = struct.Struct("19x 1B")
- _SIZE_ = struct.Struct("20x 3B")
- _STATE_ = struct.Struct("23x 1B")
-
- VTF_GUID = "1BA0062E-C779-4582-8566-336AE8F78F09"
-
- FFS_ATTRIB_FIXED = 0x04
- FFS_ATTRIB_DATA_ALIGNMENT = 0x38
- FFS_ATTRIB_CHECKSUM = 0x40
-
- _TypeName = {
- 0x00 : "<unknown>",
- 0x01 : "RAW",
- 0x02 : "FREEFORM",
- 0x03 : "SECURITY_CORE",
- 0x04 : "PEI_CORE",
- 0x05 : "DXE_CORE",
- 0x06 : "PEIM",
- 0x07 : "DRIVER",
- 0x08 : "COMBINED_PEIM_DRIVER",
- 0x09 : "APPLICATION",
- 0x0A : "SMM",
- 0x0B : "FIRMWARE_VOLUME_IMAGE",
- 0x0C : "COMBINED_SMM_DXE",
- 0x0D : "SMM_CORE",
- 0xc0 : "OEM_MIN",
- 0xdf : "OEM_MAX",
- 0xe0 : "DEBUG_MIN",
- 0xef : "DEBUG_MAX",
- 0xf0 : "FFS_MIN",
- 0xff : "FFS_MAX",
- 0xf0 : "FFS_PAD",
- }
-
- def __init__(self):
- Image.__init__(self)
- self.FreeSpace = 0
-
- self.Sections = sdict()
- self.Depex = ''
-
- self.__ID__ = None
-
- def __str__(self):
- global gIndention
- gIndention += 4
- Indention = ' ' * gIndention
- FfsInfo = Indention
- FfsInfo += "[FFS:%s] offset=%x size=%x guid=%s free_space=%x alignment=%s\n" % \
- (Ffs._TypeName[self.Type], self._OFF_, self.Size, self.Guid, self.FreeSpace, self.Alignment)
- SectionInfo = '\n'.join([str(self.Sections[Offset]) for Offset in self.Sections])
- gIndention -= 4
- return FfsInfo + SectionInfo + "\n"
-
- def __len__(self):
- return self.Size
-
- def __repr__(self):
- return self.__ID__
-
- def _Unpack(self):
- Size1, Size2, Size3 = self._SIZE_.unpack_from(self._BUF_, self._OFF_)
- Size = Size1 + (Size2 << 8) + (Size3 << 16)
- self.empty()
- self.extend(self._BUF_[self._OFF_ : self._OFF_ + Size])
-
- # Pad FFS may use the same GUID. We need to avoid it.
- if self.Type == 0xf0:
- self.__ID__ = str(uuid.uuid1()).upper()
- else:
- self.__ID__ = self.Guid
-
- # Traverse the SECTION. RAW and PAD do not have sections
- if self.Type not in [0xf0, 0x01] and Size > 0 and Size < 0xFFFFFF:
- EndOfFfs = Size
- SectionStartAddress = self._HEADER_SIZE_
- while SectionStartAddress < EndOfFfs:
- SectionObj = Section()
- SectionObj.frombuffer(self, SectionStartAddress)
- #f = open(repr(SectionObj), 'wb')
- #SectionObj.Size = 0
- #SectionObj.tofile(f)
- #f.close()
- self.Sections[SectionStartAddress] = SectionObj
- SectionStartAddress += len(SectionObj)
- SectionStartAddress = (SectionStartAddress + 3) & (~3)
-
- def Pack(self):
- pass
-
- def SetFreeSpace(self, Size):
- self.FreeSpace = Size
-
- def _GetGuid(self):
- return gGuidStringFormat % self.Name
-
- def _SetName(self, Value):
- # Guid1, Guid2, Guid3, Guid4, Guid5, Guid6, Guid7, Guid8, Guid9, Guid10, Guid11
- self.SetField(self._NAME_, 0, Value)
-
- def _GetName(self):
- # Guid1, Guid2, Guid3, Guid4, Guid5, Guid6, Guid7, Guid8, Guid9, Guid10, Guid11
- return self.GetField(self._NAME_)
-
- def _SetSize(m, Size):
- Size1 = Size & 0xFF
- Size2 = (Size & 0xFF00) >> 8
- Size3 = (Size & 0xFF0000) >> 16
- m.SetField(m._SIZE_, 0, Size1, Size2, Size3)
-
- def _GetSize(m):
- Size1, Size2, Size3 = m.GetField(m._SIZE_)
- return Size1 + (Size2 << 8) + (Size3 << 16)
-
- def _SetType(m, Type):
- m.SetField(m._TYPE_, 0, Type)
-
- def _GetType(m):
- return m.GetField(m._TYPE_)[0]
-
- def _SetAttributes(self, Value):
- self.SetField(m._ATTR_, 0, Value)
-
- def _GetAttributes(self):
- return self.GetField(self._ATTR_)[0]
-
- def _GetFixed(self):
- if (self.Attributes & self.FFS_ATTRIB_FIXED) != 0:
- return True
- return False
-
- def _GetCheckSum(self):
- if (self.Attributes & self.FFS_ATTRIB_CHECKSUM) != 0:
- return True
- return False
-
- def _GetAlignment(self):
- return (self.Attributes & self.FFS_ATTRIB_DATA_ALIGNMENT) >> 3
-
- def _SetState(self, Value):
- self.SetField(m._STATE_, 0, Value)
-
- def _GetState(self):
- return self.GetField(m._STATE_)[0]
-
- Name = property(_GetName, _SetName)
- Guid = property(_GetGuid)
- Type = property(_GetType, _SetType)
- Size = property(_GetSize, _SetSize)
- Attributes = property(_GetAttributes, _SetAttributes)
- Fixed = property(_GetFixed)
- Checksum = property(_GetCheckSum)
- Alignment = property(_GetAlignment)
- State = property(_GetState, _SetState)
-
-## PeImage() class
-#
-# A class for PE Image
-#
-class PeImage:
- #
- # just extract e_lfanew
- #
- _DosHeaderFormat = "60x 1I"
- #
- # Machine
- # NumberOfSections
- # SizeOfOptionalHeader
- #
- _FileHeaderFormat = "4x 1H 1H 4x 4x 4x 1H 2x"
- #
- # Magic
- # SizeOfImage
- # SizeOfHeaders
- # CheckSum
- # NumberOfRvaAndSizes
- #
- _OptionalHeader32Format = "1H 54x 1I 1I 1I 24x 1I"
- _OptionalHeader64Format = ""
- def __init__(self, Buf, Offset, Size):
- self.Offset = Offset
- self.Size = Size
- self.Machine = 0x014c # IA32
- self.NumberOfSections = 0
- self.SizeOfImage = 0
- self.SizeOfOptionalHeader = 0
- self.Checksum = 0
- self._PeImageBuf = Buf
- self._SectionList = []
-
- self._DosHeader = struct.Struct(PeImage._DosHeaderFormat)
- self._FileHeader = struct.Struct(PeImage._FileHeaderFormat)
- self._OptionalHeader32 = struct.Struct(PeImage._OptionalHeader32Format)
-
- self.Buffer = None
-
- self._Unpack()
-
- def __str__(self):
- pass
-
- def __len__(self):
- return self.Size
-
- def _Unpack(self):
- # from DOS header, get the offset of PE header
- FileHeaderOffset, = self._DosHeader.unpack_from(self._PeImageBuf, self.Offset)
- if FileHeaderOffset < struct.calcsize(self._DosHeaderFormat):
- EdkLogger.error("PE+", 0, "Invalid offset of IMAGE_FILE_HEADER: %s" % FileHeaderOffset)
-
- # from FILE header, get the optional header size
- self.Machine, self.NumberOfSections, self.SizeOfOptionalHeader = \
- self._FileHeader.unpack_from(self._PeImageBuf, self.Offset + FileHeaderOffset)
-
- print "Machine=%x NumberOfSections=%x SizeOfOptionalHeader=%x" % (self.Machine, self.NumberOfSections, self.SizeOfOptionalHeader)
- # optional header follows the FILE header
- OptionalHeaderOffset = FileHeaderOffset + struct.calcsize(self._FileHeaderFormat)
- Magic, self.SizeOfImage, SizeOfHeaders, self.Checksum, NumberOfRvaAndSizes = \
- self._OptionalHeader32.unpack_from(self._PeImageBuf, self.Offset + OptionalHeaderOffset)
- print "Magic=%x SizeOfImage=%x SizeOfHeaders=%x, Checksum=%x, NumberOfRvaAndSizes=%x" % (Magic, self.SizeOfImage, SizeOfHeaders, self.Checksum, NumberOfRvaAndSizes)
-
- PeImageSectionTableOffset = OptionalHeaderOffset + self.SizeOfOptionalHeader
- PeSections = PeSectionTable(self._PeImageBuf, self.Offset + PeImageSectionTableOffset, self.NumberOfSections)
-
- print "%x" % PeSections.GetFileAddress(0x3920)
-
-## PeSectionTable() class
-#
-# A class for PE Section Table
-#
-class PeSectionTable:
- def __init__(self, Buf, Offset, NumberOfSections):
- self._SectionList = []
-
- SectionHeaderOffset = Offset
- for TableIndex in range(0, NumberOfSections):
- SectionHeader = PeSectionHeader(Buf, SectionHeaderOffset)
- self._SectionList.append(SectionHeader)
- SectionHeaderOffset += len(SectionHeader)
- print SectionHeader
-
- def GetFileAddress(self, Rva):
- for PeSection in self._SectionList:
- if Rva in PeSection:
- return PeSection[Rva]
-
-## PeSectionHeader() class
-#
-# A class for PE Section Header
-#
-class PeSectionHeader:
- #
- # VirtualAddress
- # SizeOfRawData
- # PointerToRawData
- #
- _HeaderFormat = "12x 1I 1I 1I 16x"
- _HeaderLength = struct.calcsize(_HeaderFormat)
-
- def __init__(self, Buf, Offset):
- self.VirtualAddressStart, self.SizeOfRawData, self.PointerToRawData = \
- struct.unpack_from(self._HeaderFormat, Buf, Offset)
- self.VirtualAddressEnd = self.VirtualAddressStart + self.SizeOfRawData - 1
-
- def __str__(self):
- return "VirtualAddress=%x, SizeOfRawData=%x, PointerToRawData=%x" % (self.VirtualAddressStart, self.SizeOfRawData, self.PointerToRawData)
-
- def __len__(self):
- return self._HeaderLength
-
- def __contains__(self, Rva):
- return Rva >= self.VirtualAddressStart and Rva <= self.VirtualAddressEnd
-
- def __getitem__(self, Rva):
- return Rva - self.VirtualAddressStart + self.PointerToRawData
-
-## LinkMap() class
-#
-# A class for Link Map
-#
-class LinkMap:
- _StartFlag = {
- "MSFT" : re.compile("Address +Publics by Value +Rva\+Base +Lib:Object"),
- "GCC" : re.compile("^\.(text|bss|data|edata)"),
- }
-
- _MappingFormat = {
- "MSFT" : re.compile("([0-9a-f]+):([0-9a-f]+)\s+_+([0-9A-Za-z]+)\s+([0-9a-f]+)\s+"),
- "GCC" : re.compile("^(\.\w)?\s+(0x[0-9a-f]+)\s+_+([0-9A-Za-z]+)"),
- }
-
- def __init__(self, MapFile, MapType="MSFT"):
- self.File = MapFile
- self.MapType = MapType
- self._Globals = {} # global:RVA
-
- self._Parse()
-
- def _Parse(self):
- MapFile = open(self.File, 'r')
- MappingTitle = self._StartFlag[self.MapType]
- MappingFormat = self._MappingFormat[self.MapType]
- MappingStart = False
- try:
- for Line in MapFile:
- Line = Line.strip()
- if not MappingStart:
- if MappingTitle.match(Line) != None:
- MappingStart = True
- continue
- ResultList = MappingFormat.findall(Line)
- if len(ResultList) == 0 or len(ResultList[0]) != 4:
- continue
- self._Globals[ResultList[2]] = int(ResultList[3], 16)
- EdkLogger.verbose(ResultList[0])
- finally:
- MapFile.close()
-
- def __contains__(self, Var):
- return Var in self._Globals
-
- def __getitem__(self, Var):
- if Var not in self._Globals:
- return None
- return self._Globals[Var]
-
-## MultipleFv() class
-#
-# A class for Multiple FV
-#
-class MultipleFv(FirmwareVolume):
- def __init__(self, FvList):
- FirmwareVolume.__init__(self)
- self.BasicInfo = []
- for FvPath in FvList:
- FvName = os.path.splitext(os.path.split(FvPath)[1])[0]
- Fd = open(FvPath, 'rb')
- Buf = array('B')
- try:
- Buf.fromfile(Fd, os.path.getsize(FvPath))
- except EOFError:
- pass
-
- Fv = FirmwareVolume(FvName)
- Fv.frombuffer(Buf, 0, len(Buf))
-
- self.BasicInfo.append([Fv.Name, Fv.FileSystemGuid, Fv.Size])
- self.FfsDict.append(Fv.FfsDict)
-
-# Version and Copyright
-__version_number__ = "0.01"
-__version__ = "%prog Version " + __version_number__
-__copyright__ = "Copyright (c) 2008, Intel Corporation. All rights reserved."
-
-## Parse command line options
-#
-# Using standard Python module optparse to parse command line option of this tool.
-#
-# @retval Options A optparse.Values object containing the parsed options
-# @retval InputFile Path of file to be trimmed
-#
-def GetOptions():
- OptionList = [
- make_option("-a", "--arch", dest="Arch",
- help="The input file is preprocessed source code, including C or assembly code"),
- make_option("-p", "--platform", dest="ActivePlatform",
- help="The input file is preprocessed VFR file"),
- make_option("-m", "--module", dest="ActiveModule",
- help="Convert standard hex format (0xabcd) to MASM format (abcdh)"),
- make_option("-f", "--FDF-file", dest="FdfFile",
- help="Convert standard hex format (0xabcd) to MASM format (abcdh)"),
- make_option("-o", "--output", dest="OutputDirectory",
- help="File to store the trimmed content"),
- make_option("-t", "--toolchain-tag", dest="ToolChain",
- help=""),
- make_option("-k", "--msft", dest="MakefileType", action="store_const", const="nmake",
- help=""),
- make_option("-g", "--gcc", dest="MakefileType", action="store_const", const="gmake",
- help=""),
- make_option("-v", "--verbose", dest="LogLevel", action="store_const", const=EdkLogger.VERBOSE,
- help="Run verbosely"),
- make_option("-d", "--debug", dest="LogLevel", type="int",
- help="Run with debug information"),
- make_option("-q", "--quiet", dest="LogLevel", action="store_const", const=EdkLogger.QUIET,
- help="Run quietly"),
- make_option("-?", action="help", help="show this help message and exit"),
- ]
-
- # use clearer usage to override default usage message
- UsageString = "%prog [-a ARCH] [-p PLATFORM] [-m MODULE] [-t TOOLCHAIN_TAG] [-k] [-g] [-v|-d <debug_level>|-q] [-o <output_directory>] [GenC|GenMake]"
-
- Parser = OptionParser(description=__copyright__, version=__version__, option_list=OptionList, usage=UsageString)
- Parser.set_defaults(Arch=[])
- Parser.set_defaults(ActivePlatform=None)
- Parser.set_defaults(ActiveModule=None)
- Parser.set_defaults(OutputDirectory="build")
- Parser.set_defaults(FdfFile=None)
- Parser.set_defaults(ToolChain="MYTOOLS")
- if sys.platform == "win32":
- Parser.set_defaults(MakefileType="nmake")
- else:
- Parser.set_defaults(MakefileType="gmake")
- Parser.set_defaults(LogLevel=EdkLogger.INFO)
-
- Options, Args = Parser.parse_args()
-
- # error check
- if len(Args) == 0:
- Options.Target = "genmake"
- sys.argv.append("genmake")
- elif len(Args) == 1:
- Options.Target = Args[0].lower()
- if Options.Target not in ["genc", "genmake"]:
- EdkLogger.error("AutoGen", OPTION_NOT_SUPPORTED, "Not supported target",
- ExtraData="%s\n\n%s" % (Options.Target, Parser.get_usage()))
- else:
- EdkLogger.error("AutoGen", OPTION_NOT_SUPPORTED, "Too many targets",
- ExtraData=Parser.get_usage())
-
- return Options
-
-## Entrance method
-#
-# This method mainly dispatch specific methods per the command line options.
-# If no error found, return zero value so the caller of this tool can know
-# if it's executed successfully or not.
-#
-# @retval 0 Tool was successful
-# @retval 1 Tool failed
-#
-def Main():
- from build import build
- try:
- Option = GetOptions()
- build.main()
- except Exception, e:
- print e
- return 1
-
- return 0
-
-# This acts like the main() function for the script, unless it is 'import'ed into another script.
-if __name__ == '__main__':
- EdkLogger.Initialize()
- # sys.exit(Main())
-
- if len(sys.argv) > 1:
- FilePath = sys.argv[1]
- if FilePath.lower().endswith(".fv"):
- fd = open(FilePath, 'rb')
- buf = array('B')
- try:
- buf.fromfile(fd, os.path.getsize(FilePath))
- except EOFError:
- pass
-
- fv = FirmwareVolume("FVRECOVERY")
- fv.frombuffer(buf, 0, len(buf))
- #fv.Dispatch(None)
- print fv
- elif FilePath.endswith(".efi"):
- fd = open(FilePath, 'rb')
- buf = array('B')
- Size = os.path.getsize(FilePath)
-
- try:
- buf.fromfile(fd, Size)
- except EOFError:
- pass
-
- PeSection = Section(Type=0x10)
- PeSection.Data = buf
- sf, ext = os.path.splitext(os.path.basename(FilePath))
- sf += ".sec"
- PeSection.tofile(open(sf, 'wb'))
- elif FilePath.endswith(".map"):
- mf = LinkMap(FilePath)
diff --git a/BaseTools/Source/Python/Eot/InfParserLite.py b/BaseTools/Source/Python/Eot/InfParserLite.py
deleted file mode 100644
index 6750f5a0c9..0000000000
--- a/BaseTools/Source/Python/Eot/InfParserLite.py
+++ /dev/null
@@ -1,171 +0,0 @@
-## @file
-# This file is used to parse INF file of EDK project
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import os
-import Common.EdkLogger as EdkLogger
-from Common.DataType import *
-from CommonDataClass.DataClass import *
-from Common.Identification import *
-from Common.String import *
-from Parser import *
-import Database
-
-## EdkInfParser() class
-#
-# This class defined basic INF object which is used by inheriting
-#
-# @param object: Inherited from object class
-#
-class EdkInfParser(object):
- ## The constructor
- #
- # @param self: The object pointer
- # @param Filename: INF file name
- # @param Database: Eot database
- # @param SourceFileList: A list for all source file belonging this INF file
- # @param SourceOverridePath: Override path for source file
- # @param Edk_Source: Envirnoment variable EDK_SOURCE
- # @param Efi_Source: Envirnoment variable EFI_SOURCE
- #
- def __init__(self, Filename = None, Database = None, SourceFileList = None, SourceOverridePath = None, Edk_Source = None, Efi_Source = None):
- self.Identification = Identification()
- self.Sources = []
- self.Macros = {}
-
- self.Cur = Database.Cur
- self.TblFile = Database.TblFile
- self.TblInf = Database.TblInf
- self.FileID = -1
- self.SourceOverridePath = SourceOverridePath
-
- # Load Inf file if filename is not None
- if Filename != None:
- self.LoadInfFile(Filename)
-
- if SourceFileList:
- for Item in SourceFileList:
- self.TblInf.Insert(MODEL_EFI_SOURCE_FILE, Item, '', '', '', '', 'COMMON', -1, self.FileID, -1, -1, -1, -1, 0)
-
-
- ## LoadInffile() method
- #
- # Load INF file and insert a record in database
- #
- # @param self: The object pointer
- # @param Filename: Input value for filename of Inf file
- #
- def LoadInfFile(self, Filename = None):
- # Insert a record for file
- Filename = NormPath(Filename)
- self.Identification.FileFullPath = Filename
- (self.Identification.FileRelativePath, self.Identification.FileName) = os.path.split(Filename)
-
- self.FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_INF)
-
- self.ParseInf(PreProcess(Filename, False), self.Identification.FileRelativePath, Filename)
-
- ## ParserSource() method
- #
- # Parse Source section and insert records in database
- #
- # @param self: The object pointer
- # @param CurrentSection: current section name
- # @param SectionItemList: the item belonging current section
- # @param ArchList: A list for arch for this section
- # @param ThirdList: A list for third item for this section
- #
- def ParserSource(self, CurrentSection, SectionItemList, ArchList, ThirdList):
- for Index in range(0, len(ArchList)):
- Arch = ArchList[Index]
- Third = ThirdList[Index]
- if Arch == '':
- Arch = TAB_ARCH_COMMON
-
- for Item in SectionItemList:
- if CurrentSection.upper() == 'defines'.upper():
- (Name, Value) = AddToSelfMacro(self.Macros, Item[0])
- self.TblInf.Insert(MODEL_META_DATA_HEADER, Name, Value, Third, '', '', Arch, -1, self.FileID, Item[1], -1, Item[1], -1, 0)
-
- ## ParseInf() method
- #
- # Parse INF file and get sections information
- #
- # @param self: The object pointer
- # @param Lines: contents of INF file
- # @param FileRelativePath: relative path of the file
- # @param Filename: file name of INF file
- #
- def ParseInf(self, Lines = [], FileRelativePath = '', Filename = ''):
- IfDefList, SectionItemList, CurrentSection, ArchList, ThirdList, IncludeFiles = \
- [], [], TAB_UNKNOWN, [], [], []
- LineNo = 0
-
- for Line in Lines:
- LineNo = LineNo + 1
- if Line == '':
- continue
- if Line.startswith(TAB_SECTION_START) and Line.endswith(TAB_SECTION_END):
- self.ParserSource(CurrentSection, SectionItemList, ArchList, ThirdList)
-
- # Parse the new section
- SectionItemList = []
- ArchList = []
- ThirdList = []
- # Parse section name
- CurrentSection = ''
- LineList = GetSplitValueList(Line[len(TAB_SECTION_START):len(Line) - len(TAB_SECTION_END)], TAB_COMMA_SPLIT)
- for Item in LineList:
- ItemList = GetSplitValueList(Item, TAB_SPLIT)
- if CurrentSection == '':
- CurrentSection = ItemList[0]
- else:
- if CurrentSection != ItemList[0]:
- EdkLogger.error("Parser", PARSER_ERROR, "Different section names '%s' and '%s' are found in one section definition, this is not allowed." % (CurrentSection, ItemList[0]), File=Filename, Line=LineNo)
- ItemList.append('')
- ItemList.append('')
- if len(ItemList) > 5:
- RaiseParserError(Line, CurrentSection, Filename, '', LineNo)
- else:
- ArchList.append(ItemList[1].upper())
- ThirdList.append(ItemList[2])
-
- continue
-
- # Add a section item
- SectionItemList.append([Line, LineNo])
- # End of parse
-
- self.ParserSource(CurrentSection, SectionItemList, ArchList, ThirdList)
- #End of For
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
- EdkLogger.Initialize()
- EdkLogger.SetLevel(EdkLogger.QUIET)
-
- Db = Database.Database('Inf.db')
- Db.InitDatabase()
- P = EdkInfParser(os.path.normpath("C:\Framework\Edk\Sample\Platform\Nt32\Dxe\PlatformBds\PlatformBds.inf"), Db, '', '')
- for Inf in P.Sources:
- print Inf
- for Item in P.Macros:
- print Item, P.Macros[Item]
-
- Db.Close() \ No newline at end of file
diff --git a/BaseTools/Source/Python/Eot/LzmaCompressor.pyd b/BaseTools/Source/Python/Eot/LzmaCompressor.pyd
deleted file mode 100644
index d792a7e9fb..0000000000
--- a/BaseTools/Source/Python/Eot/LzmaCompressor.pyd
+++ /dev/null
Binary files differ
diff --git a/BaseTools/Source/Python/Eot/Parser.py b/BaseTools/Source/Python/Eot/Parser.py
deleted file mode 100644
index 9ef71a9587..0000000000
--- a/BaseTools/Source/Python/Eot/Parser.py
+++ /dev/null
@@ -1,847 +0,0 @@
-## @file
-# This file is used to define common parsing related functions used in parsing
-# Inf/Dsc/Makefile process
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import os, re
-import Common.EdkLogger as EdkLogger
-from Common.DataType import *
-from CommonDataClass.DataClass import *
-from Common.String import CleanString, GetSplitValueList, ReplaceMacro
-import EotGlobalData
-from Common.Misc import sdict
-
-## PreProcess() method
-#
-# Pre process a file
-#
-# 1. Remove all comments
-# 2. Merge multiple lines code to one line
-#
-# @param Filename: Name of the file to be parsed
-# @param MergeMultipleLines: Switch for if merge multiple lines
-# @param LineNo: Default line no
-#
-# @return Lines: The file contents after remvoing comments
-#
-def PreProcess(Filename, MergeMultipleLines = True, LineNo = -1):
- Lines = []
- Filename = os.path.normpath(Filename)
- if not os.path.isfile(Filename):
- EdkLogger.error("Eot", EdkLogger.FILE_NOT_FOUND, ExtraData=Filename)
-
- IsFindBlockComment = False
- IsFindBlockCode = False
- ReservedLine = ''
- ReservedLineLength = 0
- for Line in open(Filename, 'r'):
- Line = Line.strip()
- # Remove comment block
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
- IsFindBlockComment = True
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
- ReservedLine = ''
- IsFindBlockComment = False
- if IsFindBlockComment:
- Lines.append('')
- continue
-
- # Remove comments at tail and remove spaces again
- Line = CleanString(Line)
- if Line == '':
- Lines.append('')
- continue
-
- if MergeMultipleLines:
- # Add multiple lines to one line
- if IsFindBlockCode and Line[-1] != TAB_SLASH:
- ReservedLine = (ReservedLine + TAB_SPACE_SPLIT + Line).strip()
- Lines.append(ReservedLine)
- for Index in (0, ReservedLineLength):
- Lines.append('')
- ReservedLine = ''
- ReservedLineLength = 0
- IsFindBlockCode = False
- continue
- if Line[-1] == TAB_SLASH:
- ReservedLine = ReservedLine + TAB_SPACE_SPLIT + Line[0:-1].strip()
- ReservedLineLength = ReservedLineLength + 1
- IsFindBlockCode = True
- continue
-
- Lines.append(Line)
-
- return Lines
-
-## AddToGlobalMacro() method
-#
-# Add a macro to EotGlobalData.gMACRO
-#
-# @param Name: Name of the macro
-# @param Value: Value of the macro
-#
-def AddToGlobalMacro(Name, Value):
- Value = ReplaceMacro(Value, EotGlobalData.gMACRO, True)
- EotGlobalData.gMACRO[Name] = Value
-
-## AddToSelfMacro() method
-#
-# Parse a line of macro definition and add it to a macro set
-#
-# @param SelfMacro: The self macro set
-# @param Line: The line of a macro definition
-#
-# @return Name: Name of macro
-# @return Value: Value of macro
-#
-def AddToSelfMacro(SelfMacro, Line):
- Name, Value = '', ''
- List = GetSplitValueList(Line, TAB_EQUAL_SPLIT, 1)
- if len(List) == 2:
- Name = List[0]
- Value = List[1]
- Value = ReplaceMacro(Value, EotGlobalData.gMACRO, True)
- Value = ReplaceMacro(Value, SelfMacro, True)
- SelfMacro[Name] = Value
-
- return (Name, Value)
-
-## GetIncludeListOfFile() method
-#
-# Get the include path list for a source file
-#
-# 1. Find the source file belongs to which INF file
-# 2. Find the inf's package
-# 3. Return the include path list of the package
-#
-# @param WorkSpace: WORKSPACE path
-# @param Filepath: File path
-# @param Db: Eot database
-#
-# @return IncludeList: A list of include directories
-#
-def GetIncludeListOfFile(WorkSpace, Filepath, Db):
- IncludeList = []
- Filepath = os.path.normpath(Filepath)
- SqlCommand = """
- select Value1 from Inf where Model = %s and BelongsToFile in(
- select distinct B.BelongsToFile from File as A left join Inf as B
- where A.ID = B.BelongsToFile and B.Model = %s and (A.Path || '%s' || B.Value1) = '%s')""" \
- % (MODEL_META_DATA_PACKAGE, MODEL_EFI_SOURCE_FILE, '\\', Filepath)
- RecordSet = Db.TblFile.Exec(SqlCommand)
- for Record in RecordSet:
- DecFullPath = os.path.normpath(os.path.join(WorkSpace, Record[0]))
- (DecPath, DecName) = os.path.split(DecFullPath)
- SqlCommand = """select Value1 from Dec where BelongsToFile =
- (select ID from File where FullPath = '%s') and Model = %s""" \
- % (DecFullPath, MODEL_EFI_INCLUDE)
- NewRecordSet = Db.TblDec.Exec(SqlCommand)
- for NewRecord in NewRecordSet:
- IncludePath = os.path.normpath(os.path.join(DecPath, NewRecord[0]))
- if IncludePath not in IncludeList:
- IncludeList.append(IncludePath)
-
- return IncludeList
-
-## GetTableList() method
-#
-# Search table file and find all small tables
-#
-# @param FileModelList: Model code for the file list
-# @param Table: Table to insert records
-# @param Db: Eot database
-#
-# @return TableList: A list of tables
-#
-def GetTableList(FileModelList, Table, Db):
- TableList = []
- SqlCommand = """select ID, FullPath from File where Model in %s""" % str(FileModelList)
- RecordSet = Db.TblFile.Exec(SqlCommand)
- for Record in RecordSet:
- TableName = Table + str(Record[0])
- TableList.append([TableName, Record[1]])
-
- return TableList
-
-## GetAllIncludeDir() method
-#
-# Find all Include directories
-#
-# @param Db: Eot database
-#
-# @return IncludeList: A list of include directories
-#
-def GetAllIncludeDirs(Db):
- IncludeList = []
- SqlCommand = """select distinct Value1 from Inf where Model = %s order by Value1""" % MODEL_EFI_INCLUDE
- RecordSet = Db.TblInf.Exec(SqlCommand)
-
- for Record in RecordSet:
- IncludeList.append(Record[0])
-
- return IncludeList
-
-## GetAllIncludeFiles() method
-#
-# Find all Include files
-#
-# @param Db: Eot database
-#
-# @return IncludeFileList: A list of include files
-#
-def GetAllIncludeFiles(Db):
- IncludeList = GetAllIncludeDirs(Db)
- IncludeFileList = []
-
- for Dir in IncludeList:
- if os.path.isdir(Dir):
- SubDir = os.listdir(Dir)
- for Item in SubDir:
- if os.path.isfile(Item):
- IncludeFileList.append(Item)
-
- return IncludeFileList
-
-## GetAllSourceFiles() method
-#
-# Find all source files
-#
-# @param Db: Eot database
-#
-# @return SourceFileList: A list of source files
-#
-def GetAllSourceFiles(Db):
- SourceFileList = []
- SqlCommand = """select distinct Value1 from Inf where Model = %s order by Value1""" % MODEL_EFI_SOURCE_FILE
- RecordSet = Db.TblInf.Exec(SqlCommand)
-
- for Record in RecordSet:
- SourceFileList.append(Record[0])
-
- return SourceFileList
-
-## GetAllFiles() method
-#
-# Find all files, both source files and include files
-#
-# @param Db: Eot database
-#
-# @return FileList: A list of files
-#
-def GetAllFiles(Db):
- FileList = []
- IncludeFileList = GetAllIncludeFiles(Db)
- SourceFileList = GetAllSourceFiles(Db)
- for Item in IncludeFileList:
- if os.path.isfile(Item) and Item not in FileList:
- FileList.append(Item)
- for Item in SourceFileList:
- if os.path.isfile(Item) and Item not in FileList:
- FileList.append(Item)
-
- return FileList
-
-## ParseConditionalStatement() method
-#
-# Parse conditional statement
-#
-# @param Line: One line to be parsed
-# @param Macros: A set of all macro
-# @param StatusSet: A set of all status
-#
-# @retval True: Find keyword of conditional statement
-# @retval False: Not find keyword of conditional statement
-#
-def ParseConditionalStatement(Line, Macros, StatusSet):
- NewLine = Line.upper()
- if NewLine.find(TAB_IF_EXIST.upper()) > -1:
- IfLine = Line[NewLine.find(TAB_IF_EXIST) + len(TAB_IF_EXIST) + 1:].strip()
- IfLine = ReplaceMacro(IfLine, EotGlobalData.gMACRO, True)
- IfLine = ReplaceMacro(IfLine, Macros, True)
- IfLine = IfLine.replace("\"", '')
- IfLine = IfLine.replace("(", '')
- IfLine = IfLine.replace(")", '')
- Status = os.path.exists(os.path.normpath(IfLine))
- StatusSet.append([Status])
- return True
- if NewLine.find(TAB_IF_DEF.upper()) > -1:
- IfLine = Line[NewLine.find(TAB_IF_DEF) + len(TAB_IF_DEF) + 1:].strip()
- Status = False
- if IfLine in Macros or IfLine in EotGlobalData.gMACRO:
- Status = True
- StatusSet.append([Status])
- return True
- if NewLine.find(TAB_IF_N_DEF.upper()) > -1:
- IfLine = Line[NewLine.find(TAB_IF_N_DEF) + len(TAB_IF_N_DEF) + 1:].strip()
- Status = False
- if IfLine not in Macros and IfLine not in EotGlobalData.gMACRO:
- Status = True
- StatusSet.append([Status])
- return True
- if NewLine.find(TAB_IF.upper()) > -1:
- IfLine = Line[NewLine.find(TAB_IF) + len(TAB_IF) + 1:].strip()
- Status = ParseConditionalStatementMacros(IfLine, Macros)
- StatusSet.append([Status])
- return True
- if NewLine.find(TAB_ELSE_IF.upper()) > -1:
- IfLine = Line[NewLine.find(TAB_ELSE_IF) + len(TAB_ELSE_IF) + 1:].strip()
- Status = ParseConditionalStatementMacros(IfLine, Macros)
- StatusSet[-1].append(Status)
- return True
- if NewLine.find(TAB_ELSE.upper()) > -1:
- Status = False
- for Item in StatusSet[-1]:
- Status = Status or Item
- StatusSet[-1].append(not Status)
- return True
- if NewLine.find(TAB_END_IF.upper()) > -1:
- StatusSet.pop()
- return True
-
- return False
-
-## ParseConditionalStatement() method
-#
-# Parse conditional statement with Macros
-#
-# @param Line: One line to be parsed
-# @param Macros: A set of macros
-#
-# @return Line: New line after replacing macros
-#
-def ParseConditionalStatementMacros(Line, Macros):
- if Line.upper().find('DEFINED(') > -1 or Line.upper().find('EXIST') > -1:
- return False
- Line = ReplaceMacro(Line, EotGlobalData.gMACRO, True)
- Line = ReplaceMacro(Line, Macros, True)
- Line = Line.replace("&&", "and")
- Line = Line.replace("||", "or")
- return eval(Line)
-
-## GetConditionalStatementStatus() method
-#
-# 1. Assume the latest status as True
-# 2. Pop the top status of status set, previous status
-# 3. Compare the latest one and the previous one and get new status
-#
-# @param StatusSet: A set of all status
-#
-# @return Status: The final status
-#
-def GetConditionalStatementStatus(StatusSet):
- Status = True
- for Item in StatusSet:
- Status = Status and Item[-1]
-
- return Status
-
-## SearchBelongsToFunction() method
-#
-# Search all functions belong to the file
-#
-# @param BelongsToFile: File id
-# @param StartLine: Start line of search scope
-# @param EndLine: End line of search scope
-#
-# @return: The found function
-#
-def SearchBelongsToFunction(BelongsToFile, StartLine, EndLine):
- SqlCommand = """select ID, Name from Function where BelongsToFile = %s and StartLine <= %s and EndLine >= %s""" %(BelongsToFile, StartLine, EndLine)
- RecordSet = EotGlobalData.gDb.TblFunction.Exec(SqlCommand)
- if RecordSet != []:
- return RecordSet[0][0], RecordSet[0][1]
- else:
- return -1, ''
-
-## SearchPpiCallFunction() method
-#
-# Search all used PPI calling function 'PeiServicesReInstallPpi' and 'PeiServicesInstallPpi'
-# Store the result to database
-#
-# @param Identifier: Table id
-# @param SourceFileID: Source file id
-# @param SourceFileFullPath: Source file full path
-# @param ItemMode: Mode of the item
-#
-def SearchPpiCallFunction(Identifier, SourceFileID, SourceFileFullPath, ItemMode):
- ItemName, ItemType, GuidName, GuidMacro, GuidValue = '', 'Ppi', '', '', ''
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' and Model = %s)""" \
- % (Identifier, 'PeiServicesReInstallPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- BelongsToFunctionID, BelongsToFunction = -1, ''
- Db = EotGlobalData.gDb.TblReport
- RecordSet = Db.Exec(SqlCommand)
- for Record in RecordSet:
- Index = 0
- BelongsToFile, StartLine, EndLine = Record[2], Record[3], Record[4]
- BelongsToFunctionID, BelongsToFunction = SearchBelongsToFunction(BelongsToFile, StartLine, EndLine)
- VariableList = Record[0].split(',')
- for Variable in VariableList:
- Variable = Variable.strip()
- # Get index of the variable
- if Variable.find('[') > -1:
- Index = int(Variable[Variable.find('[') + 1 : Variable.find(']')])
- Variable = Variable[:Variable.find('[')]
- # Get variable name
- if Variable.startswith('&'):
- Variable = Variable[1:]
- # Get variable value
- SqlCommand = """select Value from %s where (Name like '%%%s%%') and Model = %s""" \
- % (Identifier, Variable, MODEL_IDENTIFIER_VARIABLE)
- NewRecordSet = Db.Exec(SqlCommand)
- if NewRecordSet:
- NewRecord = NewRecordSet[0][0]
- VariableValueList = NewRecord.split('},')
- if len(VariableValueList) > Index:
- VariableValue = VariableValueList[Index]
- NewVariableValueList = VariableValue.split(',')
- if len(NewVariableValueList) > 1:
- NewVariableValue = NewVariableValueList[1].strip()
- if NewVariableValue.startswith('&'):
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, NewVariableValue[1:], GuidMacro, GuidValue, BelongsToFunction, 0)
- continue
- else:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, NewParameter))
-
- ItemName, ItemType, GuidName, GuidMacro, GuidValue = '', 'Ppi', '', '', ''
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Value like '%%%s%%' and Model = %s)""" \
- % (Identifier, 'PeiServicesInstallPpi', MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION)
- BelongsToFunctionID, BelongsToFunction = -1, ''
- Db = EotGlobalData.gDb.TblReport
- RecordSet = Db.Exec(SqlCommand)
-
- SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
- where (Name like '%%%s%%' and Model = %s)""" \
- % (Identifier, 'PeiServicesInstallPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
- Db = EotGlobalData.gDb.TblReport
- RecordSet2 = Db.Exec(SqlCommand)
-
- for Record in RecordSet + RecordSet2:
- if Record == []:
- continue
- Index = 0
- BelongsToFile, StartLine, EndLine = Record[2], Record[3], Record[4]
- BelongsToFunctionID, BelongsToFunction = SearchBelongsToFunction(BelongsToFile, StartLine, EndLine)
- Variable = Record[0].replace('PeiServicesInstallPpi', '').replace('(', '').replace(')', '').replace('&', '').strip()
- Variable = Variable[Variable.find(',') + 1:].strip()
- # Get index of the variable
- if Variable.find('[') > -1:
- Index = int(Variable[Variable.find('[') + 1 : Variable.find(']')])
- Variable = Variable[:Variable.find('[')]
- # Get variable name
- if Variable.startswith('&'):
- Variable = Variable[1:]
- # Get variable value
- SqlCommand = """select Value from %s where (Name like '%%%s%%') and Model = %s""" \
- % (Identifier, Variable, MODEL_IDENTIFIER_VARIABLE)
- NewRecordSet = Db.Exec(SqlCommand)
- if NewRecordSet:
- NewRecord = NewRecordSet[0][0]
- VariableValueList = NewRecord.split('},')
- for VariableValue in VariableValueList[Index:]:
- NewVariableValueList = VariableValue.split(',')
- if len(NewVariableValueList) > 1:
- NewVariableValue = NewVariableValueList[1].strip()
- if NewVariableValue.startswith('&'):
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, NewVariableValue[1:], GuidMacro, GuidValue, BelongsToFunction, 0)
- continue
- else:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, NewParameter))
-
-## SearchPpis() method
-#
-# Search all used PPI calling function
-# Store the result to database
-#
-# @param SqlCommand: SQL command statement
-# @param Table: Table id
-# @param SourceFileID: Source file id
-# @param SourceFileFullPath: Source file full path
-# @param ItemMode: Mode of the item
-# @param PpiMode: Mode of PPI
-#
-def SearchPpi(SqlCommand, Table, SourceFileID, SourceFileFullPath, ItemMode, PpiMode = 1):
- ItemName, ItemType, GuidName, GuidMacro, GuidValue = '', 'Ppi', '', '', ''
- BelongsToFunctionID, BelongsToFunction = -1, ''
- Db = EotGlobalData.gDb.TblReport
- RecordSet = Db.Exec(SqlCommand)
- for Record in RecordSet:
- Parameter = GetPpiParameter(Record[0], PpiMode)
- BelongsToFile, StartLine, EndLine = Record[2], Record[3], Record[4]
- # Get BelongsToFunction
- BelongsToFunctionID, BelongsToFunction = SearchBelongsToFunction(BelongsToFile, StartLine, EndLine)
-
- # Default is Not Found
- IsFound = False
-
- # For Consumed Ppi
- if ItemMode == 'Consumed':
- if Parameter.startswith('g'):
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, Parameter, GuidMacro, GuidValue, BelongsToFunction, 0)
- else:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, Parameter))
- continue
-
- # Direct Parameter.Guid
- SqlCommand = """select Value from %s where (Name like '%%%s.Guid%%' or Name like '%%%s->Guid%%') and Model = %s""" % (Table, Parameter, Parameter, MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION)
- NewRecordSet = Db.Exec(SqlCommand)
- for NewRecord in NewRecordSet:
- GuidName = GetParameterName(NewRecord[0])
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
-
- # Defined Parameter
- if not IsFound:
- Key = Parameter
- if Key.rfind(' ') > -1:
- Key = Key[Key.rfind(' ') : ].strip().replace('&', '')
- Value = FindKeyValue(EotGlobalData.gDb.TblFile, Table, Key)
- List = GetSplitValueList(Value.replace('\n', ''), TAB_COMMA_SPLIT)
- if len(List) > 1:
- GuidName = GetParameterName(List[1])
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
-
- # A list Parameter
- if not IsFound:
- Start = Parameter.find('[')
- End = Parameter.find(']')
- if Start > -1 and End > -1 and Start < End:
- try:
- Index = int(Parameter[Start + 1 : End])
- Parameter = Parameter[0 : Start]
- SqlCommand = """select Value from %s where Name = '%s' and Model = %s""" % (Table, Parameter, MODEL_IDENTIFIER_VARIABLE)
- NewRecordSet = Db.Exec(SqlCommand)
- for NewRecord in NewRecordSet:
- NewParameter = GetSplitValueList(NewRecord[0], '}')[Index]
- GuidName = GetPpiParameter(NewParameter[NewParameter.find('{') : ])
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
- except Exception:
- pass
-
- # A External Parameter
- if not IsFound:
- SqlCommand = """select File.ID from Inf, File
- where BelongsToFile = (select BelongsToFile from Inf where Value1 = '%s')
- and Inf.Model = %s and Inf.Value1 = File.FullPath and File.Model = %s""" % (SourceFileFullPath, MODEL_EFI_SOURCE_FILE, MODEL_FILE_C)
- NewRecordSet = Db.Exec(SqlCommand)
- for NewRecord in NewRecordSet:
- Table = 'Identifier' + str(NewRecord[0])
- SqlCommand = """select Value from %s where Name = '%s' and Modifier = 'EFI_PEI_PPI_DESCRIPTOR' and Model = %s""" % (Table, Parameter, MODEL_IDENTIFIER_VARIABLE)
- PpiSet = Db.Exec(SqlCommand)
- if PpiSet != []:
- GuidName = GetPpiParameter(PpiSet[0][0])
- if GuidName != '':
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
- break
-
- if not IsFound:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, Parameter))
-
-## SearchProtocols() method
-#
-# Search all used PROTOCOL calling function
-# Store the result to database
-#
-# @param SqlCommand: SQL command statement
-# @param Table: Table id
-# @param SourceFileID: Source file id
-# @param SourceFileFullPath: Source file full path
-# @param ItemMode: Mode of the item
-# @param ProtocolMode: Mode of PROTOCOL
-#
-def SearchProtocols(SqlCommand, Table, SourceFileID, SourceFileFullPath, ItemMode, ProtocolMode):
- ItemName, ItemType, GuidName, GuidMacro, GuidValue = '', 'Protocol', '', '', ''
- BelongsToFunctionID, BelongsToFunction = -1, ''
- Db = EotGlobalData.gDb.TblReport
- RecordSet = Db.Exec(SqlCommand)
- for Record in RecordSet:
- Parameter = ''
- BelongsToFile, StartLine, EndLine = Record[2], Record[3], Record[4]
- # Get BelongsToFunction
- BelongsToFunctionID, BelongsToFunction = SearchBelongsToFunction(BelongsToFile, StartLine, EndLine)
-
- # Default is Not Found
- IsFound = False
-
- if ProtocolMode == 0 or ProtocolMode == 1:
- Parameter = GetProtocolParameter(Record[0], ProtocolMode)
- if Parameter.startswith('g') or Parameter.endswith('Guid') or Parameter == 'ShellEnvProtocol' or Parameter == 'ShellInterfaceProtocol':
- GuidName = GetParameterName(Parameter)
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
-
- if ProtocolMode == 2:
- Protocols = GetSplitValueList(Record[0], TAB_COMMA_SPLIT)
- for Protocol in Protocols:
- if Protocol.startswith('&') and Protocol.endswith('Guid'):
- GuidName = GetParameterName(Protocol)
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
- else:
- NewValue = FindKeyValue(EotGlobalData.gDb.TblFile, Table, Protocol)
- if Protocol != NewValue and NewValue.endswith('Guid'):
- GuidName = GetParameterName(NewValue)
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
-
- if not IsFound:
- if BelongsToFunction in EotGlobalData.gProducedProtocolLibrary or BelongsToFunction in EotGlobalData.gConsumedProtocolLibrary:
- EotGlobalData.gOP_UN_MATCHED_IN_LIBRARY_CALLING.write('%s, %s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, Parameter, BelongsToFunction))
- else:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, Parameter))
-
-## SearchFunctionCalling() method
-#
-# Search all used PPI/PROTOCOL calling function by library
-# Store the result to database
-#
-# @param SqlCommand: SQL command statement
-# @param Table: Table id
-# @param SourceFileID: Source file id
-# @param SourceFileFullPath: Source file full path
-# @param ItemType: Type of the item, PPI or PROTOCOL
-# @param ItemMode: Mode of item
-#
-def SearchFunctionCalling(Table, SourceFileID, SourceFileFullPath, ItemType, ItemMode):
- LibraryList = sdict()
- Db = EotGlobalData.gDb.TblReport
- Parameters, ItemName, GuidName, GuidMacro, GuidValue, BelongsToFunction = [], '', '', '', '', ''
- if ItemType == 'Protocol' and ItemMode == 'Produced':
- LibraryList = EotGlobalData.gProducedProtocolLibrary
- elif ItemType == 'Protocol' and ItemMode == 'Consumed':
- LibraryList = EotGlobalData.gConsumedProtocolLibrary
- elif ItemType == 'Protocol' and ItemMode == 'Callback':
- LibraryList = EotGlobalData.gCallbackProtocolLibrary
- elif ItemType == 'Ppi' and ItemMode == 'Produced':
- LibraryList = EotGlobalData.gProducedPpiLibrary
- elif ItemType == 'Ppi' and ItemMode == 'Consumed':
- LibraryList = EotGlobalData.gConsumedPpiLibrary
-
- for Library in LibraryList:
- Index = LibraryList[Library]
- SqlCommand = """select Value, StartLine from %s
- where Name like '%%%s%%' and Model = %s""" \
- % (Table, Library, MODEL_IDENTIFIER_FUNCTION_CALLING)
- RecordSet = Db.Exec(SqlCommand)
- for Record in RecordSet:
- IsFound = False
- if Index == -1:
- ParameterList = GetSplitValueList(Record[0], TAB_COMMA_SPLIT)
- for Parameter in ParameterList:
- Parameters.append(GetParameterName(Parameter))
- else:
- Parameters = [GetProtocolParameter(Record[0], Index)]
- StartLine = Record[1]
- for Parameter in Parameters:
- if Parameter.startswith('g') or Parameter.endswith('Guid') or Parameter == 'ShellEnvProtocol' or Parameter == 'ShellInterfaceProtocol':
- GuidName = GetParameterName(Parameter)
- Db.Insert(-1, '', '', SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, BelongsToFunction, 0)
- IsFound = True
-
- if not IsFound:
- EotGlobalData.gOP_UN_MATCHED.write('%s, %s, %s, %s, %s, %s\n' % (ItemType, ItemMode, SourceFileID, SourceFileFullPath, StartLine, Parameter))
-
-## FindProtocols() method
-#
-# Find defined protocols
-#
-# @param SqlCommand: SQL command statement
-# @param Table: Table id
-# @param SourceFileID: Source file id
-# @param SourceFileFullPath: Source file full path
-# @param ItemName: String of protocol definition
-# @param ItemType: Type of the item, PPI or PROTOCOL
-# @param ItemMode: Mode of item
-#
-#def FindProtocols(Db, SqlCommand, Table, SourceFileID, SourceFileFullPath, ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue):
-# BelongsToFunction = ''
-# RecordSet = Db.Exec(SqlCommand)
-# for Record in RecordSet:
-# IsFound = True
-# Parameter = GetProtocolParameter(Record[0])
-
-## GetProtocolParameter() method
-#
-# Parse string of protocol and find parameters
-#
-# @param Parameter: Parameter to be parsed
-# @param Index: The index of the parameter
-#
-# @return: call common GetParameter
-#
-def GetProtocolParameter(Parameter, Index = 1):
- return GetParameter(Parameter, Index)
-
-## GetPpiParameter() method
-#
-# Parse string of ppi and find parameters
-#
-# @param Parameter: Parameter to be parsed
-# @param Index: The index of the parameter
-#
-# @return: call common GetParameter
-#
-def GetPpiParameter(Parameter, Index = 1):
- return GetParameter(Parameter, Index)
-
-## GetParameter() method
-#
-# Get a parameter by index
-#
-# @param Parameter: Parameter to be parsed
-# @param Index: The index of the parameter
-#
-# @return Parameter: The found parameter
-#
-def GetParameter(Parameter, Index = 1):
- ParameterList = GetSplitValueList(Parameter, TAB_COMMA_SPLIT)
- if len(ParameterList) > Index:
- Parameter = GetParameterName(ParameterList[Index])
-
- return Parameter
-
- return ''
-
-## GetParameterName() method
-#
-# Get a parameter name
-#
-# @param Parameter: Parameter to be parsed
-#
-# @return: The name of parameter
-#
-def GetParameterName(Parameter):
- if type(Parameter) == type('') and Parameter.startswith('&'):
- return Parameter[1:].replace('{', '').replace('}', '').replace('\r', '').replace('\n', '').strip()
- else:
- return Parameter.strip()
-
-## FindKeyValue() method
-#
-# Find key value of a variable
-#
-# @param Db: Database to be searched
-# @param Table: Table to be searched
-# @param Key: The keyword
-#
-# @return Value: The value of the the keyword
-#
-def FindKeyValue(Db, Table, Key):
- SqlCommand = """select Value from %s where Name = '%s' and (Model = %s or Model = %s)""" % (Table, Key, MODEL_IDENTIFIER_VARIABLE, MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION)
- RecordSet = Db.Exec(SqlCommand)
- Value = ''
- for Record in RecordSet:
- if Record[0] != 'NULL':
- Value = FindKeyValue(Db, Table, GetParameterName(Record[0]))
-
- if Value != '':
- return Value
- else:
- return Key
-
-## ParseMapFile() method
-#
-# Parse map files to get a dict of 'ModuleName' : {FunName : FunAddress}
-#
-# @param Files: A list of map files
-#
-# @return AllMaps: An object of all map files
-#
-def ParseMapFile(Files):
- AllMaps = {}
- CurrentModule = ''
- CurrentMaps = {}
- for File in Files:
- Content = open(File, 'r').readlines()
- for Line in Content:
- Line = CleanString(Line)
- # skip empty line
- if Line == '':
- continue
-
- if Line.find('(') > -1 and Line.find(')') > -1:
- if CurrentModule != '' and CurrentMaps != {}:
- AllMaps[CurrentModule] = CurrentMaps
- CurrentModule = Line[:Line.find('(')]
- CurrentMaps = {}
- continue
- else:
- Name = ''
- Address = ''
- List = Line.split()
- Address = List[0]
- if List[1] == 'F' or List[1] == 'FS':
- Name = List[2]
- else:
- Name = List[1]
- CurrentMaps[Name] = Address
- continue
-
- return AllMaps
-
-## ConvertGuid
-#
-# Convert a GUID to a GUID with all upper letters
-#
-# @param guid: The GUID to be converted
-#
-# @param newGuid: The GUID with all upper letters.
-#
-def ConvertGuid(guid):
- numList = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
- newGuid = ''
- if guid.startswith('g'):
- guid = guid[1:]
- for i in guid:
- if i.upper() == i and i not in numList:
- newGuid = newGuid + ('_' + i)
- else:
- newGuid = newGuid + i.upper()
- if newGuid.startswith('_'):
- newGuid = newGuid[1:]
- if newGuid.endswith('_'):
- newGuid = newGuid[:-1]
-
- return newGuid
-
-## ConvertGuid2() method
-#
-# Convert a GUID to a GUID with new string instead of old string
-#
-# @param guid: The GUID to be converted
-# @param old: Old string to be replaced
-# @param new: New string to replace the old one
-#
-# @param newGuid: The GUID after replacement
-#
-def ConvertGuid2(guid, old, new):
- newGuid = ConvertGuid(guid)
- newGuid = newGuid.replace(old, new)
-
- return newGuid
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
- pass
diff --git a/BaseTools/Source/Python/Eot/ParserWarning.py b/BaseTools/Source/Python/Eot/ParserWarning.py
deleted file mode 100644
index 2e3f5e4983..0000000000
--- a/BaseTools/Source/Python/Eot/ParserWarning.py
+++ /dev/null
@@ -1,26 +0,0 @@
-## @file
-# Warning information of Eot
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-class Warning (Exception):
- ## The constructor
- #
- # @param self The object pointer
- # @param Str The message to record
- # @param File The FDF name
- # @param Line The Line number that error occurs
- #
- def __init__(self, Str, File = None, Line = None):
- self.message = Str
- self.FileName = File
- self.LineNumber = Line
- self.ToolName = 'EOT' \ No newline at end of file
diff --git a/BaseTools/Source/Python/Eot/Report.py b/BaseTools/Source/Python/Eot/Report.py
deleted file mode 100644
index 024f6d87be..0000000000
--- a/BaseTools/Source/Python/Eot/Report.py
+++ /dev/null
@@ -1,472 +0,0 @@
-## @file
-# This file is used to create report for Eot tool
-#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import os
-import EotGlobalData
-
-## Report() class
-#
-# This class defined Report
-#
-# @param object: Inherited from object class
-#
-class Report(object):
- ## The constructor
- #
- # @param self: The object pointer
- # @param ReportName: name of the report
- # @param FvObj: FV object after parsing FV images
- #
- def __init__(self, ReportName = 'Report.html', FvObj = None, DispatchName=None):
- self.ReportName = ReportName
- self.Op = open(ReportName, 'w+')
- self.DispatchList = None
- if DispatchName:
- self.DispatchList = open(DispatchName, 'w+')
- self.FvObj = FvObj
- self.FfsIndex = 0
- self.PpiIndex = 0
- self.ProtocolIndex = 0
- if EotGlobalData.gMACRO['EFI_SOURCE'] == '':
- EotGlobalData.gMACRO['EFI_SOURCE'] = EotGlobalData.gMACRO['EDK_SOURCE']
-
- ## WriteLn() method
- #
- # Write a line in the report
- #
- # @param self: The object pointer
- # @param Line: The lint to be written into
- #
- def WriteLn(self, Line):
- self.Op.write('%s\n' % Line)
-
- ## GenerateReport() method
- #
- # A caller to generate report
- #
- # @param self: The object pointer
- #
- def GenerateReport(self):
- self.GenerateHeader()
- self.GenerateFv()
- self.GenerateTail()
- self.Op.close()
- self.GenerateUnDispatchedList()
-
- ## GenerateUnDispatchedList() method
- #
- # Create a list for not dispatched items
- #
- # @param self: The object pointer
- #
- def GenerateUnDispatchedList(self):
- FvObj = self.FvObj
- EotGlobalData.gOP_UN_DISPATCHED.write('%s\n' % FvObj.Name)
- for Item in FvObj.UnDispatchedFfsDict:
- EotGlobalData.gOP_UN_DISPATCHED.write('%s\n' % FvObj.UnDispatchedFfsDict[Item])
-
- ## GenerateFv() method
- #
- # Generate FV information
- #
- # @param self: The object pointer
- #
- def GenerateFv(self):
- FvObj = self.FvObj
- Content = """ <tr>
- <td width="20%%"><strong>Name</strong></td>
- <td width="60%%"><strong>Guid</strong></td>
- <td width="20%%"><strong>Size</strong></td>
- </tr>"""
- self.WriteLn(Content)
-
- for Info in FvObj.BasicInfo:
- FvName = Info[0]
- FvGuid = Info[1]
- FvSize = Info[2]
-
- Content = """ <tr>
- <td>%s</td>
- <td>%s</td>
- <td>%s</td>
- </tr>""" % (FvName, FvGuid, FvSize)
- self.WriteLn(Content)
-
- Content = """ <td colspan="3"><table width="100%%" border="1">
- <tr>"""
- self.WriteLn(Content)
-
- EotGlobalData.gOP_DISPATCH_ORDER.write('Dispatched:\n')
- for FfsId in FvObj.OrderedFfsDict:
- self.GenerateFfs(FvObj.OrderedFfsDict[FfsId])
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
-
- # For UnDispatched
- Content = """ <td colspan="3"><table width="100%%" border="1">
- <tr>
- <tr><strong>UnDispatched</strong></tr>"""
- self.WriteLn(Content)
-
- EotGlobalData.gOP_DISPATCH_ORDER.write('\nUnDispatched:\n')
- for FfsId in FvObj.UnDispatchedFfsDict:
- self.GenerateFfs(FvObj.UnDispatchedFfsDict[FfsId])
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
-
- ## GenerateDepex() method
- #
- # Generate Depex information
- #
- # @param self: The object pointer
- # @param DepexString: A DEPEX string needed to be parsed
- #
- def GenerateDepex(self, DepexString):
- NonGuidList = ['AND', 'OR', 'NOT', 'BEFORE', 'AFTER', 'TRUE', 'FALSE']
- ItemList = DepexString.split(' ')
- DepexString = ''
- for Item in ItemList:
- if Item not in NonGuidList:
- SqlCommand = """select DISTINCT GuidName from Report where GuidValue like '%s' and ItemMode = 'Produced' group by GuidName""" % (Item)
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- Item = RecordSet[0][0]
- DepexString = DepexString + Item + ' '
- Content = """ <tr>
- <td width="5%%"></td>
- <td width="95%%">%s</td>
- </tr>""" % (DepexString)
- self.WriteLn(Content)
-
- ## GeneratePpi() method
- #
- # Generate PPI information
- #
- # @param self: The object pointer
- # @param Name: CName of a GUID
- # @param Guid: Value of a GUID
- # @param Type: Type of a GUID
- #
- def GeneratePpi(self, Name, Guid, Type):
- self.GeneratePpiProtocol('Ppi', Name, Guid, Type, self.PpiIndex)
-
- ## GenerateProtocol() method
- #
- # Generate PROTOCOL information
- #
- # @param self: The object pointer
- # @param Name: CName of a GUID
- # @param Guid: Value of a GUID
- # @param Type: Type of a GUID
- #
- def GenerateProtocol(self, Name, Guid, Type):
- self.GeneratePpiProtocol('Protocol', Name, Guid, Type, self.ProtocolIndex)
-
- ## GeneratePpiProtocol() method
- #
- # Generate PPI/PROTOCOL information
- #
- # @param self: The object pointer
- # @param Model: Model of a GUID, PPI or PROTOCOL
- # @param Name: Name of a GUID
- # @param Guid: Value of a GUID
- # @param Type: Type of a GUID
- # @param CName: CName(Index) of a GUID
- #
- def GeneratePpiProtocol(self, Model, Name, Guid, Type, CName):
- Content = """ <tr>
- <td width="5%%"></td>
- <td width="10%%">%s</td>
- <td width="85%%" colspan="3">%s</td>
- <!-- %s -->
- </tr>""" % (Model, Name, Guid)
- self.WriteLn(Content)
- if Type == 'Produced':
- SqlCommand = """select DISTINCT SourceFileFullPath, BelongsToFunction from Report where GuidName like '%s' and ItemMode = 'Callback'""" % Name
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- for Record in RecordSet:
- SqlCommand = """select FullPath from File
- where ID = (
- select DISTINCT BelongsToFile from Inf
- where Value1 like '%s')""" % Record[0]
- ModuleSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- Inf = ModuleSet[0][0].replace(EotGlobalData.gMACRO['WORKSPACE'], '.')
- Function = Record[1]
- Address = ''
- for Item in EotGlobalData.gMap:
- if Function in EotGlobalData.gMap[Item]:
- Address = EotGlobalData.gMap[Item][Function]
- break
- if '_' + Function in EotGlobalData.gMap[Item]:
- Address = EotGlobalData.gMap[Item]['_' + Function]
- break
- Content = """ <tr>
- <td width="5%%"></td>
- <td width="10%%">%s</td>
- <td width="40%%">%s</td>
- <td width="35%%">%s</td>
- <td width="10%%">%s</td>
- </tr>""" % ('Callback', Inf, Function, Address)
- self.WriteLn(Content)
-
- ## GenerateFfs() method
- #
- # Generate FFS information
- #
- # @param self: The object pointer
- # @param FfsObj: FFS object after FV image is parsed
- #
- def GenerateFfs(self, FfsObj):
- self.FfsIndex = self.FfsIndex + 1
- if FfsObj != None and FfsObj.Type in [0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0xA]:
- FfsGuid = FfsObj.Guid
- FfsOffset = FfsObj._OFF_
- FfsName = 'Unknown-Module'
- FfsPath = FfsGuid
- FfsType = FfsObj._TypeName[FfsObj.Type]
-
- # Hard code for Binary INF
- if FfsGuid.upper() == '7BB28B99-61BB-11D5-9A5D-0090273FC14D':
- FfsName = 'Logo'
-
- if FfsGuid.upper() == '7E374E25-8E01-4FEE-87F2-390C23C606CD':
- FfsName = 'AcpiTables'
-
- if FfsGuid.upper() == '961578FE-B6B7-44C3-AF35-6BC705CD2B1F':
- FfsName = 'Fat'
-
- # Find FFS Path and Name
- SqlCommand = """select Value2 from Inf
- where BelongsToFile = (select BelongsToFile from Inf where Value1 = 'FILE_GUID' and lower(Value2) = lower('%s') and Model = %s)
- and Model = %s and Value1='BASE_NAME'""" % (FfsGuid, 5001, 5001)
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- FfsName = RecordSet[0][0]
-
- SqlCommand = """select FullPath from File
- where ID = (select BelongsToFile from Inf where Value1 = 'FILE_GUID' and lower(Value2) = lower('%s') and Model = %s)
- and Model = %s""" % (FfsGuid, 5001, 1011)
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- FfsPath = RecordSet[0][0]
-
- Content = """ <tr>
- <tr class='styleFfs' id='FfsHeader%s'>
- <td width="55%%"><span onclick="Display('FfsHeader%s', 'Ffs%s')" onMouseOver="funOnMouseOver()" onMouseOut="funOnMouseOut()">%s</span></td>
- <td width="15%%">%s</td>
- <!--<td width="20%%">%s</td>-->
- <!--<td width="20%%">%s</td>-->
- <td width="10%%">%s</td>
- </tr>
- <tr id='Ffs%s' style='display:none;'>
- <td colspan="4"><table width="100%%" border="1">""" % (self.FfsIndex, self.FfsIndex, self.FfsIndex, FfsPath, FfsName, FfsGuid, FfsOffset, FfsType, self.FfsIndex)
-
- if self.DispatchList:
- if FfsObj.Type in [0x04, 0x06]:
- self.DispatchList.write("%s %s %s %s\n" % (FfsGuid, "P", FfsName, FfsPath))
- if FfsObj.Type in [0x05, 0x07, 0x08, 0x0A]:
- self.DispatchList.write("%s %s %s %s\n" % (FfsGuid, "D", FfsName, FfsPath))
-
- self.WriteLn(Content)
-
- EotGlobalData.gOP_DISPATCH_ORDER.write('%s\n' %FfsName)
-
- if FfsObj.Depex != '':
- Content = """ <tr>
- <td><span id='DepexHeader%s' class="styleDepex" onclick="Display('DepexHeader%s', 'Depex%s')" onMouseOver="funOnMouseOver()" onMouseOut="funOnMouseOut()">&nbsp&nbspDEPEX expression</span></td>
- </tr>
- <tr id='Depex%s' style='display:none;'>
- <td><table width="100%%" border="1">""" % (self.FfsIndex, self.FfsIndex, self.FfsIndex, self.FfsIndex)
- self.WriteLn(Content)
- self.GenerateDepex(FfsObj.Depex)
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
- # End of DEPEX
-
- # Find Consumed Ppi/Protocol
- SqlCommand = """select ModuleName, ItemType, GuidName, GuidValue, GuidMacro from Report
- where SourceFileFullPath in
- (select Value1 from Inf where BelongsToFile =
- (select BelongsToFile from Inf
- where Value1 = 'FILE_GUID' and Value2 like '%s' and Model = %s)
- and Model = %s)
- and ItemMode = 'Consumed' group by GuidName order by ItemType""" \
- % (FfsGuid, 5001, 3007)
-
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- Count = len(RecordSet)
- Content = """ <tr>
- <td><span id='ConsumedHeader%s' class="styleConsumed" onclick="Display('ConsumedHeader%s', 'Consumed%s')" onMouseOver="funOnMouseOver()" onMouseOut="funOnMouseOut()">&nbsp&nbspConsumed Ppis/Protocols List (%s)</span></td>
- </tr>
- <tr id='Consumed%s' style='display:none;'>
- <td><table width="100%%" border="1">""" % (self.FfsIndex, self.FfsIndex, self.FfsIndex, Count, self.FfsIndex)
- self.WriteLn(Content)
- self.ProtocolIndex = 0
- for Record in RecordSet:
- self.ProtocolIndex = self.ProtocolIndex + 1
- Name = Record[2]
- CName = Record[4]
- Guid = Record[3]
- Type = Record[1]
- self.GeneratePpiProtocol(Type, Name, Guid, 'Consumed', CName)
-
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
- #End of Consumed Ppi/Portocol
-
- # Find Produced Ppi/Protocol
- SqlCommand = """select ModuleName, ItemType, GuidName, GuidValue, GuidMacro from Report
- where SourceFileFullPath in
- (select Value1 from Inf where BelongsToFile =
- (select BelongsToFile from Inf
- where Value1 = 'FILE_GUID' and Value2 like '%s' and Model = %s)
- and Model = %s)
- and ItemMode = 'Produced' group by GuidName order by ItemType""" \
- % (FfsGuid, 5001, 3007)
-
- RecordSet = EotGlobalData.gDb.TblReport.Exec(SqlCommand)
- if RecordSet != []:
- Count = len(RecordSet)
- Content = """ <tr>
- <td><span id='ProducedHeader%s' class="styleProduced" onclick="Display('ProducedHeader%s', 'Produced%s')" onMouseOver="funOnMouseOver()" onMouseOut="funOnMouseOut()">&nbsp&nbspProduced Ppis/Protocols List (%s)</span></td>
- </tr>
- <tr id='Produced%s' style='display:none;'>
- <td><table width="100%%" border="1">""" % (self.FfsIndex, self.FfsIndex, self.FfsIndex, Count, self.FfsIndex)
- self.WriteLn(Content)
- self.PpiIndex = 0
- for Record in RecordSet:
- self.PpiIndex = self.PpiIndex + 1
- Name = Record[2]
- CName = Record[4]
- Guid = Record[3]
- Type = Record[1]
- self.GeneratePpiProtocol(Type, Name, Guid, 'Produced', CName)
-
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
- RecordSet = None
- # End of Produced Ppi/Protocol
-
- Content = """ </table></td>
- </tr>"""
- self.WriteLn(Content)
-
- ## GenerateTail() method
- #
- # Generate end tags of HTML report
- #
- # @param self: The object pointer
- #
- def GenerateTail(self):
- Tail = """</table>
-</body>
-</html>"""
- self.WriteLn(Tail)
-
- ## GenerateHeader() method
- #
- # Generate start tags of HTML report
- #
- # @param self: The object pointer
- #
- def GenerateHeader(self):
- Header = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>Execution Order Tool Report</title>
-<meta http-equiv="Content-Type" content="text/html">
-<style type="text/css">
-<!--
-.styleFfs {
- color: #006600;
- font-weight: bold;
-}
-.styleDepex {
- color: #FF0066;
- font-weight: bold;
-}
-.styleProduced {
- color: #0000FF;
- font-weight: bold;
-}
-.styleConsumed {
- color: #FF00FF;
- font-weight: bold;
-}
--->
-</style>
-<Script type="text/javascript">
-function Display(ParentID, SubID)
-{
- SubItem = document.getElementById(SubID);
- ParentItem = document.getElementById(ParentID);
- if (SubItem.style.display == 'none')
- {
- SubItem.style.display = ''
- ParentItem.style.fontWeight = 'normal'
- }
- else
- {
- SubItem.style.display = 'none'
- ParentItem.style.fontWeight = 'bold'
- }
-
-}
-
-function funOnMouseOver()
-{
- document.body.style.cursor = "hand";
-}
-
-function funOnMouseOut()
-{
- document.body.style.cursor = "";
-}
-
-</Script>
-</head>
-
-<body>
-<table width="100%%" border="1">"""
- self.WriteLn(Header)
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
- # Initialize log system
- FilePath = 'FVRECOVERYFLOPPY.fv'
- if FilePath.lower().endswith(".fv"):
- fd = open(FilePath, 'rb')
- buf = array('B')
- try:
- buf.fromfile(fd, os.path.getsize(FilePath))
- except EOFError:
- pass
-
- fv = FirmwareVolume("FVRECOVERY", buf, 0)
-
- report = Report('Report.html', fv)
- report.GenerateReport()
diff --git a/BaseTools/Source/Python/Eot/__init__.py b/BaseTools/Source/Python/Eot/__init__.py
deleted file mode 100644
index c184a687d8..0000000000
--- a/BaseTools/Source/Python/Eot/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-## @file
-# Python 'Eot' package initialization file.
-#
-# This file is required to make Python interpreter treat the directory
-# as containing package.
-#
-# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
diff --git a/BaseTools/Source/Python/Eot/c.py b/BaseTools/Source/Python/Eot/c.py
deleted file mode 100644
index f191dd4efc..0000000000
--- a/BaseTools/Source/Python/Eot/c.py
+++ /dev/null
@@ -1,397 +0,0 @@
-## @file
-# preprocess source file
-#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-##
-# Import Modules
-#
-import sys
-import os
-import re
-import CodeFragmentCollector
-import FileProfile
-from CommonDataClass import DataClass
-from Common import EdkLogger
-from EotToolError import *
-import EotGlobalData
-
-# Global Dicts
-IncludeFileListDict = {}
-IncludePathListDict = {}
-ComplexTypeDict = {}
-SUDict = {}
-
-## GetIgnoredDirListPattern() method
-#
-# Get the pattern of ignored direction list
-#
-# @return p: the pattern of ignored direction list
-#
-def GetIgnoredDirListPattern():
- p = re.compile(r'.*[\\/](?:BUILD|INTELRESTRICTEDTOOLS|INTELRESTRICTEDPKG|PCCTS)[\\/].*')
- return p
-
-## GetFuncDeclPattern() method
-#
-# Get the pattern of function declaration
-#
-# @return p: the pattern of function declaration
-#
-def GetFuncDeclPattern():
- p = re.compile(r'(EFIAPI|EFI_BOOT_SERVICE|EFI_RUNTIME_SERVICE)?\s*[_\w]+\s*\(.*\).*', re.DOTALL)
- return p
-
-## GetArrayPattern() method
-#
-# Get the pattern of array
-#
-# @return p: the pattern of array
-#
-def GetArrayPattern():
- p = re.compile(r'[_\w]*\s*[\[.*\]]+')
- return p
-
-## GetTypedefFuncPointerPattern() method
-#
-# Get the pattern of function pointer
-#
-# @return p: the pattern of function pointer
-#
-def GetTypedefFuncPointerPattern():
- p = re.compile('[_\w\s]*\([\w\s]*\*+\s*[_\w]+\s*\)\s*\(.*\)', re.DOTALL)
- return p
-
-## GetDB() method
-#
-# Get global database instance
-#
-# @return EotGlobalData.gDb: the global database instance
-#
-def GetDB():
- return EotGlobalData.gDb
-
-## PrintErrorMsg() method
-#
-# print error message
-#
-# @param ErrorType: Type of error
-# @param Msg: Error message
-# @param TableName: table name of error found
-# @param ItemId: id of item
-#
-def PrintErrorMsg(ErrorType, Msg, TableName, ItemId):
- Msg = Msg.replace('\n', '').replace('\r', '')
- MsgPartList = Msg.split()
- Msg = ''
- for Part in MsgPartList:
- Msg += Part
- Msg += ' '
- GetDB().TblReport.Insert(ErrorType, OtherMsg = Msg, BelongsToTable = TableName, BelongsToItem = ItemId)
-
-## GetIdType() method
-#
-# Find type of input string
-#
-# @param Str: String to be parsed
-#
-# @return Type: The type of the string
-#
-def GetIdType(Str):
- Type = DataClass.MODEL_UNKNOWN
- Str = Str.replace('#', '# ')
- List = Str.split()
- if List[1] == 'include':
- Type = DataClass.MODEL_IDENTIFIER_INCLUDE
- elif List[1] == 'define':
- Type = DataClass.MODEL_IDENTIFIER_MACRO_DEFINE
- elif List[1] == 'ifdef':
- Type = DataClass.MODEL_IDENTIFIER_MACRO_IFDEF
- elif List[1] == 'ifndef':
- Type = DataClass.MODEL_IDENTIFIER_MACRO_IFNDEF
- elif List[1] == 'endif':
- Type = DataClass.MODEL_IDENTIFIER_MACRO_ENDIF
- elif List[1] == 'pragma':
- Type = DataClass.MODEL_IDENTIFIER_MACRO_PROGMA
- else:
- Type = DataClass.MODEL_UNKNOWN
- return Type
-
-## GetIdentifierList() method
-#
-# Get id of all files
-#
-# @return IdList: The list of all id of files
-#
-def GetIdentifierList():
- IdList = []
-
- for pp in FileProfile.PPDirectiveList:
- Type = GetIdType(pp.Content)
- IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0],pp.StartPos[1],pp.EndPos[0],pp.EndPos[1])
- IdList.append(IdPP)
-
- for ae in FileProfile.AssignmentExpressionList:
- IdAE = DataClass.IdentifierClass(-1, ae.Operator, '', ae.Name, ae.Value, DataClass.MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION, -1, -1, ae.StartPos[0],ae.StartPos[1],ae.EndPos[0],ae.EndPos[1])
- IdList.append(IdAE)
-
- FuncDeclPattern = GetFuncDeclPattern()
- ArrayPattern = GetArrayPattern()
- for var in FileProfile.VariableDeclarationList:
- DeclText = var.Declarator.strip()
- while DeclText.startswith('*'):
- var.Modifier += '*'
- DeclText = DeclText.lstrip('*').strip()
- var.Declarator = DeclText
- if FuncDeclPattern.match(var.Declarator):
- DeclSplitList = var.Declarator.split('(')
- FuncName = DeclSplitList[0]
- FuncNamePartList = FuncName.split()
- if len(FuncNamePartList) > 1:
- FuncName = FuncNamePartList[-1]
- Index = 0
- while Index < len(FuncNamePartList) - 1:
- var.Modifier += ' ' + FuncNamePartList[Index]
- var.Declarator = var.Declarator.lstrip().lstrip(FuncNamePartList[Index])
- Index += 1
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', var.Declarator, '', DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])
- IdList.append(IdVar)
- continue
-
- if var.Declarator.find('{') == -1:
- for decl in var.Declarator.split(','):
- DeclList = decl.split('=')
- Name = DeclList[0].strip()
- if ArrayPattern.match(Name):
- LSBPos = var.Declarator.find('[')
- var.Modifier += ' ' + Name[LSBPos:]
- Name = Name[0:LSBPos]
-
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])
- IdList.append(IdVar)
- else:
- DeclList = var.Declarator.split('=')
- Name = DeclList[0].strip()
- if ArrayPattern.match(Name):
- LSBPos = var.Declarator.find('[')
- var.Modifier += ' ' + Name[LSBPos:]
- Name = Name[0:LSBPos]
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])
- IdList.append(IdVar)
-
- for enum in FileProfile.EnumerationDefinitionList:
- LBPos = enum.Content.find('{')
- RBPos = enum.Content.find('}')
- Name = enum.Content[4:LBPos].strip()
- Value = enum.Content[LBPos+1:RBPos]
- IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0],enum.StartPos[1],enum.EndPos[0],enum.EndPos[1])
- IdList.append(IdEnum)
-
- for su in FileProfile.StructUnionDefinitionList:
- Type = DataClass.MODEL_IDENTIFIER_STRUCTURE
- SkipLen = 6
- if su.Content.startswith('union'):
- Type = DataClass.MODEL_IDENTIFIER_UNION
- SkipLen = 5
- LBPos = su.Content.find('{')
- RBPos = su.Content.find('}')
- if LBPos == -1 or RBPos == -1:
- Name = su.Content[SkipLen:].strip()
- Value = ''
- else:
- Name = su.Content[SkipLen:LBPos].strip()
- Value = su.Content[LBPos+1:RBPos]
- IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0],su.StartPos[1],su.EndPos[0],su.EndPos[1])
- IdList.append(IdPE)
-
- TdFuncPointerPattern = GetTypedefFuncPointerPattern()
- for td in FileProfile.TypedefDefinitionList:
- Modifier = ''
- Name = td.ToType
- Value = td.FromType
- if TdFuncPointerPattern.match(td.ToType):
- Modifier = td.FromType
- LBPos = td.ToType.find('(')
- TmpStr = td.ToType[LBPos+1:].strip()
- StarPos = TmpStr.find('*')
- if StarPos != -1:
- Modifier += ' ' + TmpStr[0:StarPos]
- while TmpStr[StarPos] == '*':
- Modifier += ' ' + '*'
- StarPos += 1
- TmpStr = TmpStr[StarPos:].strip()
- RBPos = TmpStr.find(')')
- Name = TmpStr[0:RBPos]
- Value = 'FP' + TmpStr[RBPos + 1:]
-
- IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0],td.StartPos[1],td.EndPos[0],td.EndPos[1])
- IdList.append(IdTd)
-
- for funcCall in FileProfile.FunctionCallingList:
- IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0],funcCall.StartPos[1],funcCall.EndPos[0],funcCall.EndPos[1])
- IdList.append(IdFC)
- return IdList
-
-## GetParamList() method
-#
-# Get a list of parameters
-#
-# @param FuncDeclarator: Function declarator
-# @param FuncNameLine: Line number of function name
-# @param FuncNameOffset: Offset of function name
-#
-# @return ParamIdList: A list of parameters
-#
-def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0):
- ParamIdList = []
- DeclSplitList = FuncDeclarator.split('(')
- if len(DeclSplitList) < 2:
- return ParamIdList
- FuncName = DeclSplitList[0]
- ParamStr = DeclSplitList[1].rstrip(')')
- LineSkipped = 0
- OffsetSkipped = 0
- Start = 0
- while FuncName.find('\n', Start) != -1:
- LineSkipped += 1
- OffsetSkipped = 0
- Start += FuncName.find('\n', Start)
- Start += 1
- OffsetSkipped += len(FuncName[Start:])
- OffsetSkipped += 1 #skip '('
- ParamBeginLine = FuncNameLine + LineSkipped
- ParamBeginOffset = OffsetSkipped
- for p in ParamStr.split(','):
- ListP = p.split()
- if len(ListP) == 0:
- continue
- ParamName = ListP[-1]
- DeclText = ParamName.strip()
- RightSpacePos = p.rfind(ParamName)
- ParamModifier = p[0:RightSpacePos]
- if ParamName == 'OPTIONAL':
- if ParamModifier == '':
- ParamModifier += ' ' + 'OPTIONAL'
- DeclText = ''
- else:
- ParamName = ListP[-2]
- DeclText = ParamName.strip()
- RightSpacePos = p.rfind(ParamName)
- ParamModifier = p[0:RightSpacePos]
- ParamModifier += 'OPTIONAL'
- while DeclText.startswith('*'):
- ParamModifier += ' ' + '*'
- DeclText = DeclText.lstrip('*').strip()
- ParamName = DeclText
-
- Start = 0
- while p.find('\n', Start) != -1:
- LineSkipped += 1
- OffsetSkipped = 0
- Start += p.find('\n', Start)
- Start += 1
- OffsetSkipped += len(p[Start:])
-
- ParamEndLine = ParamBeginLine + LineSkipped
- ParamEndOffset = OffsetSkipped
- IdParam = DataClass.IdentifierClass(-1, ParamModifier, '', ParamName, '', DataClass.MODEL_IDENTIFIER_PARAMETER, -1, -1, ParamBeginLine, ParamBeginOffset, ParamEndLine, ParamEndOffset)
- ParamIdList.append(IdParam)
- ParamBeginLine = ParamEndLine
- ParamBeginOffset = OffsetSkipped + 1 #skip ','
-
- return ParamIdList
-
-## GetFunctionList()
-#
-# Get a list of functions
-#
-# @return FuncObjList: A list of function objects
-#
-def GetFunctionList():
- FuncObjList = []
- for FuncDef in FileProfile.FunctionDefinitionList:
- ParamIdList = []
- DeclText = FuncDef.Declarator.strip()
- while DeclText.startswith('*'):
- FuncDef.Modifier += '*'
- DeclText = DeclText.lstrip('*').strip()
-
- FuncDef.Declarator = FuncDef.Declarator.lstrip('*')
- DeclSplitList = FuncDef.Declarator.split('(')
- if len(DeclSplitList) < 2:
- continue
-
- FuncName = DeclSplitList[0]
- FuncNamePartList = FuncName.split()
- if len(FuncNamePartList) > 1:
- FuncName = FuncNamePartList[-1]
- Index = 0
- while Index < len(FuncNamePartList) - 1:
- FuncDef.Modifier += ' ' + FuncNamePartList[Index]
- Index += 1
-
- FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0],FuncDef.StartPos[1],FuncDef.EndPos[0],FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [])
- FuncObjList.append(FuncObj)
-
- return FuncObjList
-
-## CreateCCodeDB() method
-#
-# Create database for all c code
-#
-# @param FileNameList: A list of all c code file names
-#
-def CreateCCodeDB(FileNameList):
- FileObjList = []
- ParseErrorFileList = []
- ParsedFiles = {}
- for FullName in FileNameList:
- if os.path.splitext(FullName)[1] in ('.h', '.c'):
- if FullName.lower() in ParsedFiles:
- continue
- ParsedFiles[FullName.lower()] = 1
- EdkLogger.info("Parsing " + FullName)
- model = FullName.endswith('c') and DataClass.MODEL_FILE_C or DataClass.MODEL_FILE_H
- collector = CodeFragmentCollector.CodeFragmentCollector(FullName)
- try:
- collector.ParseFile()
- except:
- ParseErrorFileList.append(FullName)
- BaseName = os.path.basename(FullName)
- DirName = os.path.dirname(FullName)
- Ext = os.path.splitext(BaseName)[1].lstrip('.')
- ModifiedTime = os.path.getmtime(FullName)
- FileObj = DataClass.FileClass(-1, BaseName, Ext, DirName, FullName, model, ModifiedTime, GetFunctionList(), GetIdentifierList(), [])
- FileObjList.append(FileObj)
- collector.CleanFileProfileBuffer()
-
- if len(ParseErrorFileList) > 0:
- EdkLogger.info("Found unrecoverable error during parsing:\n\t%s\n" % "\n\t".join(ParseErrorFileList))
-
- Db = EotGlobalData.gDb
- for file in FileObjList:
- Db.InsertOneFile(file)
-
- Db.UpdateIdentifierBelongsToFunction()
-
-##
-#
-# This acts like the main() function for the script, unless it is 'import'ed into another
-# script.
-#
-if __name__ == '__main__':
-
- EdkLogger.Initialize()
- EdkLogger.SetLevel(EdkLogger.QUIET)
- CollectSourceCodeDataIntoDB(sys.argv[1])
-
- print 'Done!'