2 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
3 file Copyright.txt or https://cmake.org/licensing for details. */
6 This file must be translated to C and modified to build everywhere.
10 bison --name-prefix=cmDependsJava_yy --defines=cmDependsJavaParserTokens.h -ocmDependsJavaParser.cxx cmDependsJavaParser.y
14 #include "cmConfigure.h" // IWYU pragma: keep
20 #define yyGetParser (cmDependsJava_yyget_extra(yyscanner))
22 /*-------------------------------------------------------------------------*/
23 #include "cmDependsJavaParserHelper.h" /* Interface to parser object. */
24 #include "cmDependsJavaLexer.h" /* Interface to lexer object. */
26 /* Forward declare the lexer entry point. */
29 /* Helper function to forward error callback from parser. */
30 static void cmDependsJava_yyerror
(yyscan_t yyscanner
, const char* message
);
32 #define YYMAXDEPTH 1000000
35 #define jpCheckEmpty(cnt) yyGetParser->CheckEmpty(__LINE__, cnt, yyvsp)
36 #define jpElementStart(cnt) yyGetParser->PrepareElement(&yyval)
37 #define jpStoreClass(str) yyGetParser->AddClassFound(str); yyGetParser->DeallocateParserType(&(str))
38 /* Disable some warnings in the generated code. */
40 # pragma warning (disable: 4102) /* Unused goto label. */
41 # pragma warning (disable: 4065) /* Switch statement contains default but no case. */
43 #if defined(__GNUC__) && __GNUC__ >= 8
44 # pragma GCC diagnostic ignored "-Wconversion"
45 # pragma GCC diagnostic ignored "-Wfree-nonheap-object"
47 #if defined(__clang__) && defined(__has_warning)
48 # if __has_warning("-Wunused-but-set-variable")
49 # pragma clang diagnostic ignored "-Wunused-but-set-variable"
54 /* Generate a reentrant parser object. */
57 /* Configure the parser to use a lexer object. */
58 %lex
-param
{yyscan_t yyscanner
}
59 %parse
-param
{yyscan_t yyscanner
}
61 %define parse.
error verbose
69 /*-------------------------------------------------------------------------*/
73 %token jp_BOOLEAN_TYPE
109 %token jp_SYNCHRONIZED
119 %token jp_BOOLEANLITERAL
120 %token jp_CHARACTERLITERAL
121 %token jp_DECIMALINTEGERLITERAL
122 %token jp_FLOATINGPOINTLITERAL
123 %token jp_HEXINTEGERLITERAL
124 %token jp_NULLLITERAL
125 %token jp_STRINGLITERAL
133 %token jp_BRACKETSTART
135 %token jp_CARROTEQUALS
141 %token jp_DIVIDEEQUALS
145 %token jp_EQUALSEQUALS
146 %token jp_EXCLAMATION
147 %token jp_EXCLAMATIONEQUALS
153 %token jp_GTGTGTEQUALS
154 %token jp_LESLESEQUALS
159 %token jp_MINUSEQUALS
164 %token jp_PERCENTEQUALS
175 %token jp_TIMESEQUALS
179 /*-------------------------------------------------------------------------*/
189 yyGetParser
->SetCurrentCombine
("");
198 yyGetParser
->SetCurrentCombine
("");
201 jp_FLOATINGPOINTLITERAL
206 yyGetParser
->SetCurrentCombine
("");
214 yyGetParser
->SetCurrentCombine
("");
222 yyGetParser
->SetCurrentCombine
("");
230 yyGetParser
->SetCurrentCombine
("");
238 yyGetParser
->SetCurrentCombine
("");
242 jp_DECIMALINTEGERLITERAL
247 yyGetParser
->SetCurrentCombine
("");
255 yyGetParser
->SetCurrentCombine
("");
264 yyGetParser
->SetCurrentCombine
("");
272 yyGetParser
->SetCurrentCombine
("");
322 yyGetParser
->SetCurrentCombine
("");
330 yyGetParser
->SetCurrentCombine
("");
333 ClassOrInterfaceType:
337 jpStoreClass
($
<str
>1);
340 yyGetParser
->SetCurrentCombine
("");
349 yyGetParser
->SetCurrentCombine
("");
358 yyGetParser
->SetCurrentCombine
("");
367 yyGetParser
->SetCurrentCombine
("");
373 jpStoreClass
($
<str
>1);
376 yyGetParser
->SetCurrentCombine
("");
413 Name jp_DOT Identifier
416 yyGetParser
->AddClassFound
($
<str
>1);
417 yyGetParser
->UpdateCombine
($
<str
>1, $
<str
>3);
418 yyGetParser
->DeallocateParserType
(&($
<str
>1));
419 $
<str
>$
= const_cast
<char*>(yyGetParser
->GetCurrentCombine
());
425 jpStoreClass
($
<str
>1);
427 yyGetParser
->SetCurrentCombine
("");
429 yyGetParser
->SetCurrentCombine
("");
435 jpStoreClass
($
<str
>1);
436 yyGetParser
->SetCurrentCombine
("");
439 yyGetParser
->SetCurrentCombine
("");
442 SimpleType jp_DOT jp_CLASS
447 yyGetParser
->SetCurrentCombine
("");
456 yyGetParser
->SetCurrentCombine
("");
464 yyGetParser
->SetCurrentCombine
("");
468 PackageDeclarationopt ImportDeclarations TypeDeclarations
473 yyGetParser
->SetCurrentCombine
("");
476 PackageDeclarationopt:
480 yyGetParser
->SetCurrentCombine
("");
488 yyGetParser
->SetCurrentCombine
("");
495 yyGetParser
->SetCurrentCombine
("");
498 ImportDeclarations ImportDeclaration
503 yyGetParser
->SetCurrentCombine
("");
510 yyGetParser
->SetCurrentCombine
("");
513 TypeDeclarations TypeDeclaration
518 yyGetParser
->SetCurrentCombine
("");
522 jp_PACKAGE Name jp_SEMICOL
525 yyGetParser
->SetCurrentPackage
($
<str
>2);
526 yyGetParser
->DeallocateParserType
(&($
<str
>2));
527 yyGetParser
->SetCurrentCombine
("");
530 yyGetParser
->SetCurrentCombine
("");
534 SingleTypeImportDeclaration
539 yyGetParser
->SetCurrentCombine
("");
542 TypeImportOnDemandDeclaration
547 yyGetParser
->SetCurrentCombine
("");
550 SingleTypeImportDeclaration:
551 jp_IMPORT Name jp_SEMICOL
554 yyGetParser
->AddPackagesImport
($
<str
>2);
555 yyGetParser
->DeallocateParserType
(&($
<str
>2));
556 yyGetParser
->SetCurrentCombine
("");
559 yyGetParser
->SetCurrentCombine
("");
562 TypeImportOnDemandDeclaration:
563 jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL
566 std
::string str
= $
<str
>2;
568 yyGetParser
->AddPackagesImport
(str.c_str
());
569 yyGetParser
->DeallocateParserType
(&($
<str
>2));
570 yyGetParser
->SetCurrentCombine
("");
572 yyGetParser
->SetCurrentCombine
("");
581 yyGetParser
->SetCurrentCombine
("");
589 yyGetParser
->SetCurrentCombine
("");
597 yyGetParser
->SetCurrentCombine
("");
606 yyGetParser
->SetCurrentCombine
("");
614 yyGetParser
->SetCurrentCombine
("");
618 jp_PUBLIC | jp_PROTECTED | jp_PRIVATE |
620 jp_ABSTRACT | jp_FINAL | jp_NATIVE | jp_SYNCHRONIZED | jp_TRANSIENT | jp_VOLATILE |
624 Modifiersopt jp_CLASS Identifier
626 yyGetParser
->StartClass
($
<str
>3);
628 yyGetParser
->DeallocateParserType
(&($
<str
>3));
634 ClassHeader ClassBody
639 yyGetParser
->SetCurrentCombine
("");
640 yyGetParser
->EndClass
();
643 ClassHeader Interfaces ClassBody
648 yyGetParser
->SetCurrentCombine
("");
649 yyGetParser
->EndClass
();
652 ClassHeader Super ClassBody
657 yyGetParser
->SetCurrentCombine
("");
658 yyGetParser
->EndClass
();
661 ClassHeader Super Interfaces ClassBody
666 yyGetParser
->SetCurrentCombine
("");
667 yyGetParser
->EndClass
();
674 yyGetParser
->SetCurrentCombine
("");
682 yyGetParser
->SetCurrentCombine
("");
691 yyGetParser
->SetCurrentCombine
("");
695 jp_IMPLEMENTS InterfaceTypeList
700 yyGetParser
->SetCurrentCombine
("");
709 yyGetParser
->SetCurrentCombine
("");
712 InterfaceTypeList jp_COMMA InterfaceType
717 yyGetParser
->SetCurrentCombine
("");
721 jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND
726 yyGetParser
->SetCurrentCombine
("");
729 ClassBodyDeclarations:
733 yyGetParser
->SetCurrentCombine
("");
736 ClassBodyDeclarations ClassBodyDeclaration
741 yyGetParser
->SetCurrentCombine
("");
744 ClassBodyDeclaration:
745 ClassMemberDeclaration
750 yyGetParser
->SetCurrentCombine
("");
758 yyGetParser
->SetCurrentCombine
("");
761 ConstructorDeclaration
766 yyGetParser
->SetCurrentCombine
("");
774 yyGetParser
->SetCurrentCombine
("");
777 ClassMemberDeclaration:
783 yyGetParser
->SetCurrentCombine
("");
791 yyGetParser
->SetCurrentCombine
("");
795 Modifiersopt Type VariableDeclarators jp_SEMICOL
806 yyGetParser
->SetCurrentCombine
("");
809 VariableDeclarators jp_COMMA VariableDeclarator
814 yyGetParser
->SetCurrentCombine
("");
823 yyGetParser
->SetCurrentCombine
("");
826 VariableDeclaratorId jp_EQUALS VariableInitializer
831 yyGetParser
->SetCurrentCombine
("");
834 VariableDeclaratorId:
838 yyGetParser
->DeallocateParserType
(&($
<str
>1));
841 yyGetParser
->SetCurrentCombine
("");
844 VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND
849 yyGetParser
->SetCurrentCombine
("");
858 yyGetParser
->SetCurrentCombine
("");
866 yyGetParser
->SetCurrentCombine
("");
870 MethodHeader jp_SEMICOL
875 yyGetParser
->SetCurrentCombine
("");
878 MethodHeader MethodBody
883 yyGetParser
->SetCurrentCombine
("");
886 MethodHeader MethodBody jp_SEMICOL
891 yyGetParser
->SetCurrentCombine
("");
895 Modifiersopt Type MethodDeclarator Throwsopt
900 yyGetParser
->SetCurrentCombine
("");
904 Modifiersopt jp_VOID MethodDeclarator Throwsopt
909 yyGetParser
->SetCurrentCombine
("");
917 yyGetParser
->SetCurrentCombine
("");
926 yyGetParser
->SetCurrentCombine
("");
931 Identifier jp_PARESTART FormalParameterListopt jp_PAREEND
934 yyGetParser
->DeallocateParserType
(&($
<str
>1));
937 yyGetParser
->SetCurrentCombine
("");
941 MethodDeclarator jp_BRACKETSTART jp_BRACKETEND
947 FormalParameterListopt:
951 yyGetParser
->SetCurrentCombine
("");
964 FormalParameterList jp_COMMA FormalParameter
969 yyGetParser
->SetCurrentCombine
("");
974 Modifiersopt Type VariableDeclaratorId
979 yyGetParser
->SetCurrentCombine
("");
984 jp_THROWS ClassTypeList
989 yyGetParser
->SetCurrentCombine
("");
1000 ClassTypeList jp_COMMA ClassType
1005 yyGetParser
->SetCurrentCombine
("");
1015 yyGetParser
->SetCurrentCombine
("");
1025 yyGetParser
->SetCurrentCombine
("");
1029 ConstructorDeclaration:
1030 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody
1035 yyGetParser
->SetCurrentCombine
("");
1039 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL
1044 yyGetParser
->SetCurrentCombine
("");
1048 ConstructorDeclarator:
1049 SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND
1052 yyGetParser
->DeallocateParserType
(&($
<str
>1));
1055 yyGetParser
->SetCurrentCombine
("");
1060 jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND
1065 yyGetParser
->SetCurrentCombine
("");
1069 ExplicitConstructorInvocationopt:
1073 yyGetParser
->SetCurrentCombine
("");
1077 ExplicitConstructorInvocationopt ExplicitConstructorInvocation
1082 yyGetParser
->SetCurrentCombine
("");
1086 ExplicitConstructorInvocation:
1087 jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1092 yyGetParser
->SetCurrentCombine
("");
1096 jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1101 yyGetParser
->SetCurrentCombine
("");
1106 Modifiersopt jp_INTERFACE Identifier
1108 yyGetParser
->StartClass
($
<str
>3);
1110 yyGetParser
->DeallocateParserType
(&($
<str
>3));
1114 InterfaceDeclaration:
1115 InterfaceHeader ExtendsInterfacesopt InterfaceBody
1120 yyGetParser
->SetCurrentCombine
("");
1121 yyGetParser
->EndClass
();
1124 ExtendsInterfacesopt:
1128 yyGetParser
->SetCurrentCombine
("");
1136 yyGetParser
->SetCurrentCombine
("");
1141 jp_EXTENDS InterfaceType
1146 yyGetParser
->SetCurrentCombine
("");
1150 ExtendsInterfaces jp_COMMA InterfaceType
1155 yyGetParser
->SetCurrentCombine
("");
1160 jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND
1165 yyGetParser
->SetCurrentCombine
("");
1169 InterfaceMemberDeclarations:
1173 yyGetParser
->SetCurrentCombine
("");
1177 InterfaceMemberDeclarations InterfaceMemberDeclaration
1181 yyGetParser
->SetCurrentCombine
("");
1185 InterfaceMemberDeclaration:
1191 yyGetParser
->SetCurrentCombine
("");
1195 AbstractMethodDeclaration
1200 yyGetParser
->SetCurrentCombine
("");
1209 yyGetParser
->SetCurrentCombine
("");
1213 ClassDeclaration jp_SEMICOL
1217 yyGetParser
->SetCurrentCombine
("");
1221 InterfaceDeclaration
1226 yyGetParser
->SetCurrentCombine
("");
1230 InterfaceDeclaration jp_SEMICOL
1234 yyGetParser
->SetCurrentCombine
("");
1238 ConstantDeclaration:
1244 yyGetParser
->SetCurrentCombine
("");
1248 AbstractMethodDeclaration:
1249 MethodHeader Semicols
1254 yyGetParser
->SetCurrentCombine
("");
1264 yyGetParser
->SetCurrentCombine
("");
1273 yyGetParser
->SetCurrentCombine
("");
1278 jp_CURLYSTART VariableInitializersOptional jp_CURLYEND
1283 yyGetParser
->SetCurrentCombine
("");
1287 VariableInitializersOptional:
1291 yyGetParser
->SetCurrentCombine
("");
1295 VariableInitializers
1300 yyGetParser
->SetCurrentCombine
("");
1304 VariableInitializers jp_COMMA
1309 yyGetParser
->SetCurrentCombine
("");
1313 VariableInitializers:
1319 yyGetParser
->SetCurrentCombine
("");
1323 VariableInitializers jp_COMMA VariableInitializer
1328 yyGetParser
->SetCurrentCombine
("");
1333 jp_CURLYSTART BlockStatementsopt jp_CURLYEND
1337 yyGetParser
->SetCurrentCombine
("");
1345 yyGetParser
->SetCurrentCombine
("");
1354 yyGetParser
->SetCurrentCombine
("");
1364 yyGetParser
->SetCurrentCombine
("");
1368 BlockStatements BlockStatement
1373 yyGetParser
->SetCurrentCombine
("");
1378 LocalVariableDeclarationStatement
1383 yyGetParser
->SetCurrentCombine
("");
1392 yyGetParser
->SetCurrentCombine
("");
1401 yyGetParser
->SetCurrentCombine
("");
1405 LocalVariableDeclarationStatement:
1406 LocalVariableDeclaration jp_SEMICOL
1411 yyGetParser
->SetCurrentCombine
("");
1415 LocalVariableDeclaration:
1416 Modifiers Type VariableDeclarators
1421 yyGetParser
->SetCurrentCombine
("");
1425 Type VariableDeclarators
1430 yyGetParser
->SetCurrentCombine
("");
1435 StatementWithoutTrailingSubstatement
1440 yyGetParser
->SetCurrentCombine
("");
1449 yyGetParser
->SetCurrentCombine
("");
1458 yyGetParser
->SetCurrentCombine
("");
1467 yyGetParser
->SetCurrentCombine
("");
1476 yyGetParser
->SetCurrentCombine
("");
1485 yyGetParser
->SetCurrentCombine
("");
1490 StatementWithoutTrailingSubstatement
1495 yyGetParser
->SetCurrentCombine
("");
1499 LabeledStatementNoShortIf
1504 yyGetParser
->SetCurrentCombine
("");
1508 IfThenElseStatementNoShortIf
1513 yyGetParser
->SetCurrentCombine
("");
1517 WhileStatementNoShortIf
1522 yyGetParser
->SetCurrentCombine
("");
1526 ForStatementNoShortIf
1531 yyGetParser
->SetCurrentCombine
("");
1535 StatementWithoutTrailingSubstatement:
1541 yyGetParser
->SetCurrentCombine
("");
1550 yyGetParser
->SetCurrentCombine
("");
1559 yyGetParser
->SetCurrentCombine
("");
1568 yyGetParser
->SetCurrentCombine
("");
1577 yyGetParser
->SetCurrentCombine
("");
1586 yyGetParser
->SetCurrentCombine
("");
1595 yyGetParser
->SetCurrentCombine
("");
1604 yyGetParser
->SetCurrentCombine
("");
1608 SynchronizedStatement
1613 yyGetParser
->SetCurrentCombine
("");
1622 yyGetParser
->SetCurrentCombine
("");
1631 yyGetParser
->SetCurrentCombine
("");
1640 yyGetParser
->SetCurrentCombine
("");
1650 yyGetParser
->SetCurrentCombine
("");
1655 Identifier jp_COLON Statement
1658 yyGetParser
->DeallocateParserType
(&($
<str
>1));
1661 yyGetParser
->SetCurrentCombine
("");
1665 LabeledStatementNoShortIf:
1666 Identifier jp_COLON StatementNoShortIf
1671 yyGetParser
->SetCurrentCombine
("");
1675 ExpressionStatement:
1676 StatementExpression jp_SEMICOL
1681 yyGetParser
->SetCurrentCombine
("");
1685 StatementExpression:
1691 yyGetParser
->SetCurrentCombine
("");
1695 PreIncrementExpression
1700 yyGetParser
->SetCurrentCombine
("");
1704 PreDecrementExpression
1709 yyGetParser
->SetCurrentCombine
("");
1713 PostIncrementExpression
1718 yyGetParser
->SetCurrentCombine
("");
1722 PostDecrementExpression
1727 yyGetParser
->SetCurrentCombine
("");
1736 yyGetParser
->SetCurrentCombine
("");
1740 ClassInstanceCreationExpression
1745 yyGetParser
->SetCurrentCombine
("");
1750 jp_IF jp_PARESTART Expression jp_PAREEND Statement
1755 yyGetParser
->SetCurrentCombine
("");
1759 IfThenElseStatement:
1760 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement
1765 yyGetParser
->SetCurrentCombine
("");
1769 IfThenElseStatementNoShortIf:
1770 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf
1775 yyGetParser
->SetCurrentCombine
("");
1780 jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock
1787 jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND
1797 yyGetParser
->SetCurrentCombine
("");
1806 yyGetParser
->SetCurrentCombine
("");
1810 SwitchBlockStatementGroups:
1814 yyGetParser
->SetCurrentCombine
("");
1818 SwitchBlockStatementGroups SwitchBlockStatementGroup
1823 yyGetParser
->SetCurrentCombine
("");
1827 SwitchBlockStatementGroup:
1828 SwitchLabels BlockStatements
1833 yyGetParser
->SetCurrentCombine
("");
1843 yyGetParser
->SetCurrentCombine
("");
1847 SwitchLabels SwitchLabel
1852 yyGetParser
->SetCurrentCombine
("");
1857 jp_CASE ConstantExpression jp_COLON
1862 yyGetParser
->SetCurrentCombine
("");
1871 yyGetParser
->SetCurrentCombine
("");
1876 jp_WHILE jp_PARESTART Expression jp_PAREEND Statement
1882 WhileStatementNoShortIf:
1883 jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf
1890 jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL
1897 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1908 yyGetParser
->SetCurrentCombine
("");
1917 yyGetParser
->SetCurrentCombine
("");
1925 yyGetParser
->SetCurrentCombine
("");
1934 yyGetParser
->SetCurrentCombine
("");
1938 ForStatementNoShortIf:
1939 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1944 yyGetParser
->SetCurrentCombine
("");
1952 yyGetParser
->SetCurrentCombine
("");
1961 yyGetParser
->SetCurrentCombine
("");
1966 StatementExpressionList
1971 yyGetParser
->SetCurrentCombine
("");
1975 LocalVariableDeclaration
1980 yyGetParser
->SetCurrentCombine
("");
1985 StatementExpressionList
1990 yyGetParser
->SetCurrentCombine
("");
1994 StatementExpressionList:
2000 yyGetParser
->SetCurrentCombine
("");
2004 StatementExpressionList jp_COMMA StatementExpression
2009 yyGetParser
->SetCurrentCombine
("");
2014 jp_ASSERT Expression jp_SEMICOL
2019 yyGetParser
->SetCurrentCombine
("");
2023 jp_ASSERT Expression jp_COLON Expression jp_SEMICOL
2028 yyGetParser
->SetCurrentCombine
("");
2033 jp_BREAK Identifieropt jp_SEMICOL
2036 yyGetParser
->DeallocateParserType
(&($
<str
>2));
2039 yyGetParser
->SetCurrentCombine
("");
2047 yyGetParser
->SetCurrentCombine
("");
2058 jp_CONTINUE Identifieropt jp_SEMICOL
2061 yyGetParser
->DeallocateParserType
(&($
<str
>2));
2064 yyGetParser
->SetCurrentCombine
("");
2069 jp_RETURN Expressionopt jp_SEMICOL
2074 yyGetParser
->SetCurrentCombine
("");
2079 jp_THROW Expression jp_SEMICOL
2084 yyGetParser
->SetCurrentCombine
("");
2088 SynchronizedStatement:
2089 jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block
2094 yyGetParser
->SetCurrentCombine
("");
2099 jp_TRY Block Catches
2104 yyGetParser
->SetCurrentCombine
("");
2108 jp_TRY Block Catchesopt Finally
2113 yyGetParser
->SetCurrentCombine
("");
2121 yyGetParser
->SetCurrentCombine
("");
2130 yyGetParser
->SetCurrentCombine
("");
2140 yyGetParser
->SetCurrentCombine
("");
2149 yyGetParser
->SetCurrentCombine
("");
2154 jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block
2166 yyGetParser
->SetCurrentCombine
("");
2176 yyGetParser
->SetCurrentCombine
("");
2180 ArrayCreationExpression
2185 yyGetParser
->SetCurrentCombine
("");
2195 yyGetParser
->SetCurrentCombine
("");
2205 jp_PARESTART Expression jp_PAREEND
2210 yyGetParser
->SetCurrentCombine
("");
2214 ClassInstanceCreationExpression
2219 yyGetParser
->SetCurrentCombine
("");
2228 yyGetParser
->SetCurrentCombine
("");
2237 yyGetParser
->SetCurrentCombine
("");
2246 yyGetParser
->SetCurrentCombine
("");
2250 ClassInstanceCreationExpression:
2251 New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt
2256 yyGetParser
->SetCurrentCombine
("");
2264 yyGetParser
->SetCurrentCombine
("");
2273 yyGetParser
->SetCurrentCombine
("");
2281 yyGetParser
->SetCurrentCombine
("");
2290 yyGetParser
->SetCurrentCombine
("");
2300 yyGetParser
->SetCurrentCombine
("");
2304 ArgumentList jp_COMMA Expression
2309 yyGetParser
->SetCurrentCombine
("");
2313 ArrayCreationExpression:
2314 New PrimitiveType DimExprs Dimsopt
2319 yyGetParser
->SetCurrentCombine
("");
2323 New ClassOrInterfaceType DimExprs Dimsopt
2328 yyGetParser
->SetCurrentCombine
("");
2332 New PrimitiveType Dims ArrayInitializer
2337 yyGetParser
->SetCurrentCombine
("");
2341 New ClassOrInterfaceType Dims ArrayInitializer
2346 yyGetParser
->SetCurrentCombine
("");
2354 yyGetParser
->SetCurrentCombine
("");
2363 yyGetParser
->SetCurrentCombine
("");
2373 yyGetParser
->SetCurrentCombine
("");
2382 yyGetParser
->SetCurrentCombine
("");
2387 jp_BRACKETSTART Expression jp_BRACKETEND
2392 yyGetParser
->SetCurrentCombine
("");
2397 jp_BRACKETSTART jp_BRACKETEND
2403 Dims jp_BRACKETSTART jp_BRACKETEND
2410 Primary jp_DOT Identifier
2413 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2416 yyGetParser
->SetCurrentCombine
("");
2420 jp_SUPER jp_DOT Identifier
2423 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2426 yyGetParser
->SetCurrentCombine
("");
2430 jp_THIS jp_DOT Identifier
2433 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2436 yyGetParser
->SetCurrentCombine
("");
2440 Primary jp_DOT jp_THIS
2443 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2446 yyGetParser
->SetCurrentCombine
("");
2451 Name jp_PARESTART ArgumentListopt jp_PAREEND
2454 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2457 yyGetParser
->SetCurrentCombine
("");
2461 Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2464 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2465 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2468 yyGetParser
->SetCurrentCombine
("");
2472 jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2475 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2478 yyGetParser
->SetCurrentCombine
("");
2482 jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2485 yyGetParser
->DeallocateParserType
(&($
<str
>3));
2488 yyGetParser
->SetCurrentCombine
("");
2493 Name jp_BRACKETSTART Expression jp_BRACKETEND
2496 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2499 yyGetParser
->SetCurrentCombine
("");
2503 PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND
2508 yyGetParser
->SetCurrentCombine
("");
2518 yyGetParser
->SetCurrentCombine
("");
2525 yyGetParser
->DeallocateParserType
(&($
<str
>1));
2527 yyGetParser
->SetCurrentCombine
("");
2531 ArrayType jp_DOT jp_CLASS
2536 yyGetParser
->SetCurrentCombine
("");
2540 PostIncrementExpression
2545 yyGetParser
->SetCurrentCombine
("");
2549 PostDecrementExpression
2554 yyGetParser
->SetCurrentCombine
("");
2558 PostIncrementExpression:
2559 PostfixExpression jp_PLUSPLUS
2564 yyGetParser
->SetCurrentCombine
("");
2568 PostDecrementExpression:
2569 PostfixExpression jp_MINUSMINUS
2574 yyGetParser
->SetCurrentCombine
("");
2579 PreIncrementExpression
2584 yyGetParser
->SetCurrentCombine
("");
2588 PreDecrementExpression
2593 yyGetParser
->SetCurrentCombine
("");
2597 jp_PLUS UnaryExpression
2602 yyGetParser
->SetCurrentCombine
("");
2606 jp_MINUS UnaryExpression
2611 yyGetParser
->SetCurrentCombine
("");
2615 UnaryExpressionNotPlusMinus
2620 yyGetParser
->SetCurrentCombine
("");
2624 PreIncrementExpression:
2625 jp_PLUSPLUS UnaryExpression
2630 yyGetParser
->SetCurrentCombine
("");
2634 PreDecrementExpression:
2635 jp_MINUSMINUS UnaryExpression
2640 yyGetParser
->SetCurrentCombine
("");
2644 UnaryExpressionNotPlusMinus:
2650 yyGetParser
->SetCurrentCombine
("");
2654 jp_TILDE UnaryExpression
2659 yyGetParser
->SetCurrentCombine
("");
2663 jp_EXCLAMATION UnaryExpression
2668 yyGetParser
->SetCurrentCombine
("");
2677 yyGetParser
->SetCurrentCombine
("");
2682 jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression
2687 yyGetParser
->SetCurrentCombine
("");
2691 jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus
2696 yyGetParser
->SetCurrentCombine
("");
2700 jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus
2706 MultiplicativeExpression:
2712 yyGetParser
->SetCurrentCombine
("");
2716 MultiplicativeExpression jp_TIMES UnaryExpression
2721 yyGetParser
->SetCurrentCombine
("");
2725 MultiplicativeExpression jp_DIVIDE UnaryExpression
2730 yyGetParser
->SetCurrentCombine
("");
2734 MultiplicativeExpression jp_PERCENT UnaryExpression
2739 yyGetParser
->SetCurrentCombine
("");
2744 MultiplicativeExpression
2749 yyGetParser
->SetCurrentCombine
("");
2753 AdditiveExpression jp_PLUS MultiplicativeExpression
2758 yyGetParser
->SetCurrentCombine
("");
2762 AdditiveExpression jp_MINUS MultiplicativeExpression
2767 yyGetParser
->SetCurrentCombine
("");
2777 yyGetParser
->SetCurrentCombine
("");
2781 ShiftExpression jp_LTLT AdditiveExpression
2786 yyGetParser
->SetCurrentCombine
("");
2790 ShiftExpression jp_GTGT AdditiveExpression
2795 yyGetParser
->SetCurrentCombine
("");
2799 ShiftExpression jp_GTGTGT AdditiveExpression
2804 yyGetParser
->SetCurrentCombine
("");
2808 RelationalExpression:
2814 yyGetParser
->SetCurrentCombine
("");
2818 RelationalExpression jp_LESSTHAN ShiftExpression
2823 yyGetParser
->SetCurrentCombine
("");
2827 RelationalExpression jp_GREATER ShiftExpression
2832 yyGetParser
->SetCurrentCombine
("");
2836 RelationalExpression jp_LTEQUALS ShiftExpression
2841 yyGetParser
->SetCurrentCombine
("");
2845 RelationalExpression jp_GTEQUALS ShiftExpression
2850 yyGetParser
->SetCurrentCombine
("");
2854 RelationalExpression jp_INSTANCEOF ReferenceType
2859 yyGetParser
->SetCurrentCombine
("");
2864 RelationalExpression
2869 yyGetParser
->SetCurrentCombine
("");
2873 EqualityExpression jp_EQUALSEQUALS RelationalExpression
2878 yyGetParser
->SetCurrentCombine
("");
2882 EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression
2887 yyGetParser
->SetCurrentCombine
("");
2897 yyGetParser
->SetCurrentCombine
("");
2901 AndExpression jp_AND EqualityExpression
2906 yyGetParser
->SetCurrentCombine
("");
2910 ExclusiveOrExpression:
2916 yyGetParser
->SetCurrentCombine
("");
2920 ExclusiveOrExpression jp_CARROT AndExpression
2925 yyGetParser
->SetCurrentCombine
("");
2929 InclusiveOrExpression:
2930 ExclusiveOrExpression
2935 yyGetParser
->SetCurrentCombine
("");
2939 InclusiveOrExpression jp_PIPE ExclusiveOrExpression
2944 yyGetParser
->SetCurrentCombine
("");
2948 ConditionalAndExpression:
2949 InclusiveOrExpression
2954 yyGetParser
->SetCurrentCombine
("");
2958 ConditionalAndExpression jp_ANDAND InclusiveOrExpression
2963 yyGetParser
->SetCurrentCombine
("");
2967 ConditionalOrExpression:
2968 ConditionalAndExpression
2973 yyGetParser
->SetCurrentCombine
("");
2977 ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression
2982 yyGetParser
->SetCurrentCombine
("");
2986 ConditionalExpression:
2987 ConditionalOrExpression
2992 yyGetParser
->SetCurrentCombine
("");
2996 ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression
3001 yyGetParser
->SetCurrentCombine
("");
3005 AssignmentExpression:
3006 ConditionalExpression
3011 yyGetParser
->SetCurrentCombine
("");
3020 yyGetParser
->SetCurrentCombine
("");
3025 LeftHandSide AssignmentOperator AssignmentExpression
3030 yyGetParser
->SetCurrentCombine
("");
3038 yyGetParser
->DeallocateParserType
(&($
<str
>1));
3041 yyGetParser
->SetCurrentCombine
("");
3050 yyGetParser
->SetCurrentCombine
("");
3059 yyGetParser
->SetCurrentCombine
("");
3069 yyGetParser
->SetCurrentCombine
("");
3078 yyGetParser
->SetCurrentCombine
("");
3087 yyGetParser
->SetCurrentCombine
("");
3096 yyGetParser
->SetCurrentCombine
("");
3105 yyGetParser
->SetCurrentCombine
("");
3114 yyGetParser
->SetCurrentCombine
("");
3123 yyGetParser
->SetCurrentCombine
("");
3132 yyGetParser
->SetCurrentCombine
("");
3141 yyGetParser
->SetCurrentCombine
("");
3150 yyGetParser
->SetCurrentCombine
("");
3159 yyGetParser
->SetCurrentCombine
("");
3168 yyGetParser
->SetCurrentCombine
("");
3173 AssignmentExpression
3178 yyGetParser
->SetCurrentCombine
("");
3188 yyGetParser
->SetCurrentCombine
("");
3198 yyGetParser
->SetCurrentCombine
("");
3205 jpStoreClass
($
<str
>1);
3208 yyGetParser
->SetCurrentCombine
("");
3213 /* End of grammar */
3215 /*--------------------------------------------------------------------------*/
3216 void cmDependsJava_yyerror
(yyscan_t yyscanner
, const char* message
)
3218 yyGetParser
->Error
(message
);