def compound_statement()

in BaseTools/Source/Python/Ecc/CParser3/CParser.py [0:0]


    def compound_statement(self, ):

        retval = self.compound_statement_return()
        retval.start = self.input.LT(1)
        compound_statement_StartIndex = self.input.index()
        try:
            try:
                if self.backtracking > 0 and self.alreadyParsedRule(self.input, 66):
                    return retval

                # C.g:554:2: ( '{' ( declaration )* ( statement_list )? '}' )
                # C.g:554:4: '{' ( declaration )* ( statement_list )? '}'
                self.match(self.input, 43, self.FOLLOW_43_in_compound_statement2223)
                if self.failed:
                    return retval
                # C.g:554:8: ( declaration )*
                while True: #loop93
                    alt93 = 2
                    LA93 = self.input.LA(1)
                    if LA93 == IDENTIFIER:
                        LA93 = self.input.LA(2)
                        if LA93 == 62:
                            LA93_44 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_47 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 66:
                            LA93_48 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_49 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_50 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_51 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_52 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_53 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_54 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_55 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_56 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_57 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_58 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_59 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_60 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_61 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_62 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_63 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_64 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_65 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 26:
                        LA93 = self.input.LA(2)
                        if LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_86 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_87 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_88 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_89 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_90 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_91 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_92 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_93 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_94 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_95 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_96 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_97 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_98 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_99 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 66:
                            LA93_100 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_101 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_102 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_103 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_104 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_105 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_106 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_107 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_108 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_109 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_110 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_111 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_112 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_113 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_114 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_115 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_116 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_117 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_118 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_119 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_120 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_121 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_122 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_123 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_124 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 34:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_125 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_126 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_127 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_128 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_129 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_130 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_131 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_132 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_133 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_134 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_135 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_136 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_137 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_138 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_139 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_140 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_141 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_142 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_143 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_144 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 35:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_145 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_146 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_147 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_148 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_149 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_150 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_151 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_152 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_153 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_154 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_155 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_156 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_157 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_158 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_159 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_160 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_161 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_162 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_163 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_164 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 36:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_165 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_166 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_167 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_168 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_169 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_170 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_171 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_172 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_173 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_174 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_175 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_176 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_177 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_178 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_179 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_180 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_181 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_182 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_183 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_184 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 37:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_185 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_186 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_187 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_188 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_189 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_190 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_191 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_192 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_193 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_194 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_195 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_196 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_197 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_198 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_199 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_200 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_201 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_202 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_203 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_204 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 38:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_205 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_206 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_207 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_208 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_209 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_210 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_211 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_212 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_213 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_214 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_215 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_216 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_217 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_218 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_219 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_220 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_221 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_222 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_223 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_224 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 39:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_225 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_226 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_227 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_228 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_229 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_230 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_231 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_232 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_233 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_234 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_235 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_236 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_237 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_238 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_239 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_240 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_241 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_242 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_243 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_244 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 40:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_245 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_246 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_247 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_248 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_249 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_250 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_251 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_252 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_253 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_254 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_255 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_256 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_257 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_258 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_259 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_260 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_261 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_262 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_263 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_264 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 41:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_265 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_266 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_267 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_268 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_269 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_270 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_271 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_272 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_273 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_274 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_275 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_276 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_277 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_278 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_279 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_280 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_281 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_282 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_283 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_284 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 42:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_285 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_286 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_287 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_288 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_289 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_290 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_291 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_292 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_293 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_294 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_295 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_296 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_297 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_298 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_299 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_300 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_301 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_302 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_303 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_304 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1



                    elif LA93 == 45 or LA93 == 46:
                        LA93_40 = self.input.LA(2)

                        if (LA93_40 == IDENTIFIER) :
                            LA93_305 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif (LA93_40 == 43) :
                            LA93_306 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1




                    elif LA93 == 48:
                        LA93_41 = self.input.LA(2)

                        if (LA93_41 == 43) :
                            LA93_307 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif (LA93_41 == IDENTIFIER) :
                            LA93_308 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1




                    elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 58 or LA93 == 59 or LA93 == 60 or LA93 == 61:
                        LA93 = self.input.LA(2)
                        if LA93 == 66:
                            LA93_309 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 58:
                            LA93_310 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 59:
                            LA93_311 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 60:
                            LA93_312 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == IDENTIFIER:
                            LA93_313 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 62:
                            LA93_314 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 25:
                            LA93_315 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 29 or LA93 == 30 or LA93 == 31 or LA93 == 32 or LA93 == 33:
                            LA93_316 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 34:
                            LA93_317 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 35:
                            LA93_318 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 36:
                            LA93_319 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 37:
                            LA93_320 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 38:
                            LA93_321 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 39:
                            LA93_322 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 40:
                            LA93_323 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 41:
                            LA93_324 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 42:
                            LA93_325 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 45 or LA93 == 46:
                            LA93_326 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 48:
                            LA93_327 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1


                        elif LA93 == 49 or LA93 == 50 or LA93 == 51 or LA93 == 52 or LA93 == 53 or LA93 == 54 or LA93 == 55 or LA93 == 56 or LA93 == 57 or LA93 == 61:
                            LA93_328 = self.input.LA(3)

                            if (self.synpred186()) :
                                alt93 = 1




                    if alt93 == 1:
                        # C.g:0:0: declaration
                        self.following.append(self.FOLLOW_declaration_in_compound_statement2225)
                        self.declaration()
                        self.following.pop()
                        if self.failed:
                            return retval


                    else:
                        break #loop93


                # C.g:554:21: ( statement_list )?
                alt94 = 2
                LA94_0 = self.input.LA(1)

                if ((IDENTIFIER <= LA94_0 <= FLOATING_POINT_LITERAL) or (25 <= LA94_0 <= 26) or (29 <= LA94_0 <= 43) or (45 <= LA94_0 <= 46) or (48 <= LA94_0 <= 62) or LA94_0 == 66 or (68 <= LA94_0 <= 69) or (72 <= LA94_0 <= 74) or (77 <= LA94_0 <= 79) or (103 <= LA94_0 <= 108) or (110 <= LA94_0 <= 117)) :
                    alt94 = 1
                if alt94 == 1:
                    # C.g:0:0: statement_list
                    self.following.append(self.FOLLOW_statement_list_in_compound_statement2228)
                    self.statement_list()
                    self.following.pop()
                    if self.failed:
                        return retval



                self.match(self.input, 44, self.FOLLOW_44_in_compound_statement2231)
                if self.failed:
                    return retval



                retval.stop = self.input.LT(-1)


            except RecognitionException as re:
                self.reportError(re)
                self.recover(self.input, re)
        finally:
            if self.backtracking > 0:
                self.memoize(self.input, 66, compound_statement_StartIndex)

            pass

        return retval