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 - remove use of the 'register' storage class specifier
24 - add __HP_aCC to the #if test for yyerrorlab warning suppression
28 /* Configure the parser to use a lexer object. */
29 #define YYPARSE_PARAM yyscanner
30 #define YYLEX_PARAM yyscanner
31 #define YYERROR_VERBOSE 1
32 #define cmDependsJava_yyerror(x) \
33 cmDependsJavaError(yyscanner, x)
34 #define yyGetParser (cmDependsJava_yyget_extra(yyscanner))
36 /*-------------------------------------------------------------------------*/
37 #include "cmDependsJavaParserHelper.h" /* Interface to parser object. */
38 #include "cmDependsJavaLexer.h" /* Interface to lexer object. */
39 #include "cmDependsJavaParserTokens.h" /* Need YYSTYPE for YY_DECL. */
41 /* Forward declare the lexer entry point. */
44 /* Internal utility functions. */
45 static void cmDependsJavaError(yyscan_t yyscanner, const char* message);
48 #define YYMAXDEPTH 1000000
51 #define jpCheckEmpty(cnt) yyGetParser->CheckEmpty(__LINE__, cnt, yyvsp);
52 #define jpElementStart(cnt) yyGetParser->PrepareElement(&yyval)
53 #define jpStoreClass(str) yyGetParser->AddClassFound(str); yyGetParser->DeallocateParserType(&(str))
54 /* Disable some warnings in the generated code. */
56 # pragma warn -8004 /* Variable assigned a value that is not used. */
57 # pragma warn -8008 /* condition always returns true */
58 # pragma warn -8060 /* possibly incorrect assignment */
59 # pragma warn -8066 /* unreachable code */
62 # pragma warning (disable: 4102) /* Unused goto label. */
63 # pragma warning (disable: 4065) /* Switch statement contains default but no case. */
67 /* Generate a reentrant parser object. */
76 /*-------------------------------------------------------------------------*/
80 %token jp_BOOLEAN_TYPE
116 %token jp_SYNCHRONIZED
126 %token jp_BOOLEANLITERAL
127 %token jp_CHARACTERLITERAL
128 %token jp_DECIMALINTEGERLITERAL
129 %token jp_FLOATINGPOINTLITERAL
130 %token jp_HEXINTEGERLITERAL
131 %token jp_NULLLITERAL
132 %token jp_STRINGLITERAL
140 %token jp_BRACKETSTART
142 %token jp_CARROTEQUALS
148 %token jp_DIVIDEEQUALS
152 %token jp_EQUALSEQUALS
153 %token jp_EXCLAMATION
154 %token jp_EXCLAMATIONEQUALS
160 %token jp_GTGTGTEQUALS
161 %token jp_LESLESEQUALS
166 %token jp_MINUSEQUALS
171 %token jp_PERCENTEQUALS
182 %token jp_TIMESEQUALS
186 /*-------------------------------------------------------------------------*/
196 yyGetParser->SetCurrentCombine("");
205 yyGetParser->SetCurrentCombine("");
208 jp_FLOATINGPOINTLITERAL
213 yyGetParser->SetCurrentCombine("");
221 yyGetParser->SetCurrentCombine("");
229 yyGetParser->SetCurrentCombine("");
237 yyGetParser->SetCurrentCombine("");
245 yyGetParser->SetCurrentCombine("");
249 jp_DECIMALINTEGERLITERAL
254 yyGetParser->SetCurrentCombine("");
262 yyGetParser->SetCurrentCombine("");
271 yyGetParser->SetCurrentCombine("");
279 yyGetParser->SetCurrentCombine("");
329 yyGetParser->SetCurrentCombine("");
337 yyGetParser->SetCurrentCombine("");
340 ClassOrInterfaceType:
344 jpStoreClass($<str>1);
347 yyGetParser->SetCurrentCombine("");
356 yyGetParser->SetCurrentCombine("");
365 yyGetParser->SetCurrentCombine("");
374 yyGetParser->SetCurrentCombine("");
380 jpStoreClass($<str>1);
383 yyGetParser->SetCurrentCombine("");
420 Name jp_DOT Identifier
423 yyGetParser->AddClassFound($<str>1);
424 yyGetParser->UpdateCombine($<str>1, $<str>3);
425 yyGetParser->DeallocateParserType(&($<str>1));
426 $<str>$ = const_cast<char*>(yyGetParser->GetCurrentCombine());
432 jpStoreClass($<str>1);
434 yyGetParser->SetCurrentCombine("");
436 yyGetParser->SetCurrentCombine("");
442 jpStoreClass($<str>1);
443 yyGetParser->SetCurrentCombine("");
446 yyGetParser->SetCurrentCombine("");
449 SimpleType jp_DOT jp_CLASS
454 yyGetParser->SetCurrentCombine("");
463 yyGetParser->SetCurrentCombine("");
471 yyGetParser->SetCurrentCombine("");
475 PackageDeclarationopt ImportDeclarations TypeDeclarations
480 yyGetParser->SetCurrentCombine("");
483 PackageDeclarationopt:
487 yyGetParser->SetCurrentCombine("");
495 yyGetParser->SetCurrentCombine("");
502 yyGetParser->SetCurrentCombine("");
505 ImportDeclarations ImportDeclaration
510 yyGetParser->SetCurrentCombine("");
517 yyGetParser->SetCurrentCombine("");
520 TypeDeclarations TypeDeclaration
525 yyGetParser->SetCurrentCombine("");
529 jp_PACKAGE Name jp_SEMICOL
532 yyGetParser->SetCurrentPackage($<str>2);
533 yyGetParser->DeallocateParserType(&($<str>2));
534 yyGetParser->SetCurrentCombine("");
537 yyGetParser->SetCurrentCombine("");
541 SingleTypeImportDeclaration
546 yyGetParser->SetCurrentCombine("");
549 TypeImportOnDemandDeclaration
554 yyGetParser->SetCurrentCombine("");
557 SingleTypeImportDeclaration:
558 jp_IMPORT Name jp_SEMICOL
561 yyGetParser->AddPackagesImport($<str>2);
562 yyGetParser->DeallocateParserType(&($<str>2));
563 yyGetParser->SetCurrentCombine("");
566 yyGetParser->SetCurrentCombine("");
569 TypeImportOnDemandDeclaration:
570 jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL
573 std::string str = $<str>2;
575 yyGetParser->AddPackagesImport(str.c_str());
576 yyGetParser->DeallocateParserType(&($<str>2));
577 yyGetParser->SetCurrentCombine("");
579 yyGetParser->SetCurrentCombine("");
588 yyGetParser->SetCurrentCombine("");
596 yyGetParser->SetCurrentCombine("");
604 yyGetParser->SetCurrentCombine("");
613 yyGetParser->SetCurrentCombine("");
621 yyGetParser->SetCurrentCombine("");
625 jp_PUBLIC | jp_PROTECTED | jp_PRIVATE |
627 jp_ABSTRACT | jp_FINAL | jp_NATIVE | jp_SYNCHRONIZED | jp_TRANSIENT | jp_VOLATILE |
631 Modifiersopt jp_CLASS Identifier
633 yyGetParser->StartClass($<str>3);
635 yyGetParser->DeallocateParserType(&($<str>3));
641 ClassHeader ClassBody
646 yyGetParser->SetCurrentCombine("");
647 yyGetParser->EndClass();
650 ClassHeader Interfaces ClassBody
655 yyGetParser->SetCurrentCombine("");
656 yyGetParser->EndClass();
659 ClassHeader Super ClassBody
664 yyGetParser->SetCurrentCombine("");
665 yyGetParser->EndClass();
668 ClassHeader Super Interfaces ClassBody
673 yyGetParser->SetCurrentCombine("");
674 yyGetParser->EndClass();
681 yyGetParser->SetCurrentCombine("");
689 yyGetParser->SetCurrentCombine("");
698 yyGetParser->SetCurrentCombine("");
702 jp_IMPLEMENTS InterfaceTypeList
707 yyGetParser->SetCurrentCombine("");
716 yyGetParser->SetCurrentCombine("");
719 InterfaceTypeList jp_COMMA InterfaceType
724 yyGetParser->SetCurrentCombine("");
728 jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND
733 yyGetParser->SetCurrentCombine("");
736 ClassBodyDeclarations:
740 yyGetParser->SetCurrentCombine("");
743 ClassBodyDeclarations ClassBodyDeclaration
748 yyGetParser->SetCurrentCombine("");
751 ClassBodyDeclaration:
752 ClassMemberDeclaration
757 yyGetParser->SetCurrentCombine("");
765 yyGetParser->SetCurrentCombine("");
768 ConstructorDeclaration
773 yyGetParser->SetCurrentCombine("");
781 yyGetParser->SetCurrentCombine("");
784 ClassMemberDeclaration:
790 yyGetParser->SetCurrentCombine("");
798 yyGetParser->SetCurrentCombine("");
802 Modifiersopt Type VariableDeclarators jp_SEMICOL
813 yyGetParser->SetCurrentCombine("");
816 VariableDeclarators jp_COMMA VariableDeclarator
821 yyGetParser->SetCurrentCombine("");
830 yyGetParser->SetCurrentCombine("");
833 VariableDeclaratorId jp_EQUALS VariableInitializer
838 yyGetParser->SetCurrentCombine("");
841 VariableDeclaratorId:
845 yyGetParser->DeallocateParserType(&($<str>1));
848 yyGetParser->SetCurrentCombine("");
851 VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND
856 yyGetParser->SetCurrentCombine("");
865 yyGetParser->SetCurrentCombine("");
873 yyGetParser->SetCurrentCombine("");
877 MethodHeader jp_SEMICOL
882 yyGetParser->SetCurrentCombine("");
885 MethodHeader MethodBody
890 yyGetParser->SetCurrentCombine("");
893 MethodHeader MethodBody jp_SEMICOL
898 yyGetParser->SetCurrentCombine("");
902 Modifiersopt Type MethodDeclarator Throwsopt
907 yyGetParser->SetCurrentCombine("");
911 Modifiersopt jp_VOID MethodDeclarator Throwsopt
916 yyGetParser->SetCurrentCombine("");
924 yyGetParser->SetCurrentCombine("");
933 yyGetParser->SetCurrentCombine("");
938 Identifier jp_PARESTART FormalParameterListopt jp_PAREEND
941 yyGetParser->DeallocateParserType(&($<str>1));
944 yyGetParser->SetCurrentCombine("");
948 MethodDeclarator jp_BRACKETSTART jp_BRACKETEND
954 FormalParameterListopt:
958 yyGetParser->SetCurrentCombine("");
971 FormalParameterList jp_COMMA FormalParameter
976 yyGetParser->SetCurrentCombine("");
981 Modifiersopt Type VariableDeclaratorId
986 yyGetParser->SetCurrentCombine("");
991 jp_THROWS ClassTypeList
996 yyGetParser->SetCurrentCombine("");
1007 ClassTypeList jp_COMMA ClassType
1012 yyGetParser->SetCurrentCombine("");
1022 yyGetParser->SetCurrentCombine("");
1032 yyGetParser->SetCurrentCombine("");
1036 ConstructorDeclaration:
1037 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody
1042 yyGetParser->SetCurrentCombine("");
1046 Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL
1051 yyGetParser->SetCurrentCombine("");
1055 ConstructorDeclarator:
1056 SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND
1059 yyGetParser->DeallocateParserType(&($<str>1));
1062 yyGetParser->SetCurrentCombine("");
1067 jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND
1072 yyGetParser->SetCurrentCombine("");
1076 ExplicitConstructorInvocationopt:
1080 yyGetParser->SetCurrentCombine("");
1084 ExplicitConstructorInvocationopt ExplicitConstructorInvocation
1089 yyGetParser->SetCurrentCombine("");
1093 ExplicitConstructorInvocation:
1094 jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1099 yyGetParser->SetCurrentCombine("");
1103 jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL
1108 yyGetParser->SetCurrentCombine("");
1113 Modifiersopt jp_INTERFACE Identifier
1115 yyGetParser->StartClass($<str>3);
1117 yyGetParser->DeallocateParserType(&($<str>3));
1121 InterfaceDeclaration:
1122 InterfaceHeader ExtendsInterfacesopt InterfaceBody
1127 yyGetParser->SetCurrentCombine("");
1128 yyGetParser->EndClass();
1131 ExtendsInterfacesopt:
1135 yyGetParser->SetCurrentCombine("");
1143 yyGetParser->SetCurrentCombine("");
1148 jp_EXTENDS InterfaceType
1153 yyGetParser->SetCurrentCombine("");
1157 ExtendsInterfaces jp_COMMA InterfaceType
1162 yyGetParser->SetCurrentCombine("");
1167 jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND
1172 yyGetParser->SetCurrentCombine("");
1176 InterfaceMemberDeclarations:
1180 yyGetParser->SetCurrentCombine("");
1184 InterfaceMemberDeclarations InterfaceMemberDeclaration
1188 yyGetParser->SetCurrentCombine("");
1192 InterfaceMemberDeclaration:
1198 yyGetParser->SetCurrentCombine("");
1202 AbstractMethodDeclaration
1207 yyGetParser->SetCurrentCombine("");
1216 yyGetParser->SetCurrentCombine("");
1220 ClassDeclaration jp_SEMICOL
1224 yyGetParser->SetCurrentCombine("");
1228 InterfaceDeclaration
1233 yyGetParser->SetCurrentCombine("");
1237 InterfaceDeclaration jp_SEMICOL
1241 yyGetParser->SetCurrentCombine("");
1245 ConstantDeclaration:
1251 yyGetParser->SetCurrentCombine("");
1255 AbstractMethodDeclaration:
1256 MethodHeader Semicols
1261 yyGetParser->SetCurrentCombine("");
1271 yyGetParser->SetCurrentCombine("");
1280 yyGetParser->SetCurrentCombine("");
1285 jp_CURLYSTART VariableInitializersOptional jp_CURLYEND
1290 yyGetParser->SetCurrentCombine("");
1294 VariableInitializersOptional:
1298 yyGetParser->SetCurrentCombine("");
1302 VariableInitializers
1307 yyGetParser->SetCurrentCombine("");
1311 VariableInitializers jp_COMMA
1316 yyGetParser->SetCurrentCombine("");
1320 VariableInitializers:
1326 yyGetParser->SetCurrentCombine("");
1330 VariableInitializers jp_COMMA VariableInitializer
1335 yyGetParser->SetCurrentCombine("");
1340 jp_CURLYSTART BlockStatementsopt jp_CURLYEND
1344 yyGetParser->SetCurrentCombine("");
1352 yyGetParser->SetCurrentCombine("");
1361 yyGetParser->SetCurrentCombine("");
1371 yyGetParser->SetCurrentCombine("");
1375 BlockStatements BlockStatement
1380 yyGetParser->SetCurrentCombine("");
1385 LocalVariableDeclarationStatement
1390 yyGetParser->SetCurrentCombine("");
1399 yyGetParser->SetCurrentCombine("");
1408 yyGetParser->SetCurrentCombine("");
1412 LocalVariableDeclarationStatement:
1413 LocalVariableDeclaration jp_SEMICOL
1418 yyGetParser->SetCurrentCombine("");
1422 LocalVariableDeclaration:
1423 Modifiers Type VariableDeclarators
1428 yyGetParser->SetCurrentCombine("");
1432 Type VariableDeclarators
1437 yyGetParser->SetCurrentCombine("");
1442 StatementWithoutTrailingSubstatement
1447 yyGetParser->SetCurrentCombine("");
1456 yyGetParser->SetCurrentCombine("");
1465 yyGetParser->SetCurrentCombine("");
1474 yyGetParser->SetCurrentCombine("");
1483 yyGetParser->SetCurrentCombine("");
1492 yyGetParser->SetCurrentCombine("");
1497 StatementWithoutTrailingSubstatement
1502 yyGetParser->SetCurrentCombine("");
1506 LabeledStatementNoShortIf
1511 yyGetParser->SetCurrentCombine("");
1515 IfThenElseStatementNoShortIf
1520 yyGetParser->SetCurrentCombine("");
1524 WhileStatementNoShortIf
1529 yyGetParser->SetCurrentCombine("");
1533 ForStatementNoShortIf
1538 yyGetParser->SetCurrentCombine("");
1542 StatementWithoutTrailingSubstatement:
1548 yyGetParser->SetCurrentCombine("");
1557 yyGetParser->SetCurrentCombine("");
1566 yyGetParser->SetCurrentCombine("");
1575 yyGetParser->SetCurrentCombine("");
1584 yyGetParser->SetCurrentCombine("");
1593 yyGetParser->SetCurrentCombine("");
1602 yyGetParser->SetCurrentCombine("");
1611 yyGetParser->SetCurrentCombine("");
1615 SynchronizedStatement
1620 yyGetParser->SetCurrentCombine("");
1629 yyGetParser->SetCurrentCombine("");
1638 yyGetParser->SetCurrentCombine("");
1647 yyGetParser->SetCurrentCombine("");
1657 yyGetParser->SetCurrentCombine("");
1662 Identifier jp_COLON Statement
1665 yyGetParser->DeallocateParserType(&($<str>1));
1668 yyGetParser->SetCurrentCombine("");
1672 LabeledStatementNoShortIf:
1673 Identifier jp_COLON StatementNoShortIf
1678 yyGetParser->SetCurrentCombine("");
1682 ExpressionStatement:
1683 StatementExpression jp_SEMICOL
1688 yyGetParser->SetCurrentCombine("");
1692 StatementExpression:
1698 yyGetParser->SetCurrentCombine("");
1702 PreIncrementExpression
1707 yyGetParser->SetCurrentCombine("");
1711 PreDecrementExpression
1716 yyGetParser->SetCurrentCombine("");
1720 PostIncrementExpression
1725 yyGetParser->SetCurrentCombine("");
1729 PostDecrementExpression
1734 yyGetParser->SetCurrentCombine("");
1743 yyGetParser->SetCurrentCombine("");
1747 ClassInstanceCreationExpression
1752 yyGetParser->SetCurrentCombine("");
1757 jp_IF jp_PARESTART Expression jp_PAREEND Statement
1762 yyGetParser->SetCurrentCombine("");
1766 IfThenElseStatement:
1767 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement
1772 yyGetParser->SetCurrentCombine("");
1776 IfThenElseStatementNoShortIf:
1777 jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf
1782 yyGetParser->SetCurrentCombine("");
1787 jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock
1794 jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND
1804 yyGetParser->SetCurrentCombine("");
1813 yyGetParser->SetCurrentCombine("");
1817 SwitchBlockStatementGroups:
1821 yyGetParser->SetCurrentCombine("");
1825 SwitchBlockStatementGroups SwitchBlockStatementGroup
1830 yyGetParser->SetCurrentCombine("");
1834 SwitchBlockStatementGroup:
1835 SwitchLabels BlockStatements
1840 yyGetParser->SetCurrentCombine("");
1850 yyGetParser->SetCurrentCombine("");
1854 SwitchLabels SwitchLabel
1859 yyGetParser->SetCurrentCombine("");
1864 jp_CASE ConstantExpression jp_COLON
1869 yyGetParser->SetCurrentCombine("");
1878 yyGetParser->SetCurrentCombine("");
1883 jp_WHILE jp_PARESTART Expression jp_PAREEND Statement
1889 WhileStatementNoShortIf:
1890 jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf
1897 jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL
1904 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1915 yyGetParser->SetCurrentCombine("");
1924 yyGetParser->SetCurrentCombine("");
1932 yyGetParser->SetCurrentCombine("");
1941 yyGetParser->SetCurrentCombine("");
1945 ForStatementNoShortIf:
1946 jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND
1951 yyGetParser->SetCurrentCombine("");
1959 yyGetParser->SetCurrentCombine("");
1968 yyGetParser->SetCurrentCombine("");
1973 StatementExpressionList
1978 yyGetParser->SetCurrentCombine("");
1982 LocalVariableDeclaration
1987 yyGetParser->SetCurrentCombine("");
1992 StatementExpressionList
1997 yyGetParser->SetCurrentCombine("");
2001 StatementExpressionList:
2007 yyGetParser->SetCurrentCombine("");
2011 StatementExpressionList jp_COMMA StatementExpression
2016 yyGetParser->SetCurrentCombine("");
2021 jp_ASSERT Expression jp_SEMICOL
2026 yyGetParser->SetCurrentCombine("");
2030 jp_ASSERT Expression jp_COLON Expression jp_SEMICOL
2035 yyGetParser->SetCurrentCombine("");
2040 jp_BREAK Identifieropt jp_SEMICOL
2043 yyGetParser->DeallocateParserType(&($<str>2));
2046 yyGetParser->SetCurrentCombine("");
2054 yyGetParser->SetCurrentCombine("");
2065 jp_CONTINUE Identifieropt jp_SEMICOL
2068 yyGetParser->DeallocateParserType(&($<str>2));
2071 yyGetParser->SetCurrentCombine("");
2076 jp_RETURN Expressionopt jp_SEMICOL
2081 yyGetParser->SetCurrentCombine("");
2086 jp_THROW Expression jp_SEMICOL
2091 yyGetParser->SetCurrentCombine("");
2095 SynchronizedStatement:
2096 jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block
2101 yyGetParser->SetCurrentCombine("");
2106 jp_TRY Block Catches
2111 yyGetParser->SetCurrentCombine("");
2115 jp_TRY Block Catchesopt Finally
2120 yyGetParser->SetCurrentCombine("");
2128 yyGetParser->SetCurrentCombine("");
2137 yyGetParser->SetCurrentCombine("");
2147 yyGetParser->SetCurrentCombine("");
2156 yyGetParser->SetCurrentCombine("");
2161 jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block
2173 yyGetParser->SetCurrentCombine("");
2183 yyGetParser->SetCurrentCombine("");
2187 ArrayCreationExpression
2192 yyGetParser->SetCurrentCombine("");
2202 yyGetParser->SetCurrentCombine("");
2212 jp_PARESTART Expression jp_PAREEND
2217 yyGetParser->SetCurrentCombine("");
2221 ClassInstanceCreationExpression
2226 yyGetParser->SetCurrentCombine("");
2235 yyGetParser->SetCurrentCombine("");
2244 yyGetParser->SetCurrentCombine("");
2253 yyGetParser->SetCurrentCombine("");
2257 ClassInstanceCreationExpression:
2258 New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt
2263 yyGetParser->SetCurrentCombine("");
2271 yyGetParser->SetCurrentCombine("");
2280 yyGetParser->SetCurrentCombine("");
2288 yyGetParser->SetCurrentCombine("");
2297 yyGetParser->SetCurrentCombine("");
2307 yyGetParser->SetCurrentCombine("");
2311 ArgumentList jp_COMMA Expression
2316 yyGetParser->SetCurrentCombine("");
2320 ArrayCreationExpression:
2321 New PrimitiveType DimExprs Dimsopt
2326 yyGetParser->SetCurrentCombine("");
2330 New ClassOrInterfaceType DimExprs Dimsopt
2335 yyGetParser->SetCurrentCombine("");
2339 New PrimitiveType Dims ArrayInitializer
2344 yyGetParser->SetCurrentCombine("");
2348 New ClassOrInterfaceType Dims ArrayInitializer
2353 yyGetParser->SetCurrentCombine("");
2361 yyGetParser->SetCurrentCombine("");
2370 yyGetParser->SetCurrentCombine("");
2380 yyGetParser->SetCurrentCombine("");
2389 yyGetParser->SetCurrentCombine("");
2394 jp_BRACKETSTART Expression jp_BRACKETEND
2399 yyGetParser->SetCurrentCombine("");
2404 jp_BRACKETSTART jp_BRACKETEND
2410 Dims jp_BRACKETSTART jp_BRACKETEND
2417 Primary jp_DOT Identifier
2420 yyGetParser->DeallocateParserType(&($<str>3));
2423 yyGetParser->SetCurrentCombine("");
2427 jp_SUPER jp_DOT Identifier
2430 yyGetParser->DeallocateParserType(&($<str>3));
2433 yyGetParser->SetCurrentCombine("");
2437 jp_THIS jp_DOT Identifier
2440 yyGetParser->DeallocateParserType(&($<str>3));
2443 yyGetParser->SetCurrentCombine("");
2447 Primary jp_DOT jp_THIS
2450 yyGetParser->DeallocateParserType(&($<str>3));
2453 yyGetParser->SetCurrentCombine("");
2458 Name jp_PARESTART ArgumentListopt jp_PAREEND
2461 yyGetParser->DeallocateParserType(&($<str>1));
2464 yyGetParser->SetCurrentCombine("");
2468 Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2471 yyGetParser->DeallocateParserType(&($<str>1));
2472 yyGetParser->DeallocateParserType(&($<str>3));
2475 yyGetParser->SetCurrentCombine("");
2479 jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2482 yyGetParser->DeallocateParserType(&($<str>3));
2485 yyGetParser->SetCurrentCombine("");
2489 jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND
2492 yyGetParser->DeallocateParserType(&($<str>3));
2495 yyGetParser->SetCurrentCombine("");
2500 Name jp_BRACKETSTART Expression jp_BRACKETEND
2503 yyGetParser->DeallocateParserType(&($<str>1));
2506 yyGetParser->SetCurrentCombine("");
2510 PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND
2515 yyGetParser->SetCurrentCombine("");
2525 yyGetParser->SetCurrentCombine("");
2532 yyGetParser->DeallocateParserType(&($<str>1));
2534 yyGetParser->SetCurrentCombine("");
2538 ArrayType jp_DOT jp_CLASS
2543 yyGetParser->SetCurrentCombine("");
2547 PostIncrementExpression
2552 yyGetParser->SetCurrentCombine("");
2556 PostDecrementExpression
2561 yyGetParser->SetCurrentCombine("");
2565 PostIncrementExpression:
2566 PostfixExpression jp_PLUSPLUS
2571 yyGetParser->SetCurrentCombine("");
2575 PostDecrementExpression:
2576 PostfixExpression jp_MINUSMINUS
2581 yyGetParser->SetCurrentCombine("");
2586 PreIncrementExpression
2591 yyGetParser->SetCurrentCombine("");
2595 PreDecrementExpression
2600 yyGetParser->SetCurrentCombine("");
2604 jp_PLUS UnaryExpression
2609 yyGetParser->SetCurrentCombine("");
2613 jp_MINUS UnaryExpression
2618 yyGetParser->SetCurrentCombine("");
2622 UnaryExpressionNotPlusMinus
2627 yyGetParser->SetCurrentCombine("");
2631 PreIncrementExpression:
2632 jp_PLUSPLUS UnaryExpression
2637 yyGetParser->SetCurrentCombine("");
2641 PreDecrementExpression:
2642 jp_MINUSMINUS UnaryExpression
2647 yyGetParser->SetCurrentCombine("");
2651 UnaryExpressionNotPlusMinus:
2657 yyGetParser->SetCurrentCombine("");
2661 jp_TILDE UnaryExpression
2666 yyGetParser->SetCurrentCombine("");
2670 jp_EXCLAMATION UnaryExpression
2675 yyGetParser->SetCurrentCombine("");
2684 yyGetParser->SetCurrentCombine("");
2689 jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression
2694 yyGetParser->SetCurrentCombine("");
2698 jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus
2703 yyGetParser->SetCurrentCombine("");
2707 jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus
2713 MultiplicativeExpression:
2719 yyGetParser->SetCurrentCombine("");
2723 MultiplicativeExpression jp_TIMES UnaryExpression
2728 yyGetParser->SetCurrentCombine("");
2732 MultiplicativeExpression jp_DIVIDE UnaryExpression
2737 yyGetParser->SetCurrentCombine("");
2741 MultiplicativeExpression jp_PERCENT UnaryExpression
2746 yyGetParser->SetCurrentCombine("");
2751 MultiplicativeExpression
2756 yyGetParser->SetCurrentCombine("");
2760 AdditiveExpression jp_PLUS MultiplicativeExpression
2765 yyGetParser->SetCurrentCombine("");
2769 AdditiveExpression jp_MINUS MultiplicativeExpression
2774 yyGetParser->SetCurrentCombine("");
2784 yyGetParser->SetCurrentCombine("");
2788 ShiftExpression jp_LTLT AdditiveExpression
2793 yyGetParser->SetCurrentCombine("");
2797 ShiftExpression jp_GTGT AdditiveExpression
2802 yyGetParser->SetCurrentCombine("");
2806 ShiftExpression jp_GTGTGT AdditiveExpression
2811 yyGetParser->SetCurrentCombine("");
2815 RelationalExpression:
2821 yyGetParser->SetCurrentCombine("");
2825 RelationalExpression jp_LESSTHAN ShiftExpression
2830 yyGetParser->SetCurrentCombine("");
2834 RelationalExpression jp_GREATER ShiftExpression
2839 yyGetParser->SetCurrentCombine("");
2843 RelationalExpression jp_LTEQUALS ShiftExpression
2848 yyGetParser->SetCurrentCombine("");
2852 RelationalExpression jp_GTEQUALS ShiftExpression
2857 yyGetParser->SetCurrentCombine("");
2861 RelationalExpression jp_INSTANCEOF ReferenceType
2866 yyGetParser->SetCurrentCombine("");
2871 RelationalExpression
2876 yyGetParser->SetCurrentCombine("");
2880 EqualityExpression jp_EQUALSEQUALS RelationalExpression
2885 yyGetParser->SetCurrentCombine("");
2889 EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression
2894 yyGetParser->SetCurrentCombine("");
2904 yyGetParser->SetCurrentCombine("");
2908 AndExpression jp_AND EqualityExpression
2913 yyGetParser->SetCurrentCombine("");
2917 ExclusiveOrExpression:
2923 yyGetParser->SetCurrentCombine("");
2927 ExclusiveOrExpression jp_CARROT AndExpression
2932 yyGetParser->SetCurrentCombine("");
2936 InclusiveOrExpression:
2937 ExclusiveOrExpression
2942 yyGetParser->SetCurrentCombine("");
2946 InclusiveOrExpression jp_PIPE ExclusiveOrExpression
2951 yyGetParser->SetCurrentCombine("");
2955 ConditionalAndExpression:
2956 InclusiveOrExpression
2961 yyGetParser->SetCurrentCombine("");
2965 ConditionalAndExpression jp_ANDAND InclusiveOrExpression
2970 yyGetParser->SetCurrentCombine("");
2974 ConditionalOrExpression:
2975 ConditionalAndExpression
2980 yyGetParser->SetCurrentCombine("");
2984 ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression
2989 yyGetParser->SetCurrentCombine("");
2993 ConditionalExpression:
2994 ConditionalOrExpression
2999 yyGetParser->SetCurrentCombine("");
3003 ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression
3008 yyGetParser->SetCurrentCombine("");
3012 AssignmentExpression:
3013 ConditionalExpression
3018 yyGetParser->SetCurrentCombine("");
3027 yyGetParser->SetCurrentCombine("");
3032 LeftHandSide AssignmentOperator AssignmentExpression
3037 yyGetParser->SetCurrentCombine("");
3045 yyGetParser->DeallocateParserType(&($<str>1));
3048 yyGetParser->SetCurrentCombine("");
3057 yyGetParser->SetCurrentCombine("");
3066 yyGetParser->SetCurrentCombine("");
3076 yyGetParser->SetCurrentCombine("");
3085 yyGetParser->SetCurrentCombine("");
3094 yyGetParser->SetCurrentCombine("");
3103 yyGetParser->SetCurrentCombine("");
3112 yyGetParser->SetCurrentCombine("");
3121 yyGetParser->SetCurrentCombine("");
3130 yyGetParser->SetCurrentCombine("");
3139 yyGetParser->SetCurrentCombine("");
3148 yyGetParser->SetCurrentCombine("");
3157 yyGetParser->SetCurrentCombine("");
3166 yyGetParser->SetCurrentCombine("");
3175 yyGetParser->SetCurrentCombine("");
3180 AssignmentExpression
3185 yyGetParser->SetCurrentCombine("");
3195 yyGetParser->SetCurrentCombine("");
3205 yyGetParser->SetCurrentCombine("");
3212 jpStoreClass($<str>1);
3215 yyGetParser->SetCurrentCombine("");
3220 /* End of grammar */
3222 /*--------------------------------------------------------------------------*/
3223 void cmDependsJavaError(yyscan_t yyscanner, const char* message)
3225 yyGetParser->Error(message);