2 /*=========================================================================
4 Program: CMake - Cross-Platform Makefile Generator
5 Module: $RCSfile: cmDependsJavaParser.y,v $
7 Date: $Date: 2006-08-01 15:38:41 $
8 Version: $Revision: 1.5 $
10 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
11 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
20 This file must be translated to C and modified to build everywhere.
24 bison --yacc --name-prefix=cmDependsJava_yy --defines=cmDependsJavaParserTokens.h -ocmDependsJavaParser.cxx cmDependsJavaParser.y
26 Modify cmDependsJavaParser.cxx:
28 - add __HP_aCC to the #if test for yyerrorlab warning suppression
32 /* Configure the parser to use a lexer object. */
33 #define YYPARSE_PARAM yyscanner
34 #define YYLEX_PARAM yyscanner
35 #define YYERROR_VERBOSE 1
36 #define cmDependsJava_yyerror(x) \
37 cmDependsJavaError
(yyscanner
, x
)
38 #define yyGetParser (cmDependsJava_yyget_extra(yyscanner))
40 /*-------------------------------------------------------------------------*/
41 #include "cmDependsJavaParserHelper.h" /* Interface to parser object. */
42 #include "cmDependsJavaLexer.h" /* Interface to lexer object. */
43 #include "cmDependsJavaParserTokens.h" /* Need YYSTYPE for YY_DECL. */
45 /* Forward declare the lexer entry point. */
48 /* Internal utility functions. */
49 static void cmDependsJavaError
(yyscan_t yyscanner
, const char* message
);
52 #define YYMAXDEPTH 1000000
55 #define jpCheckEmpty(cnt) yyGetParser->CheckEmpty(__LINE__, cnt, yyvsp);
56 #define jpElementStart(cnt) yyGetParser->PrepareElement(&yyval)
57 #define jpStoreClass(str) yyGetParser->AddClassFound(str); yyGetParser->DeallocateParserType(&(str))
58 /* Disable some warnings in the generated code. */
60 # pragma warn -8004 /* Variable assigned a value that is not used. */
61 # pragma warn -8008 /* condition always returns true */
62 # pragma warn -8060 /* possibly incorrect assignment */
63 # pragma warn -8066 /* unreachable code */
66 # pragma warning (disable: 4102) /* Unused goto label. */
67 # pragma warning (disable: 4065) /* Switch statement contains default but no case. */
71 /* Generate a reentrant parser object. */
80 /*-------------------------------------------------------------------------*/
84 %token jp_BOOLEAN_TYPE
120 %token jp_SYNCHRONIZED
130 %token jp_BOOLEANLITERAL
131 %token jp_CHARACTERLITERAL
132 %token jp_DECIMALINTEGERLITERAL
133 %token jp_FLOATINGPOINTLITERAL
134 %token jp_HEXINTEGERLITERAL
135 %token jp_NULLLITERAL
136 %token jp_STRINGLITERAL
144 %token jp_BRACKETSTART
146 %token jp_CARROTEQUALS
152 %token jp_DIVIDEEQUALS
156 %token jp_EQUALSEQUALS
157 %token jp_EXCLAMATION
158 %token jp_EXCLAMATIONEQUALS
164 %token jp_GTGTGTEQUALS
165 %token jp_LESLESEQUALS
170 %token jp_MINUSEQUALS
175 %token jp_PERCENTEQUALS
186 %token jp_TIMESEQUALS
190 /*-------------------------------------------------------------------------*/
200 yyGetParser
->SetCurrentCombine
("");
209 yyGetParser
->SetCurrentCombine
("");
212 jp_FLOATINGPOINTLITERAL
217 yyGetParser
->SetCurrentCombine
("");
225 yyGetParser
->SetCurrentCombine
("");
233 yyGetParser
->SetCurrentCombine
("");
241 yyGetParser
->SetCurrentCombine
("");
249 yyGetParser
->SetCurrentCombine
("");
253 jp_DECIMALINTEGERLITERAL
258 yyGetParser
->SetCurrentCombine
("");
266 yyGetParser
->SetCurrentCombine
("");
275 yyGetParser
->SetCurrentCombine
("");
283 yyGetParser
->SetCurrentCombine
("");
333 yyGetParser
->SetCurrentCombine
("");
341 yyGetParser
->SetCurrentCombine
("");
344 ClassOrInterfaceType:
348 jpStoreClass
($
<str
>1);
351 yyGetParser
->SetCurrentCombine
("");
360 yyGetParser
->SetCurrentCombine
("");
369 yyGetParser
->SetCurrentCombine
("");
378 yyGetParser
->SetCurrentCombine
("");
384 jpStoreClass
($
<str
>1);
387 yyGetParser
->SetCurrentCombine
("");
424 Name jp_DOT Identifier
427 yyGetParser
->AddClassFound
($
<str
>1);
428 yyGetParser
->UpdateCombine
($
<str
>1, $
<str
>3);
429 yyGetParser
->DeallocateParserType
(&($
<str
>1));
430 $
<str
>$
= const_cast
<char*>(yyGetParser
->GetCurrentCombine
());
436 jpStoreClass
($
<str
>1);
438 yyGetParser
->SetCurrentCombine
("");
440 yyGetParser
->SetCurrentCombine
("");
446 jpStoreClass
($
<str
>1);
447 yyGetParser
->SetCurrentCombine
("");
450 yyGetParser
->SetCurrentCombine
("");
453 SimpleType jp_DOT jp_CLASS
458 yyGetParser
->SetCurrentCombine
("");
467 yyGetParser
->SetCurrentCombine
("");
475 yyGetParser
->SetCurrentCombine
("");
479 PackageDeclarationopt ImportDeclarations TypeDeclarations
484 yyGetParser
->SetCurrentCombine
("");
487 PackageDeclarationopt:
491 yyGetParser
->SetCurrentCombine
("");
499 yyGetParser
->SetCurrentCombine
("");
506 yyGetParser
->SetCurrentCombine
("");
509 ImportDeclarations ImportDeclaration
514 yyGetParser
->SetCurrentCombine
("");
521 yyGetParser
->SetCurrentCombine
("");
524 TypeDeclarations TypeDeclaration
529 yyGetParser
->SetCurrentCombine
("");
533 jp_PACKAGE Name jp_SEMICOL
536 yyGetParser
->SetCurrentPackage
($
<str
>2);
537 yyGetParser
->DeallocateParserType
(&($
<str
>2));
538 yyGetParser
->SetCurrentCombine
("");
541 yyGetParser
->SetCurrentCombine
("");
545 SingleTypeImportDeclaration
550 yyGetParser
->SetCurrentCombine
("");
553 TypeImportOnDemandDeclaration
558 yyGetParser
->SetCurrentCombine
("");
561 SingleTypeImportDeclaration:
562 jp_IMPORT Name jp_SEMICOL
565 yyGetParser
->AddPackagesImport
($
<str
>2);
566 yyGetParser
->DeallocateParserType
(&($
<str
>2));
567 yyGetParser
->SetCurrentCombine
("");
570 yyGetParser
->SetCurrentCombine
("");
573 TypeImportOnDemandDeclaration:
574 jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL
577 std
::string str
= $
<str
>2;
579 yyGetParser
->AddPackagesImport
(str.c_str
());
580 yyGetParser
->DeallocateParserType
(&($
<str
>2));
581 yyGetParser
->SetCurrentCombine
("");
583 yyGetParser
->SetCurrentCombine
("");
592 yyGetParser
->SetCurrentCombine
("");
600 yyGetParser
->SetCurrentCombine
("");
608 yyGetParser
->SetCurrentCombine
("");
617 yyGetParser
->SetCurrentCombine
("");
625 yyGetParser
->SetCurrentCombine
("");
629 jp_PUBLIC | jp_PROTECTED | jp_PRIVATE |
631 jp_ABSTRACT | jp_FINAL | jp_NATIVE | jp_SYNCHRONIZED | jp_TRANSIENT | jp_VOLATILE |
635 Modifiersopt jp_CLASS Identifier
637 yyGetParser
->StartClass
($
<str
>3);
639 yyGetParser
->DeallocateParserType
(&($
<str
>3));
645 ClassHeader ClassBody
650 yyGetParser
->SetCurrentCombine
("");
651 yyGetParser
->EndClass
();
654 ClassHeader Interfaces ClassBody
659 yyGetParser
->SetCurrentCombine
("");
660 yyGetParser
->EndClass
();
663 ClassHeader Super ClassBody
668 yyGetParser
->SetCurrentCombine
("");
669 yyGetParser
->EndClass
();
672 ClassHeader Super Interfaces ClassBody
677 yyGetParser
->SetCurrentCombine
("");
678 yyGetParser
->EndClass
();
685 yyGetParser
->SetCurrentCombine
("");
693 yyGetParser
->SetCurrentCombine
("");
702 yyGetParser
->SetCurrentCombine
("");
706 jp_IMPLEMENTS InterfaceTypeList
711 yyGetParser
->SetCurrentCombine
("");
720 yyGetParser
->SetCurrentCombine
("");
723 InterfaceTypeList jp_COMMA InterfaceType
728 yyGetParser
->SetCurrentCombine
("");
732 jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND
737 yyGetParser
->SetCurrentCombine
("");
740 ClassBodyDeclarations:
744 yyGetParser
->SetCurrentCombine
("");
747 ClassBodyDeclarations ClassBodyDeclaration
752 yyGetParser
->SetCurrentCombine
("");
755 ClassBodyDeclaration:
756 ClassMemberDeclaration
761 yyGetParser
->SetCurrentCombine
("");
769 yyGetParser
->SetCurrentCombine
("");
772 ConstructorDeclaration
777 yyGetParser
->SetCurrentCombine
("");
785 yyGetParser
->SetCurrentCombine
("");
788 ClassMemberDeclaration:
794 yyGetParser
->SetCurrentCombine
("");
802 yyGetParser
->SetCurrentCombine
("");
806 Modifiersopt Type VariableDeclarators jp_SEMICOL
817 yyGetParser
->SetCurrentCombine
("");
820 VariableDeclarators jp_COMMA VariableDeclarator
825 yyGetParser
->SetCurrentCombine
("");
834 yyGetParser
->SetCurrentCombine
("");
837 VariableDeclaratorId jp_EQUALS VariableInitializer
842 yyGetParser
->SetCurrentCombine
("");
845 VariableDeclaratorId:
849 yyGetParser
->DeallocateParserType
(&($
<str
>1));
852 yyGetParser
->SetCurrentCombine
("");
855 VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND
860 yyGetParser
->SetCurrentCombine
("");
869 yyGetParser
->SetCurrentCombine
("");
877 yyGetParser
->SetCurrentCombine
("");
881 MethodHeader jp_SEMICOL
886 yyGetParser
->SetCurrentCombine
("");
889 MethodHeader MethodBody
894 yyGetParser
->SetCurrentCombine
("");
897 MethodHeader MethodBody jp_SEMICOL
902 yyGetParser
->SetCurrentCombine
("");
906 Modifiersopt Type MethodDeclarator Throwsopt
911 yyGetParser
->SetCurrentCombine
("");
915 Modifiersopt jp_VOID MethodDeclarator Throwsopt
920 yyGetParser
->SetCurrentCombine
("");
928 yyGetParser
->SetCurrentCombine
("");
937 yyGetParser
->SetCurrentCombine
("");
942 Identifier jp_PARESTART FormalParameterListopt jp_PAREEND
945 yyGetParser
->DeallocateParserType
(&($
<str
>1));
948 yyGetParser
->SetCurrentCombine
("");
952 MethodDeclarator jp_BRACKETSTART jp_BRACKETEND
958 FormalParameterListopt:
962 yyGetParser
->SetCurrentCombine
("");
975 FormalParameterList jp_COMMA FormalParameter
980 yyGetParser
->SetCurrentCombine
("");
985 Modifiersopt Type VariableDeclaratorId
990 yyGetParser
->SetCurrentCombine
("");
995 jp_THROWS ClassTypeList
1000 yyGetParser
->SetCurrentCombine
("");
1011 ClassTypeList jp_COMMA ClassType
1016 yyGetParser
->SetCurrentCombine
("");
1026 yyGetParser
->SetCurrentCombine
("");
1036 yyGetParser
->SetCurrentCombine
("");
1040 ConstructorDeclaration:
1041 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody
1046 yyGetParser
->SetCurrentCombine
("");
1050 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL
1055 yyGetParser
->SetCurrentCombine
("");
1059 ConstructorDeclarator:
1060 SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND
1063 yyGetParser
->DeallocateParserType
(&($
<str
>1));
1066 yyGetParser
->SetCurrentCombine
("");
1071 jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND
1076 yyGetParser
->SetCurrentCombine
("");
1080 ExplicitConstructorInvocationopt:
1084 yyGetParser
->SetCurrentCombine
("");
1088 ExplicitConstructorInvocationopt ExplicitConstructorInvocation
1093 yyGetParser
->SetCurrentCombine
("");
1097 ExplicitConstructorInvocation:
1098 jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1103 yyGetParser
->SetCurrentCombine
("");
1107 jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1112 yyGetParser
->SetCurrentCombine
("");
1117 Modifiersopt jp_INTERFACE Identifier
1119 yyGetParser
->StartClass
($
<str
>3);
1121 yyGetParser
->DeallocateParserType
(&($
<str
>3));
1125 InterfaceDeclaration:
1126 InterfaceHeader ExtendsInterfacesopt InterfaceBody
1131 yyGetParser
->SetCurrentCombine
("");
1132 yyGetParser
->EndClass
();
1135 ExtendsInterfacesopt:
1139 yyGetParser
->SetCurrentCombine
("");
1147 yyGetParser
->SetCurrentCombine
("");
1152 jp_EXTENDS InterfaceType
1157 yyGetParser
->SetCurrentCombine
("");
1161 ExtendsInterfaces jp_COMMA InterfaceType
1166 yyGetParser
->SetCurrentCombine
("");
1171 jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND
1176 yyGetParser
->SetCurrentCombine
("");
1180 InterfaceMemberDeclarations:
1184 yyGetParser
->SetCurrentCombine
("");
1188 InterfaceMemberDeclarations InterfaceMemberDeclaration
1192 yyGetParser
->SetCurrentCombine
("");
1196 InterfaceMemberDeclaration:
1202 yyGetParser
->SetCurrentCombine
("");
1206 AbstractMethodDeclaration
1211 yyGetParser
->SetCurrentCombine
("");
1220 yyGetParser
->SetCurrentCombine
("");
1224 ClassDeclaration jp_SEMICOL
1228 yyGetParser
->SetCurrentCombine
("");
1232 InterfaceDeclaration
1237 yyGetParser
->SetCurrentCombine
("");
1241 InterfaceDeclaration jp_SEMICOL
1245 yyGetParser
->SetCurrentCombine
("");
1249 ConstantDeclaration:
1255 yyGetParser
->SetCurrentCombine
("");
1259 AbstractMethodDeclaration:
1260 MethodHeader Semicols
1265 yyGetParser
->SetCurrentCombine
("");
1275 yyGetParser
->SetCurrentCombine
("");
1284 yyGetParser
->SetCurrentCombine
("");
1289 jp_CURLYSTART VariableInitializersOptional jp_CURLYEND
1294 yyGetParser
->SetCurrentCombine
("");
1298 VariableInitializersOptional:
1302 yyGetParser
->SetCurrentCombine
("");
1306 VariableInitializers
1311 yyGetParser
->SetCurrentCombine
("");
1315 VariableInitializers jp_COMMA
1320 yyGetParser
->SetCurrentCombine
("");
1324 VariableInitializers:
1330 yyGetParser
->SetCurrentCombine
("");
1334 VariableInitializers jp_COMMA VariableInitializer
1339 yyGetParser
->SetCurrentCombine
("");
1344 jp_CURLYSTART BlockStatementsopt jp_CURLYEND
1348 yyGetParser
->SetCurrentCombine
("");
1356 yyGetParser
->SetCurrentCombine
("");
1365 yyGetParser
->SetCurrentCombine
("");
1375 yyGetParser
->SetCurrentCombine
("");
1379 BlockStatements BlockStatement
1384 yyGetParser
->SetCurrentCombine
("");
1389 LocalVariableDeclarationStatement
1394 yyGetParser
->SetCurrentCombine
("");
1403 yyGetParser
->SetCurrentCombine
("");
1412 yyGetParser
->SetCurrentCombine
("");
1416 LocalVariableDeclarationStatement:
1417 LocalVariableDeclaration jp_SEMICOL
1422 yyGetParser
->SetCurrentCombine
("");
1426 LocalVariableDeclaration:
1427 Modifiers Type VariableDeclarators
1432 yyGetParser
->SetCurrentCombine
("");
1436 Type VariableDeclarators
1441 yyGetParser
->SetCurrentCombine
("");
1446 StatementWithoutTrailingSubstatement
1451 yyGetParser
->SetCurrentCombine
("");
1460 yyGetParser
->SetCurrentCombine
("");
1469 yyGetParser
->SetCurrentCombine
("");
1478 yyGetParser
->SetCurrentCombine
("");
1487 yyGetParser
->SetCurrentCombine
("");
1496 yyGetParser
->SetCurrentCombine
("");
1501 StatementWithoutTrailingSubstatement
1506 yyGetParser
->SetCurrentCombine
("");
1510 LabeledStatementNoShortIf
1515 yyGetParser
->SetCurrentCombine
("");
1519 IfThenElseStatementNoShortIf
1524 yyGetParser
->SetCurrentCombine
("");
1528 WhileStatementNoShortIf
1533 yyGetParser
->SetCurrentCombine
("");
1537 ForStatementNoShortIf
1542 yyGetParser
->SetCurrentCombine
("");
1546 StatementWithoutTrailingSubstatement:
1552 yyGetParser
->SetCurrentCombine
("");
1561 yyGetParser
->SetCurrentCombine
("");
1570 yyGetParser
->SetCurrentCombine
("");
1579 yyGetParser
->SetCurrentCombine
("");
1588 yyGetParser
->SetCurrentCombine
("");
1597 yyGetParser
->SetCurrentCombine
("");
1606 yyGetParser
->SetCurrentCombine
("");
1615 yyGetParser
->SetCurrentCombine
("");
1619 SynchronizedStatement
1624 yyGetParser
->SetCurrentCombine
("");
1633 yyGetParser
->SetCurrentCombine
("");
1642 yyGetParser
->SetCurrentCombine
("");
1651 yyGetParser
->SetCurrentCombine
("");
1661 yyGetParser
->SetCurrentCombine
("");
1666 Identifier jp_COLON Statement
1669 yyGetParser
->DeallocateParserType
(&($
<str
>1));
1672 yyGetParser
->SetCurrentCombine
("");
1676 LabeledStatementNoShortIf:
1677 Identifier jp_COLON StatementNoShortIf
1682 yyGetParser
->SetCurrentCombine
("");
1686 ExpressionStatement:
1687 StatementExpression jp_SEMICOL
1692 yyGetParser
->SetCurrentCombine
("");
1696 StatementExpression:
1702 yyGetParser
->SetCurrentCombine
("");
1706 PreIncrementExpression
1711 yyGetParser
->SetCurrentCombine
("");
1715 PreDecrementExpression
1720 yyGetParser
->SetCurrentCombine
("");
1724 PostIncrementExpression
1729 yyGetParser
->SetCurrentCombine
("");
1733 PostDecrementExpression
1738 yyGetParser
->SetCurrentCombine
("");
1747 yyGetParser
->SetCurrentCombine
("");
1751 ClassInstanceCreationExpression
1756 yyGetParser
->SetCurrentCombine
("");
1761 jp_IF jp_PARESTART Expression jp_PAREEND Statement
1766 yyGetParser
->SetCurrentCombine
("");
1770 IfThenElseStatement:
1771 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement
1776 yyGetParser
->SetCurrentCombine
("");
1780 IfThenElseStatementNoShortIf:
1781 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf
1786 yyGetParser
->SetCurrentCombine
("");
1791 jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock
1798 jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND
1808 yyGetParser
->SetCurrentCombine
("");
1817 yyGetParser
->SetCurrentCombine
("");
1821 SwitchBlockStatementGroups:
1825 yyGetParser
->SetCurrentCombine
("");
1829 SwitchBlockStatementGroups SwitchBlockStatementGroup
1834 yyGetParser
->SetCurrentCombine
("");
1838 SwitchBlockStatementGroup:
1839 SwitchLabels BlockStatements
1844 yyGetParser
->SetCurrentCombine
("");
1854 yyGetParser
->SetCurrentCombine
("");
1858 SwitchLabels SwitchLabel
1863 yyGetParser
->SetCurrentCombine
("");
1868 jp_CASE ConstantExpression jp_COLON
1873 yyGetParser
->SetCurrentCombine
("");
1882 yyGetParser
->SetCurrentCombine
("");
1887 jp_WHILE jp_PARESTART Expression jp_PAREEND Statement
1893 WhileStatementNoShortIf:
1894 jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf
1901 jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL
1908 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1919 yyGetParser
->SetCurrentCombine
("");
1928 yyGetParser
->SetCurrentCombine
("");
1936 yyGetParser
->SetCurrentCombine
("");
1945 yyGetParser
->SetCurrentCombine
("");
1949 ForStatementNoShortIf:
1950 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1955 yyGetParser
->SetCurrentCombine
("");
1963 yyGetParser
->SetCurrentCombine
("");
1972 yyGetParser
->SetCurrentCombine
("");
1977 StatementExpressionList
1982 yyGetParser
->SetCurrentCombine
("");
1986 LocalVariableDeclaration
1991 yyGetParser
->SetCurrentCombine
("");
1996 StatementExpressionList
2001 yyGetParser
->SetCurrentCombine
("");
2005 StatementExpressionList:
2011 yyGetParser
->SetCurrentCombine
("");
2015 StatementExpressionList jp_COMMA StatementExpression
2020 yyGetParser
->SetCurrentCombine
("");
2025 jp_ASSERT Expression jp_SEMICOL
2030 yyGetParser
->SetCurrentCombine
("");
2034 jp_ASSERT Expression jp_COLON Expression jp_SEMICOL
2039 yyGetParser
->SetCurrentCombine
("");
2044 jp_BREAK Identifieropt jp_SEMICOL
2047 yyGetParser
->DeallocateParserType
(&($
<str
>2));
2050 yyGetParser
->SetCurrentCombine
("");
2058 yyGetParser
->SetCurrentCombine
("");
2069 jp_CONTINUE Identifieropt jp_SEMICOL
2072 yyGetParser
->DeallocateParserType
(&($
<str
>2));
2075 yyGetParser
->SetCurrentCombine
("");
2080 jp_RETURN Expressionopt jp_SEMICOL
2085 yyGetParser
->SetCurrentCombine
("");
2090 jp_THROW Expression jp_SEMICOL
2095 yyGetParser
->SetCurrentCombine
("");
2099 SynchronizedStatement:
2100 jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block
2105 yyGetParser
->SetCurrentCombine
("");
2110 jp_TRY Block Catches
2115 yyGetParser
->SetCurrentCombine
("");
2119 jp_TRY Block Catchesopt Finally
2124 yyGetParser
->SetCurrentCombine
("");
2132 yyGetParser
->SetCurrentCombine
("");
2141 yyGetParser
->SetCurrentCombine
("");
2151 yyGetParser
->SetCurrentCombine
("");
2160 yyGetParser
->SetCurrentCombine
("");
2165 jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block
2177 yyGetParser
->SetCurrentCombine
("");
2187 yyGetParser
->SetCurrentCombine
("");
2191 ArrayCreationExpression
2196 yyGetParser
->SetCurrentCombine
("");
2206 yyGetParser
->SetCurrentCombine
("");
2216 jp_PARESTART Expression jp_PAREEND
2221 yyGetParser
->SetCurrentCombine
("");
2225 ClassInstanceCreationExpression
2230 yyGetParser
->SetCurrentCombine
("");
2239 yyGetParser
->SetCurrentCombine
("");
2248 yyGetParser
->SetCurrentCombine
("");
2257 yyGetParser
->SetCurrentCombine
("");
2261 ClassInstanceCreationExpression:
2262 New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt
2267 yyGetParser
->SetCurrentCombine
("");
2275 yyGetParser
->SetCurrentCombine
("");
2284 yyGetParser
->SetCurrentCombine
("");
2292 yyGetParser
->SetCurrentCombine
("");
2301 yyGetParser
->SetCurrentCombine
("");
2311 yyGetParser
->SetCurrentCombine
("");
2315 ArgumentList jp_COMMA Expression
2320 yyGetParser
->SetCurrentCombine
("");
2324 ArrayCreationExpression:
2325 New PrimitiveType DimExprs Dimsopt
2330 yyGetParser
->SetCurrentCombine
("");
2334 New ClassOrInterfaceType DimExprs Dimsopt
2339 yyGetParser
->SetCurrentCombine
("");
2343 New PrimitiveType Dims ArrayInitializer
2348 yyGetParser
->SetCurrentCombine
("");
2352 New ClassOrInterfaceType Dims ArrayInitializer
2357 yyGetParser
->SetCurrentCombine
("");
2365 yyGetParser
->SetCurrentCombine
("");
2374 yyGetParser
->SetCurrentCombine
("");
2384 yyGetParser
->SetCurrentCombine
("");
2393 yyGetParser
->SetCurrentCombine
("");
2398 jp_BRACKETSTART Expression jp_BRACKETEND
2403 yyGetParser
->SetCurrentCombine
("");
2408 jp_BRACKETSTART jp_BRACKETEND
2414 Dims jp_BRACKETSTART jp_BRACKETEND
2421 Primary jp_DOT Identifier
2424 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2427 yyGetParser
->SetCurrentCombine
("");
2431 jp_SUPER jp_DOT Identifier
2434 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2437 yyGetParser
->SetCurrentCombine
("");
2441 jp_THIS jp_DOT Identifier
2444 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2447 yyGetParser
->SetCurrentCombine
("");
2451 Primary jp_DOT jp_THIS
2454 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2457 yyGetParser
->SetCurrentCombine
("");
2462 Name jp_PARESTART ArgumentListopt jp_PAREEND
2465 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2468 yyGetParser
->SetCurrentCombine
("");
2472 Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2475 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2476 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2479 yyGetParser
->SetCurrentCombine
("");
2483 jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2486 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2489 yyGetParser
->SetCurrentCombine
("");
2493 jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2496 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2499 yyGetParser
->SetCurrentCombine
("");
2504 Name jp_BRACKETSTART Expression jp_BRACKETEND
2507 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2510 yyGetParser
->SetCurrentCombine
("");
2514 PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND
2519 yyGetParser
->SetCurrentCombine
("");
2529 yyGetParser
->SetCurrentCombine
("");
2536 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2538 yyGetParser
->SetCurrentCombine
("");
2542 ArrayType jp_DOT jp_CLASS
2547 yyGetParser
->SetCurrentCombine
("");
2551 PostIncrementExpression
2556 yyGetParser
->SetCurrentCombine
("");
2560 PostDecrementExpression
2565 yyGetParser
->SetCurrentCombine
("");
2569 PostIncrementExpression:
2570 PostfixExpression jp_PLUSPLUS
2575 yyGetParser
->SetCurrentCombine
("");
2579 PostDecrementExpression:
2580 PostfixExpression jp_MINUSMINUS
2585 yyGetParser
->SetCurrentCombine
("");
2590 PreIncrementExpression
2595 yyGetParser
->SetCurrentCombine
("");
2599 PreDecrementExpression
2604 yyGetParser
->SetCurrentCombine
("");
2608 jp_PLUS UnaryExpression
2613 yyGetParser
->SetCurrentCombine
("");
2617 jp_MINUS UnaryExpression
2622 yyGetParser
->SetCurrentCombine
("");
2626 UnaryExpressionNotPlusMinus
2631 yyGetParser
->SetCurrentCombine
("");
2635 PreIncrementExpression:
2636 jp_PLUSPLUS UnaryExpression
2641 yyGetParser
->SetCurrentCombine
("");
2645 PreDecrementExpression:
2646 jp_MINUSMINUS UnaryExpression
2651 yyGetParser
->SetCurrentCombine
("");
2655 UnaryExpressionNotPlusMinus:
2661 yyGetParser
->SetCurrentCombine
("");
2665 jp_TILDE UnaryExpression
2670 yyGetParser
->SetCurrentCombine
("");
2674 jp_EXCLAMATION UnaryExpression
2679 yyGetParser
->SetCurrentCombine
("");
2688 yyGetParser
->SetCurrentCombine
("");
2693 jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression
2698 yyGetParser
->SetCurrentCombine
("");
2702 jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus
2707 yyGetParser
->SetCurrentCombine
("");
2711 jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus
2717 MultiplicativeExpression:
2723 yyGetParser
->SetCurrentCombine
("");
2727 MultiplicativeExpression jp_TIMES UnaryExpression
2732 yyGetParser
->SetCurrentCombine
("");
2736 MultiplicativeExpression jp_DIVIDE UnaryExpression
2741 yyGetParser
->SetCurrentCombine
("");
2745 MultiplicativeExpression jp_PERCENT UnaryExpression
2750 yyGetParser
->SetCurrentCombine
("");
2755 MultiplicativeExpression
2760 yyGetParser
->SetCurrentCombine
("");
2764 AdditiveExpression jp_PLUS MultiplicativeExpression
2769 yyGetParser
->SetCurrentCombine
("");
2773 AdditiveExpression jp_MINUS MultiplicativeExpression
2778 yyGetParser
->SetCurrentCombine
("");
2788 yyGetParser
->SetCurrentCombine
("");
2792 ShiftExpression jp_LTLT AdditiveExpression
2797 yyGetParser
->SetCurrentCombine
("");
2801 ShiftExpression jp_GTGT AdditiveExpression
2806 yyGetParser
->SetCurrentCombine
("");
2810 ShiftExpression jp_GTGTGT AdditiveExpression
2815 yyGetParser
->SetCurrentCombine
("");
2819 RelationalExpression:
2825 yyGetParser
->SetCurrentCombine
("");
2829 RelationalExpression jp_LESSTHAN ShiftExpression
2834 yyGetParser
->SetCurrentCombine
("");
2838 RelationalExpression jp_GREATER ShiftExpression
2843 yyGetParser
->SetCurrentCombine
("");
2847 RelationalExpression jp_LTEQUALS ShiftExpression
2852 yyGetParser
->SetCurrentCombine
("");
2856 RelationalExpression jp_GTEQUALS ShiftExpression
2861 yyGetParser
->SetCurrentCombine
("");
2865 RelationalExpression jp_INSTANCEOF ReferenceType
2870 yyGetParser
->SetCurrentCombine
("");
2875 RelationalExpression
2880 yyGetParser
->SetCurrentCombine
("");
2884 EqualityExpression jp_EQUALSEQUALS RelationalExpression
2889 yyGetParser
->SetCurrentCombine
("");
2893 EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression
2898 yyGetParser
->SetCurrentCombine
("");
2908 yyGetParser
->SetCurrentCombine
("");
2912 AndExpression jp_AND EqualityExpression
2917 yyGetParser
->SetCurrentCombine
("");
2921 ExclusiveOrExpression:
2927 yyGetParser
->SetCurrentCombine
("");
2931 ExclusiveOrExpression jp_CARROT AndExpression
2936 yyGetParser
->SetCurrentCombine
("");
2940 InclusiveOrExpression:
2941 ExclusiveOrExpression
2946 yyGetParser
->SetCurrentCombine
("");
2950 InclusiveOrExpression jp_PIPE ExclusiveOrExpression
2955 yyGetParser
->SetCurrentCombine
("");
2959 ConditionalAndExpression:
2960 InclusiveOrExpression
2965 yyGetParser
->SetCurrentCombine
("");
2969 ConditionalAndExpression jp_ANDAND InclusiveOrExpression
2974 yyGetParser
->SetCurrentCombine
("");
2978 ConditionalOrExpression:
2979 ConditionalAndExpression
2984 yyGetParser
->SetCurrentCombine
("");
2988 ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression
2993 yyGetParser
->SetCurrentCombine
("");
2997 ConditionalExpression:
2998 ConditionalOrExpression
3003 yyGetParser
->SetCurrentCombine
("");
3007 ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression
3012 yyGetParser
->SetCurrentCombine
("");
3016 AssignmentExpression:
3017 ConditionalExpression
3022 yyGetParser
->SetCurrentCombine
("");
3031 yyGetParser
->SetCurrentCombine
("");
3036 LeftHandSide AssignmentOperator AssignmentExpression
3041 yyGetParser
->SetCurrentCombine
("");
3049 yyGetParser
->DeallocateParserType
(&($
<str
>1));
3052 yyGetParser
->SetCurrentCombine
("");
3061 yyGetParser
->SetCurrentCombine
("");
3070 yyGetParser
->SetCurrentCombine
("");
3080 yyGetParser
->SetCurrentCombine
("");
3089 yyGetParser
->SetCurrentCombine
("");
3098 yyGetParser
->SetCurrentCombine
("");
3107 yyGetParser
->SetCurrentCombine
("");
3116 yyGetParser
->SetCurrentCombine
("");
3125 yyGetParser
->SetCurrentCombine
("");
3134 yyGetParser
->SetCurrentCombine
("");
3143 yyGetParser
->SetCurrentCombine
("");
3152 yyGetParser
->SetCurrentCombine
("");
3161 yyGetParser
->SetCurrentCombine
("");
3170 yyGetParser
->SetCurrentCombine
("");
3179 yyGetParser
->SetCurrentCombine
("");
3184 AssignmentExpression
3189 yyGetParser
->SetCurrentCombine
("");
3199 yyGetParser
->SetCurrentCombine
("");
3209 yyGetParser
->SetCurrentCombine
("");
3216 jpStoreClass
($
<str
>1);
3219 yyGetParser
->SetCurrentCombine
("");
3224 /* End of grammar */
3226 /*--------------------------------------------------------------------------*/
3227 void cmDependsJavaError
(yyscan_t yyscanner
, const char* message
)
3229 yyGetParser
->Error
(message
);