2 /*============================================================================
3 CMake - Cross Platform Makefile Generator
4 Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
6 Distributed under the OSI-approved BSD License (the "License");
7 see accompanying file Copyright.txt for details.
9 This software is distributed WITHOUT ANY WARRANTY; without even the
10 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 See the License for more information.
12 ============================================================================*/
15 This file must be translated to C and modified to build everywhere.
19 bison --yacc --name-prefix=cmDependsJava_yy --defines=cmDependsJavaParserTokens.h -ocmDependsJavaParser.cxx cmDependsJavaParser.y
21 Modify cmDependsJavaParser.cxx:
23 - add __HP_aCC to the #if test for yyerrorlab warning suppression
27 /* Configure the parser to use a lexer object. */
28 #define YYPARSE_PARAM yyscanner
29 #define YYLEX_PARAM yyscanner
30 #define YYERROR_VERBOSE 1
31 #define cmDependsJava_yyerror(x) \
32 cmDependsJavaError(yyscanner, x)
33 #define yyGetParser (cmDependsJava_yyget_extra(yyscanner))
35 /*-------------------------------------------------------------------------*/
36 #include "cmDependsJavaParserHelper.h" /* Interface to parser object. */
37 #include "cmDependsJavaLexer.h" /* Interface to lexer object. */
38 #include "cmDependsJavaParserTokens.h" /* Need YYSTYPE for YY_DECL. */
40 /* Forward declare the lexer entry point. */
43 /* Internal utility functions. */
44 static void cmDependsJavaError(yyscan_t yyscanner, const char* message);
47 #define YYMAXDEPTH 1000000
50 #define jpCheckEmpty(cnt) yyGetParser->CheckEmpty(__LINE__, cnt, yyvsp);
51 #define jpElementStart(cnt) yyGetParser->PrepareElement(&yyval)
52 #define jpStoreClass(str) yyGetParser->AddClassFound(str); yyGetParser->DeallocateParserType(&(str))
53 /* Disable some warnings in the generated code. */
55 # pragma warn -8004 /* Variable assigned a value that is not used. */
56 # pragma warn -8008 /* condition always returns true */
57 # pragma warn -8060 /* possibly incorrect assignment */
58 # pragma warn -8066 /* unreachable code */
61 # pragma warning (disable: 4102) /* Unused goto label. */
62 # pragma warning (disable: 4065) /* Switch statement contains default but no case. */
66 /* Generate a reentrant parser object. */
75 /*-------------------------------------------------------------------------*/
79 %token jp_BOOLEAN_TYPE
115 %token jp_SYNCHRONIZED
125 %token jp_BOOLEANLITERAL
126 %token jp_CHARACTERLITERAL
127 %token jp_DECIMALINTEGERLITERAL
128 %token jp_FLOATINGPOINTLITERAL
129 %token jp_HEXINTEGERLITERAL
130 %token jp_NULLLITERAL
131 %token jp_STRINGLITERAL
139 %token jp_BRACKETSTART
141 %token jp_CARROTEQUALS
147 %token jp_DIVIDEEQUALS
151 %token jp_EQUALSEQUALS
152 %token jp_EXCLAMATION
153 %token jp_EXCLAMATIONEQUALS
159 %token jp_GTGTGTEQUALS
160 %token jp_LESLESEQUALS
165 %token jp_MINUSEQUALS
170 %token jp_PERCENTEQUALS
181 %token jp_TIMESEQUALS
185 /*-------------------------------------------------------------------------*/
195 yyGetParser->SetCurrentCombine("");
204 yyGetParser->SetCurrentCombine("");
207 jp_FLOATINGPOINTLITERAL
212 yyGetParser->SetCurrentCombine("");
220 yyGetParser->SetCurrentCombine("");
228 yyGetParser->SetCurrentCombine("");
236 yyGetParser->SetCurrentCombine("");
244 yyGetParser->SetCurrentCombine("");
248 jp_DECIMALINTEGERLITERAL
253 yyGetParser->SetCurrentCombine("");
261 yyGetParser->SetCurrentCombine("");
270 yyGetParser->SetCurrentCombine("");
278 yyGetParser->SetCurrentCombine("");
328 yyGetParser->SetCurrentCombine("");
336 yyGetParser->SetCurrentCombine("");
339 ClassOrInterfaceType:
343 jpStoreClass($<str>1);
346 yyGetParser->SetCurrentCombine("");
355 yyGetParser->SetCurrentCombine("");
364 yyGetParser->SetCurrentCombine("");
373 yyGetParser->SetCurrentCombine("");
379 jpStoreClass($<str>1);
382 yyGetParser->SetCurrentCombine("");
419 Name jp_DOT Identifier
422 yyGetParser->AddClassFound($<str>1);
423 yyGetParser->UpdateCombine($<str>1, $<str>3);
424 yyGetParser->DeallocateParserType(&($<str>1));
425 $<str>$ = const_cast<char*>(yyGetParser->GetCurrentCombine());
431 jpStoreClass($<str>1);
433 yyGetParser->SetCurrentCombine("");
435 yyGetParser->SetCurrentCombine("");
441 jpStoreClass($<str>1);
442 yyGetParser->SetCurrentCombine("");
445 yyGetParser->SetCurrentCombine("");
448 SimpleType jp_DOT jp_CLASS
453 yyGetParser->SetCurrentCombine("");
462 yyGetParser->SetCurrentCombine("");
470 yyGetParser->SetCurrentCombine("");
474 PackageDeclarationopt ImportDeclarations TypeDeclarations
479 yyGetParser->SetCurrentCombine("");
482 PackageDeclarationopt:
486 yyGetParser->SetCurrentCombine("");
494 yyGetParser->SetCurrentCombine("");
501 yyGetParser->SetCurrentCombine("");
504 ImportDeclarations ImportDeclaration
509 yyGetParser->SetCurrentCombine("");
516 yyGetParser->SetCurrentCombine("");
519 TypeDeclarations TypeDeclaration
524 yyGetParser->SetCurrentCombine("");
528 jp_PACKAGE Name jp_SEMICOL
531 yyGetParser->SetCurrentPackage($<str>2);
532 yyGetParser->DeallocateParserType(&($<str>2));
533 yyGetParser->SetCurrentCombine("");
536 yyGetParser->SetCurrentCombine("");
540 SingleTypeImportDeclaration
545 yyGetParser->SetCurrentCombine("");
548 TypeImportOnDemandDeclaration
553 yyGetParser->SetCurrentCombine("");
556 SingleTypeImportDeclaration:
557 jp_IMPORT Name jp_SEMICOL
560 yyGetParser->AddPackagesImport($<str>2);
561 yyGetParser->DeallocateParserType(&($<str>2));
562 yyGetParser->SetCurrentCombine("");
565 yyGetParser->SetCurrentCombine("");
568 TypeImportOnDemandDeclaration:
569 jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL
572 std::string str = $<str>2;
574 yyGetParser->AddPackagesImport(str.c_str());
575 yyGetParser->DeallocateParserType(&($<str>2));
576 yyGetParser->SetCurrentCombine("");
578 yyGetParser->SetCurrentCombine("");
587 yyGetParser->SetCurrentCombine("");
595 yyGetParser->SetCurrentCombine("");
603 yyGetParser->SetCurrentCombine("");
612 yyGetParser->SetCurrentCombine("");
620 yyGetParser->SetCurrentCombine("");
624 jp_PUBLIC | jp_PROTECTED | jp_PRIVATE |
626 jp_ABSTRACT | jp_FINAL | jp_NATIVE | jp_SYNCHRONIZED | jp_TRANSIENT | jp_VOLATILE |
630 Modifiersopt jp_CLASS Identifier
632 yyGetParser->StartClass($<str>3);
634 yyGetParser->DeallocateParserType(&($<str>3));
640 ClassHeader ClassBody
645 yyGetParser->SetCurrentCombine("");
646 yyGetParser->EndClass();
649 ClassHeader Interfaces ClassBody
654 yyGetParser->SetCurrentCombine("");
655 yyGetParser->EndClass();
658 ClassHeader Super ClassBody
663 yyGetParser->SetCurrentCombine("");
664 yyGetParser->EndClass();
667 ClassHeader Super Interfaces ClassBody
672 yyGetParser->SetCurrentCombine("");
673 yyGetParser->EndClass();
680 yyGetParser->SetCurrentCombine("");
688 yyGetParser->SetCurrentCombine("");
697 yyGetParser->SetCurrentCombine("");
701 jp_IMPLEMENTS InterfaceTypeList
706 yyGetParser->SetCurrentCombine("");
715 yyGetParser->SetCurrentCombine("");
718 InterfaceTypeList jp_COMMA InterfaceType
723 yyGetParser->SetCurrentCombine("");
727 jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND
732 yyGetParser->SetCurrentCombine("");
735 ClassBodyDeclarations:
739 yyGetParser->SetCurrentCombine("");
742 ClassBodyDeclarations ClassBodyDeclaration
747 yyGetParser->SetCurrentCombine("");
750 ClassBodyDeclaration:
751 ClassMemberDeclaration
756 yyGetParser->SetCurrentCombine("");
764 yyGetParser->SetCurrentCombine("");
767 ConstructorDeclaration
772 yyGetParser->SetCurrentCombine("");
780 yyGetParser->SetCurrentCombine("");
783 ClassMemberDeclaration:
789 yyGetParser->SetCurrentCombine("");
797 yyGetParser->SetCurrentCombine("");
801 Modifiersopt Type VariableDeclarators jp_SEMICOL
812 yyGetParser->SetCurrentCombine("");
815 VariableDeclarators jp_COMMA VariableDeclarator
820 yyGetParser->SetCurrentCombine("");
829 yyGetParser->SetCurrentCombine("");
832 VariableDeclaratorId jp_EQUALS VariableInitializer
837 yyGetParser->SetCurrentCombine("");
840 VariableDeclaratorId:
844 yyGetParser->DeallocateParserType(&($<str>1));
847 yyGetParser->SetCurrentCombine("");
850 VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND
855 yyGetParser->SetCurrentCombine("");
864 yyGetParser->SetCurrentCombine("");
872 yyGetParser->SetCurrentCombine("");
876 MethodHeader jp_SEMICOL
881 yyGetParser->SetCurrentCombine("");
884 MethodHeader MethodBody
889 yyGetParser->SetCurrentCombine("");
892 MethodHeader MethodBody jp_SEMICOL
897 yyGetParser->SetCurrentCombine("");
901 Modifiersopt Type MethodDeclarator Throwsopt
906 yyGetParser->SetCurrentCombine("");
910 Modifiersopt jp_VOID MethodDeclarator Throwsopt
915 yyGetParser->SetCurrentCombine("");
923 yyGetParser->SetCurrentCombine("");
932 yyGetParser->SetCurrentCombine("");
937 Identifier jp_PARESTART FormalParameterListopt jp_PAREEND
940 yyGetParser->DeallocateParserType(&($<str>1));
943 yyGetParser->SetCurrentCombine("");
947 MethodDeclarator jp_BRACKETSTART jp_BRACKETEND
953 FormalParameterListopt:
957 yyGetParser->SetCurrentCombine("");
970 FormalParameterList jp_COMMA FormalParameter
975 yyGetParser->SetCurrentCombine("");
980 Modifiersopt Type VariableDeclaratorId
985 yyGetParser->SetCurrentCombine("");
990 jp_THROWS ClassTypeList
995 yyGetParser->SetCurrentCombine("");
1006 ClassTypeList jp_COMMA ClassType
1011 yyGetParser->SetCurrentCombine("");
1021 yyGetParser->SetCurrentCombine("");
1031 yyGetParser->SetCurrentCombine("");
1035 ConstructorDeclaration:
1036 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody
1041 yyGetParser->SetCurrentCombine("");
1045 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL
1050 yyGetParser->SetCurrentCombine("");
1054 ConstructorDeclarator:
1055 SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND
1058 yyGetParser->DeallocateParserType(&($<str>1));
1061 yyGetParser->SetCurrentCombine("");
1066 jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND
1071 yyGetParser->SetCurrentCombine("");
1075 ExplicitConstructorInvocationopt:
1079 yyGetParser->SetCurrentCombine("");
1083 ExplicitConstructorInvocationopt ExplicitConstructorInvocation
1088 yyGetParser->SetCurrentCombine("");
1092 ExplicitConstructorInvocation:
1093 jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1098 yyGetParser->SetCurrentCombine("");
1102 jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1107 yyGetParser->SetCurrentCombine("");
1112 Modifiersopt jp_INTERFACE Identifier
1114 yyGetParser->StartClass($<str>3);
1116 yyGetParser->DeallocateParserType(&($<str>3));
1120 InterfaceDeclaration:
1121 InterfaceHeader ExtendsInterfacesopt InterfaceBody
1126 yyGetParser->SetCurrentCombine("");
1127 yyGetParser->EndClass();
1130 ExtendsInterfacesopt:
1134 yyGetParser->SetCurrentCombine("");
1142 yyGetParser->SetCurrentCombine("");
1147 jp_EXTENDS InterfaceType
1152 yyGetParser->SetCurrentCombine("");
1156 ExtendsInterfaces jp_COMMA InterfaceType
1161 yyGetParser->SetCurrentCombine("");
1166 jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND
1171 yyGetParser->SetCurrentCombine("");
1175 InterfaceMemberDeclarations:
1179 yyGetParser->SetCurrentCombine("");
1183 InterfaceMemberDeclarations InterfaceMemberDeclaration
1187 yyGetParser->SetCurrentCombine("");
1191 InterfaceMemberDeclaration:
1197 yyGetParser->SetCurrentCombine("");
1201 AbstractMethodDeclaration
1206 yyGetParser->SetCurrentCombine("");
1215 yyGetParser->SetCurrentCombine("");
1219 ClassDeclaration jp_SEMICOL
1223 yyGetParser->SetCurrentCombine("");
1227 InterfaceDeclaration
1232 yyGetParser->SetCurrentCombine("");
1236 InterfaceDeclaration jp_SEMICOL
1240 yyGetParser->SetCurrentCombine("");
1244 ConstantDeclaration:
1250 yyGetParser->SetCurrentCombine("");
1254 AbstractMethodDeclaration:
1255 MethodHeader Semicols
1260 yyGetParser->SetCurrentCombine("");
1270 yyGetParser->SetCurrentCombine("");
1279 yyGetParser->SetCurrentCombine("");
1284 jp_CURLYSTART VariableInitializersOptional jp_CURLYEND
1289 yyGetParser->SetCurrentCombine("");
1293 VariableInitializersOptional:
1297 yyGetParser->SetCurrentCombine("");
1301 VariableInitializers
1306 yyGetParser->SetCurrentCombine("");
1310 VariableInitializers jp_COMMA
1315 yyGetParser->SetCurrentCombine("");
1319 VariableInitializers:
1325 yyGetParser->SetCurrentCombine("");
1329 VariableInitializers jp_COMMA VariableInitializer
1334 yyGetParser->SetCurrentCombine("");
1339 jp_CURLYSTART BlockStatementsopt jp_CURLYEND
1343 yyGetParser->SetCurrentCombine("");
1351 yyGetParser->SetCurrentCombine("");
1360 yyGetParser->SetCurrentCombine("");
1370 yyGetParser->SetCurrentCombine("");
1374 BlockStatements BlockStatement
1379 yyGetParser->SetCurrentCombine("");
1384 LocalVariableDeclarationStatement
1389 yyGetParser->SetCurrentCombine("");
1398 yyGetParser->SetCurrentCombine("");
1407 yyGetParser->SetCurrentCombine("");
1411 LocalVariableDeclarationStatement:
1412 LocalVariableDeclaration jp_SEMICOL
1417 yyGetParser->SetCurrentCombine("");
1421 LocalVariableDeclaration:
1422 Modifiers Type VariableDeclarators
1427 yyGetParser->SetCurrentCombine("");
1431 Type VariableDeclarators
1436 yyGetParser->SetCurrentCombine("");
1441 StatementWithoutTrailingSubstatement
1446 yyGetParser->SetCurrentCombine("");
1455 yyGetParser->SetCurrentCombine("");
1464 yyGetParser->SetCurrentCombine("");
1473 yyGetParser->SetCurrentCombine("");
1482 yyGetParser->SetCurrentCombine("");
1491 yyGetParser->SetCurrentCombine("");
1496 StatementWithoutTrailingSubstatement
1501 yyGetParser->SetCurrentCombine("");
1505 LabeledStatementNoShortIf
1510 yyGetParser->SetCurrentCombine("");
1514 IfThenElseStatementNoShortIf
1519 yyGetParser->SetCurrentCombine("");
1523 WhileStatementNoShortIf
1528 yyGetParser->SetCurrentCombine("");
1532 ForStatementNoShortIf
1537 yyGetParser->SetCurrentCombine("");
1541 StatementWithoutTrailingSubstatement:
1547 yyGetParser->SetCurrentCombine("");
1556 yyGetParser->SetCurrentCombine("");
1565 yyGetParser->SetCurrentCombine("");
1574 yyGetParser->SetCurrentCombine("");
1583 yyGetParser->SetCurrentCombine("");
1592 yyGetParser->SetCurrentCombine("");
1601 yyGetParser->SetCurrentCombine("");
1610 yyGetParser->SetCurrentCombine("");
1614 SynchronizedStatement
1619 yyGetParser->SetCurrentCombine("");
1628 yyGetParser->SetCurrentCombine("");
1637 yyGetParser->SetCurrentCombine("");
1646 yyGetParser->SetCurrentCombine("");
1656 yyGetParser->SetCurrentCombine("");
1661 Identifier jp_COLON Statement
1664 yyGetParser->DeallocateParserType(&($<str>1));
1667 yyGetParser->SetCurrentCombine("");
1671 LabeledStatementNoShortIf:
1672 Identifier jp_COLON StatementNoShortIf
1677 yyGetParser->SetCurrentCombine("");
1681 ExpressionStatement:
1682 StatementExpression jp_SEMICOL
1687 yyGetParser->SetCurrentCombine("");
1691 StatementExpression:
1697 yyGetParser->SetCurrentCombine("");
1701 PreIncrementExpression
1706 yyGetParser->SetCurrentCombine("");
1710 PreDecrementExpression
1715 yyGetParser->SetCurrentCombine("");
1719 PostIncrementExpression
1724 yyGetParser->SetCurrentCombine("");
1728 PostDecrementExpression
1733 yyGetParser->SetCurrentCombine("");
1742 yyGetParser->SetCurrentCombine("");
1746 ClassInstanceCreationExpression
1751 yyGetParser->SetCurrentCombine("");
1756 jp_IF jp_PARESTART Expression jp_PAREEND Statement
1761 yyGetParser->SetCurrentCombine("");
1765 IfThenElseStatement:
1766 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement
1771 yyGetParser->SetCurrentCombine("");
1775 IfThenElseStatementNoShortIf:
1776 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf
1781 yyGetParser->SetCurrentCombine("");
1786 jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock
1793 jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND
1803 yyGetParser->SetCurrentCombine("");
1812 yyGetParser->SetCurrentCombine("");
1816 SwitchBlockStatementGroups:
1820 yyGetParser->SetCurrentCombine("");
1824 SwitchBlockStatementGroups SwitchBlockStatementGroup
1829 yyGetParser->SetCurrentCombine("");
1833 SwitchBlockStatementGroup:
1834 SwitchLabels BlockStatements
1839 yyGetParser->SetCurrentCombine("");
1849 yyGetParser->SetCurrentCombine("");
1853 SwitchLabels SwitchLabel
1858 yyGetParser->SetCurrentCombine("");
1863 jp_CASE ConstantExpression jp_COLON
1868 yyGetParser->SetCurrentCombine("");
1877 yyGetParser->SetCurrentCombine("");
1882 jp_WHILE jp_PARESTART Expression jp_PAREEND Statement
1888 WhileStatementNoShortIf:
1889 jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf
1896 jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL
1903 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1914 yyGetParser->SetCurrentCombine("");
1923 yyGetParser->SetCurrentCombine("");
1931 yyGetParser->SetCurrentCombine("");
1940 yyGetParser->SetCurrentCombine("");
1944 ForStatementNoShortIf:
1945 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1950 yyGetParser->SetCurrentCombine("");
1958 yyGetParser->SetCurrentCombine("");
1967 yyGetParser->SetCurrentCombine("");
1972 StatementExpressionList
1977 yyGetParser->SetCurrentCombine("");
1981 LocalVariableDeclaration
1986 yyGetParser->SetCurrentCombine("");
1991 StatementExpressionList
1996 yyGetParser->SetCurrentCombine("");
2000 StatementExpressionList:
2006 yyGetParser->SetCurrentCombine("");
2010 StatementExpressionList jp_COMMA StatementExpression
2015 yyGetParser->SetCurrentCombine("");
2020 jp_ASSERT Expression jp_SEMICOL
2025 yyGetParser->SetCurrentCombine("");
2029 jp_ASSERT Expression jp_COLON Expression jp_SEMICOL
2034 yyGetParser->SetCurrentCombine("");
2039 jp_BREAK Identifieropt jp_SEMICOL
2042 yyGetParser->DeallocateParserType(&($<str>2));
2045 yyGetParser->SetCurrentCombine("");
2053 yyGetParser->SetCurrentCombine("");
2064 jp_CONTINUE Identifieropt jp_SEMICOL
2067 yyGetParser->DeallocateParserType(&($<str>2));
2070 yyGetParser->SetCurrentCombine("");
2075 jp_RETURN Expressionopt jp_SEMICOL
2080 yyGetParser->SetCurrentCombine("");
2085 jp_THROW Expression jp_SEMICOL
2090 yyGetParser->SetCurrentCombine("");
2094 SynchronizedStatement:
2095 jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block
2100 yyGetParser->SetCurrentCombine("");
2105 jp_TRY Block Catches
2110 yyGetParser->SetCurrentCombine("");
2114 jp_TRY Block Catchesopt Finally
2119 yyGetParser->SetCurrentCombine("");
2127 yyGetParser->SetCurrentCombine("");
2136 yyGetParser->SetCurrentCombine("");
2146 yyGetParser->SetCurrentCombine("");
2155 yyGetParser->SetCurrentCombine("");
2160 jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block
2172 yyGetParser->SetCurrentCombine("");
2182 yyGetParser->SetCurrentCombine("");
2186 ArrayCreationExpression
2191 yyGetParser->SetCurrentCombine("");
2201 yyGetParser->SetCurrentCombine("");
2211 jp_PARESTART Expression jp_PAREEND
2216 yyGetParser->SetCurrentCombine("");
2220 ClassInstanceCreationExpression
2225 yyGetParser->SetCurrentCombine("");
2234 yyGetParser->SetCurrentCombine("");
2243 yyGetParser->SetCurrentCombine("");
2252 yyGetParser->SetCurrentCombine("");
2256 ClassInstanceCreationExpression:
2257 New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt
2262 yyGetParser->SetCurrentCombine("");
2270 yyGetParser->SetCurrentCombine("");
2279 yyGetParser->SetCurrentCombine("");
2287 yyGetParser->SetCurrentCombine("");
2296 yyGetParser->SetCurrentCombine("");
2306 yyGetParser->SetCurrentCombine("");
2310 ArgumentList jp_COMMA Expression
2315 yyGetParser->SetCurrentCombine("");
2319 ArrayCreationExpression:
2320 New PrimitiveType DimExprs Dimsopt
2325 yyGetParser->SetCurrentCombine("");
2329 New ClassOrInterfaceType DimExprs Dimsopt
2334 yyGetParser->SetCurrentCombine("");
2338 New PrimitiveType Dims ArrayInitializer
2343 yyGetParser->SetCurrentCombine("");
2347 New ClassOrInterfaceType Dims ArrayInitializer
2352 yyGetParser->SetCurrentCombine("");
2360 yyGetParser->SetCurrentCombine("");
2369 yyGetParser->SetCurrentCombine("");
2379 yyGetParser->SetCurrentCombine("");
2388 yyGetParser->SetCurrentCombine("");
2393 jp_BRACKETSTART Expression jp_BRACKETEND
2398 yyGetParser->SetCurrentCombine("");
2403 jp_BRACKETSTART jp_BRACKETEND
2409 Dims jp_BRACKETSTART jp_BRACKETEND
2416 Primary jp_DOT Identifier
2419 yyGetParser->DeallocateParserType(&($<str>3));
2422 yyGetParser->SetCurrentCombine("");
2426 jp_SUPER jp_DOT Identifier
2429 yyGetParser->DeallocateParserType(&($<str>3));
2432 yyGetParser->SetCurrentCombine("");
2436 jp_THIS jp_DOT Identifier
2439 yyGetParser->DeallocateParserType(&($<str>3));
2442 yyGetParser->SetCurrentCombine("");
2446 Primary jp_DOT jp_THIS
2449 yyGetParser->DeallocateParserType(&($<str>3));
2452 yyGetParser->SetCurrentCombine("");
2457 Name jp_PARESTART ArgumentListopt jp_PAREEND
2460 yyGetParser->DeallocateParserType(&($<str>1));
2463 yyGetParser->SetCurrentCombine("");
2467 Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2470 yyGetParser->DeallocateParserType(&($<str>1));
2471 yyGetParser->DeallocateParserType(&($<str>3));
2474 yyGetParser->SetCurrentCombine("");
2478 jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2481 yyGetParser->DeallocateParserType(&($<str>3));
2484 yyGetParser->SetCurrentCombine("");
2488 jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2491 yyGetParser->DeallocateParserType(&($<str>3));
2494 yyGetParser->SetCurrentCombine("");
2499 Name jp_BRACKETSTART Expression jp_BRACKETEND
2502 yyGetParser->DeallocateParserType(&($<str>1));
2505 yyGetParser->SetCurrentCombine("");
2509 PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND
2514 yyGetParser->SetCurrentCombine("");
2524 yyGetParser->SetCurrentCombine("");
2531 yyGetParser->DeallocateParserType(&($<str>1));
2533 yyGetParser->SetCurrentCombine("");
2537 ArrayType jp_DOT jp_CLASS
2542 yyGetParser->SetCurrentCombine("");
2546 PostIncrementExpression
2551 yyGetParser->SetCurrentCombine("");
2555 PostDecrementExpression
2560 yyGetParser->SetCurrentCombine("");
2564 PostIncrementExpression:
2565 PostfixExpression jp_PLUSPLUS
2570 yyGetParser->SetCurrentCombine("");
2574 PostDecrementExpression:
2575 PostfixExpression jp_MINUSMINUS
2580 yyGetParser->SetCurrentCombine("");
2585 PreIncrementExpression
2590 yyGetParser->SetCurrentCombine("");
2594 PreDecrementExpression
2599 yyGetParser->SetCurrentCombine("");
2603 jp_PLUS UnaryExpression
2608 yyGetParser->SetCurrentCombine("");
2612 jp_MINUS UnaryExpression
2617 yyGetParser->SetCurrentCombine("");
2621 UnaryExpressionNotPlusMinus
2626 yyGetParser->SetCurrentCombine("");
2630 PreIncrementExpression:
2631 jp_PLUSPLUS UnaryExpression
2636 yyGetParser->SetCurrentCombine("");
2640 PreDecrementExpression:
2641 jp_MINUSMINUS UnaryExpression
2646 yyGetParser->SetCurrentCombine("");
2650 UnaryExpressionNotPlusMinus:
2656 yyGetParser->SetCurrentCombine("");
2660 jp_TILDE UnaryExpression
2665 yyGetParser->SetCurrentCombine("");
2669 jp_EXCLAMATION UnaryExpression
2674 yyGetParser->SetCurrentCombine("");
2683 yyGetParser->SetCurrentCombine("");
2688 jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression
2693 yyGetParser->SetCurrentCombine("");
2697 jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus
2702 yyGetParser->SetCurrentCombine("");
2706 jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus
2712 MultiplicativeExpression:
2718 yyGetParser->SetCurrentCombine("");
2722 MultiplicativeExpression jp_TIMES UnaryExpression
2727 yyGetParser->SetCurrentCombine("");
2731 MultiplicativeExpression jp_DIVIDE UnaryExpression
2736 yyGetParser->SetCurrentCombine("");
2740 MultiplicativeExpression jp_PERCENT UnaryExpression
2745 yyGetParser->SetCurrentCombine("");
2750 MultiplicativeExpression
2755 yyGetParser->SetCurrentCombine("");
2759 AdditiveExpression jp_PLUS MultiplicativeExpression
2764 yyGetParser->SetCurrentCombine("");
2768 AdditiveExpression jp_MINUS MultiplicativeExpression
2773 yyGetParser->SetCurrentCombine("");
2783 yyGetParser->SetCurrentCombine("");
2787 ShiftExpression jp_LTLT AdditiveExpression
2792 yyGetParser->SetCurrentCombine("");
2796 ShiftExpression jp_GTGT AdditiveExpression
2801 yyGetParser->SetCurrentCombine("");
2805 ShiftExpression jp_GTGTGT AdditiveExpression
2810 yyGetParser->SetCurrentCombine("");
2814 RelationalExpression:
2820 yyGetParser->SetCurrentCombine("");
2824 RelationalExpression jp_LESSTHAN ShiftExpression
2829 yyGetParser->SetCurrentCombine("");
2833 RelationalExpression jp_GREATER ShiftExpression
2838 yyGetParser->SetCurrentCombine("");
2842 RelationalExpression jp_LTEQUALS ShiftExpression
2847 yyGetParser->SetCurrentCombine("");
2851 RelationalExpression jp_GTEQUALS ShiftExpression
2856 yyGetParser->SetCurrentCombine("");
2860 RelationalExpression jp_INSTANCEOF ReferenceType
2865 yyGetParser->SetCurrentCombine("");
2870 RelationalExpression
2875 yyGetParser->SetCurrentCombine("");
2879 EqualityExpression jp_EQUALSEQUALS RelationalExpression
2884 yyGetParser->SetCurrentCombine("");
2888 EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression
2893 yyGetParser->SetCurrentCombine("");
2903 yyGetParser->SetCurrentCombine("");
2907 AndExpression jp_AND EqualityExpression
2912 yyGetParser->SetCurrentCombine("");
2916 ExclusiveOrExpression:
2922 yyGetParser->SetCurrentCombine("");
2926 ExclusiveOrExpression jp_CARROT AndExpression
2931 yyGetParser->SetCurrentCombine("");
2935 InclusiveOrExpression:
2936 ExclusiveOrExpression
2941 yyGetParser->SetCurrentCombine("");
2945 InclusiveOrExpression jp_PIPE ExclusiveOrExpression
2950 yyGetParser->SetCurrentCombine("");
2954 ConditionalAndExpression:
2955 InclusiveOrExpression
2960 yyGetParser->SetCurrentCombine("");
2964 ConditionalAndExpression jp_ANDAND InclusiveOrExpression
2969 yyGetParser->SetCurrentCombine("");
2973 ConditionalOrExpression:
2974 ConditionalAndExpression
2979 yyGetParser->SetCurrentCombine("");
2983 ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression
2988 yyGetParser->SetCurrentCombine("");
2992 ConditionalExpression:
2993 ConditionalOrExpression
2998 yyGetParser->SetCurrentCombine("");
3002 ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression
3007 yyGetParser->SetCurrentCombine("");
3011 AssignmentExpression:
3012 ConditionalExpression
3017 yyGetParser->SetCurrentCombine("");
3026 yyGetParser->SetCurrentCombine("");
3031 LeftHandSide AssignmentOperator AssignmentExpression
3036 yyGetParser->SetCurrentCombine("");
3044 yyGetParser->DeallocateParserType(&($<str>1));
3047 yyGetParser->SetCurrentCombine("");
3056 yyGetParser->SetCurrentCombine("");
3065 yyGetParser->SetCurrentCombine("");
3075 yyGetParser->SetCurrentCombine("");
3084 yyGetParser->SetCurrentCombine("");
3093 yyGetParser->SetCurrentCombine("");
3102 yyGetParser->SetCurrentCombine("");
3111 yyGetParser->SetCurrentCombine("");
3120 yyGetParser->SetCurrentCombine("");
3129 yyGetParser->SetCurrentCombine("");
3138 yyGetParser->SetCurrentCombine("");
3147 yyGetParser->SetCurrentCombine("");
3156 yyGetParser->SetCurrentCombine("");
3165 yyGetParser->SetCurrentCombine("");
3174 yyGetParser->SetCurrentCombine("");
3179 AssignmentExpression
3184 yyGetParser->SetCurrentCombine("");
3194 yyGetParser->SetCurrentCombine("");
3204 yyGetParser->SetCurrentCombine("");
3211 jpStoreClass($<str>1);
3214 yyGetParser->SetCurrentCombine("");
3219 /* End of grammar */
3221 /*--------------------------------------------------------------------------*/
3222 void cmDependsJavaError(yyscan_t yyscanner, const char* message)
3224 yyGetParser->Error(message);