|
|
@@ -1,10 +1,13 @@
|
|
|
-// Generated from E:/subjects/Compilers Principle/exp/2/antlr\Aidl.g4 by ANTLR 4.9.1
|
|
|
+// Generated from E:/subjects/Compilers Principle/exp/antlr/aidl-to-json/src/main/resources/grammar\Aidl.g4 by ANTLR 4.9.1
|
|
|
package xyz.ignatz.antlr.aidl.analyzer;
|
|
|
import org.antlr.v4.runtime.atn.*;
|
|
|
import org.antlr.v4.runtime.dfa.DFA;
|
|
|
import org.antlr.v4.runtime.*;
|
|
|
+import org.antlr.v4.runtime.misc.*;
|
|
|
import org.antlr.v4.runtime.tree.*;
|
|
|
import java.util.List;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
|
|
public class AidlParser extends Parser {
|
|
|
@@ -29,7 +32,7 @@ public class AidlParser extends Parser {
|
|
|
RULE_name = 17, RULE_path = 18, RULE_id = 19;
|
|
|
private static String[] makeRuleNames() {
|
|
|
return new String[] {
|
|
|
- "src/main/java/xyz/ignatz/antlr/aidl", "packageStatement", "parcelableStatement", "importStatement",
|
|
|
+ "aidl", "packageStatement", "parcelableStatement", "importStatement",
|
|
|
"interfaceStatement", "interfaceSubStatement", "methodStatement", "constStatement",
|
|
|
"methodReturnType", "paramList", "param", "paramTag", "paramType", "type",
|
|
|
"list", "interfaceName", "className", "name", "path", "id"
|
|
|
@@ -93,7 +96,7 @@ public class AidlParser extends Parser {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String getGrammarFileName() { return "src/main/resources/grammar/Aidl.g4"; }
|
|
|
+ public String getGrammarFileName() { return "Aidl.g4"; }
|
|
|
|
|
|
@Override
|
|
|
public String[] getRuleNames() { return ruleNames; }
|
|
|
@@ -154,14 +157,22 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(40);
|
|
|
- packageStatement();
|
|
|
- setState(49);
|
|
|
+ setState(41);
|
|
|
+ _errHandler.sync(this);
|
|
|
+ _la = _input.LA(1);
|
|
|
+ if (_la==PACKAGE) {
|
|
|
+ {
|
|
|
+ setState(40);
|
|
|
+ packageStatement();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ setState(51);
|
|
|
_errHandler.sync(this);
|
|
|
switch (_input.LA(1)) {
|
|
|
case PARCELABLE:
|
|
|
{
|
|
|
- setState(41);
|
|
|
+ setState(43);
|
|
|
parcelableStatement();
|
|
|
}
|
|
|
break;
|
|
|
@@ -169,26 +180,28 @@ public class AidlParser extends Parser {
|
|
|
case INTERFACE:
|
|
|
case ONEWAY:
|
|
|
{
|
|
|
- setState(45);
|
|
|
+ setState(47);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
while (_la==IMPORT) {
|
|
|
{
|
|
|
{
|
|
|
- setState(42);
|
|
|
+ setState(44);
|
|
|
importStatement();
|
|
|
}
|
|
|
}
|
|
|
- setState(47);
|
|
|
+ setState(49);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
}
|
|
|
- setState(48);
|
|
|
+ setState(50);
|
|
|
interfaceStatement();
|
|
|
}
|
|
|
break;
|
|
|
+ case EOF:
|
|
|
+ break;
|
|
|
default:
|
|
|
- throw new NoViableAltException(this);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -234,11 +247,11 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(51);
|
|
|
+ setState(53);
|
|
|
match(PACKAGE);
|
|
|
- setState(52);
|
|
|
+ setState(54);
|
|
|
name();
|
|
|
- setState(53);
|
|
|
+ setState(55);
|
|
|
match(SE);
|
|
|
}
|
|
|
}
|
|
|
@@ -284,11 +297,11 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(55);
|
|
|
+ setState(57);
|
|
|
match(PARCELABLE);
|
|
|
- setState(56);
|
|
|
+ setState(58);
|
|
|
id();
|
|
|
- setState(57);
|
|
|
+ setState(59);
|
|
|
match(SE);
|
|
|
}
|
|
|
}
|
|
|
@@ -334,11 +347,11 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(59);
|
|
|
+ setState(61);
|
|
|
match(IMPORT);
|
|
|
- setState(60);
|
|
|
+ setState(62);
|
|
|
path();
|
|
|
- setState(61);
|
|
|
+ setState(63);
|
|
|
match(SE);
|
|
|
}
|
|
|
}
|
|
|
@@ -395,40 +408,40 @@ public class AidlParser extends Parser {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
oneway = 0;
|
|
|
- setState(66);
|
|
|
+ setState(68);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
if (_la==ONEWAY) {
|
|
|
{
|
|
|
- setState(64);
|
|
|
+ setState(66);
|
|
|
match(ONEWAY);
|
|
|
oneway = 1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- setState(68);
|
|
|
+ setState(70);
|
|
|
match(INTERFACE);
|
|
|
- setState(69);
|
|
|
+ setState(71);
|
|
|
id();
|
|
|
- setState(70);
|
|
|
+ setState(72);
|
|
|
match(LC);
|
|
|
- setState(74);
|
|
|
+ setState(76);
|
|
|
_errHandler.sync(this);
|
|
|
- _alt = getInterpreter().adaptivePredict(_input,3,_ctx);
|
|
|
+ _alt = getInterpreter().adaptivePredict(_input,4,_ctx);
|
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
|
if ( _alt==1 ) {
|
|
|
{
|
|
|
{
|
|
|
- setState(71);
|
|
|
+ setState(73);
|
|
|
interfaceSubStatement();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- setState(76);
|
|
|
+ setState(78);
|
|
|
_errHandler.sync(this);
|
|
|
- _alt = getInterpreter().adaptivePredict(_input,3,_ctx);
|
|
|
+ _alt = getInterpreter().adaptivePredict(_input,4,_ctx);
|
|
|
}
|
|
|
- setState(77);
|
|
|
+ setState(79);
|
|
|
match(RC);
|
|
|
}
|
|
|
}
|
|
|
@@ -473,20 +486,20 @@ public class AidlParser extends Parser {
|
|
|
InterfaceSubStatementContext _localctx = new InterfaceSubStatementContext(_ctx, getState());
|
|
|
enterRule(_localctx, 10, RULE_interfaceSubStatement);
|
|
|
try {
|
|
|
- setState(81);
|
|
|
+ setState(83);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(79);
|
|
|
+ setState(81);
|
|
|
methodStatement();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(80);
|
|
|
+ setState(82);
|
|
|
constStatement();
|
|
|
}
|
|
|
break;
|
|
|
@@ -546,48 +559,48 @@ public class AidlParser extends Parser {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
oneway &= 1;
|
|
|
- setState(86);
|
|
|
+ setState(88);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(84);
|
|
|
+ setState(86);
|
|
|
match(ONEWAY);
|
|
|
oneway |= 2;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(88);
|
|
|
+ setState(90);
|
|
|
methodReturnType();
|
|
|
- setState(89);
|
|
|
+ setState(91);
|
|
|
id();
|
|
|
- setState(90);
|
|
|
- match(LP);
|
|
|
setState(92);
|
|
|
+ match(LP);
|
|
|
+ setState(94);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(91);
|
|
|
+ setState(93);
|
|
|
paramList();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(94);
|
|
|
+ setState(96);
|
|
|
match(RP);
|
|
|
- setState(97);
|
|
|
+ setState(99);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
if (_la==EQ) {
|
|
|
{
|
|
|
- setState(95);
|
|
|
+ setState(97);
|
|
|
match(EQ);
|
|
|
- setState(96);
|
|
|
+ setState(98);
|
|
|
match(INT);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- setState(99);
|
|
|
+ setState(101);
|
|
|
match(SE);
|
|
|
}
|
|
|
}
|
|
|
@@ -636,40 +649,40 @@ public class AidlParser extends Parser {
|
|
|
ConstStatementContext _localctx = new ConstStatementContext(_ctx, getState());
|
|
|
enterRule(_localctx, 14, RULE_constStatement);
|
|
|
try {
|
|
|
- setState(115);
|
|
|
+ setState(117);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(101);
|
|
|
+ setState(103);
|
|
|
match(CONST);
|
|
|
- setState(102);
|
|
|
+ setState(104);
|
|
|
match(INT);
|
|
|
- setState(103);
|
|
|
+ setState(105);
|
|
|
id();
|
|
|
- setState(104);
|
|
|
+ setState(106);
|
|
|
match(EQ);
|
|
|
- setState(105);
|
|
|
+ setState(107);
|
|
|
match(INTEGER);
|
|
|
- setState(106);
|
|
|
+ setState(108);
|
|
|
match(SE);
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(108);
|
|
|
+ setState(110);
|
|
|
match(CONST);
|
|
|
- setState(109);
|
|
|
+ setState(111);
|
|
|
match(STRING);
|
|
|
- setState(110);
|
|
|
+ setState(112);
|
|
|
id();
|
|
|
- setState(111);
|
|
|
+ setState(113);
|
|
|
match(EQ);
|
|
|
- setState(112);
|
|
|
+ setState(114);
|
|
|
match(LITERALSTRING);
|
|
|
- setState(113);
|
|
|
+ setState(115);
|
|
|
match(SE);
|
|
|
}
|
|
|
break;
|
|
|
@@ -716,26 +729,26 @@ public class AidlParser extends Parser {
|
|
|
enterRule(_localctx, 16, RULE_methodReturnType);
|
|
|
int _la;
|
|
|
try {
|
|
|
- setState(123);
|
|
|
+ setState(125);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(117);
|
|
|
+ setState(119);
|
|
|
if (!(oneway==0)) throw new FailedPredicateException(this, "oneway==0");
|
|
|
{
|
|
|
- setState(119);
|
|
|
+ setState(121);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
if (_la==NULLABLE) {
|
|
|
{
|
|
|
- setState(118);
|
|
|
+ setState(120);
|
|
|
match(NULLABLE);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- setState(121);
|
|
|
+ setState(123);
|
|
|
type();
|
|
|
}
|
|
|
}
|
|
|
@@ -743,7 +756,7 @@ public class AidlParser extends Parser {
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(122);
|
|
|
+ setState(124);
|
|
|
match(VOID);
|
|
|
}
|
|
|
break;
|
|
|
@@ -797,21 +810,21 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(125);
|
|
|
+ setState(127);
|
|
|
param();
|
|
|
- setState(130);
|
|
|
+ setState(132);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
while (_la==CO) {
|
|
|
{
|
|
|
{
|
|
|
- setState(126);
|
|
|
+ setState(128);
|
|
|
match(CO);
|
|
|
- setState(127);
|
|
|
+ setState(129);
|
|
|
param();
|
|
|
}
|
|
|
}
|
|
|
- setState(132);
|
|
|
+ setState(134);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
}
|
|
|
@@ -865,29 +878,29 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(134);
|
|
|
+ setState(136);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(133);
|
|
|
+ setState(135);
|
|
|
match(NULLABLE);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(137);
|
|
|
+ setState(139);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(136);
|
|
|
+ setState(138);
|
|
|
((ParamContext)_localctx).paramTag = paramTag();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(139);
|
|
|
+ setState(141);
|
|
|
paramType((((ParamContext)_localctx).paramTag!=null?_input.getText(((ParamContext)_localctx).paramTag.start,((ParamContext)_localctx).paramTag.stop):null));
|
|
|
- setState(140);
|
|
|
+ setState(142);
|
|
|
id();
|
|
|
}
|
|
|
}
|
|
|
@@ -930,22 +943,22 @@ public class AidlParser extends Parser {
|
|
|
enterRule(_localctx, 22, RULE_paramTag);
|
|
|
int _la;
|
|
|
try {
|
|
|
- setState(145);
|
|
|
+ setState(147);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(142);
|
|
|
+ setState(144);
|
|
|
match(IN);
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(143);
|
|
|
+ setState(145);
|
|
|
if (!(oneway==0)) throw new FailedPredicateException(this, "oneway==0");
|
|
|
- setState(144);
|
|
|
+ setState(146);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !(_la==INOUT || _la==OUT) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
@@ -1020,27 +1033,27 @@ public class AidlParser extends Parser {
|
|
|
ParamTypeContext _localctx = new ParamTypeContext(_ctx, getState(), tag);
|
|
|
enterRule(_localctx, 24, RULE_paramType);
|
|
|
try {
|
|
|
- setState(178);
|
|
|
+ setState(180);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(147);
|
|
|
+ setState(149);
|
|
|
if (!(_localctx.tag==null)) throw new FailedPredicateException(this, "$tag==null");
|
|
|
{
|
|
|
- setState(153);
|
|
|
+ setState(155);
|
|
|
_errHandler.sync(this);
|
|
|
switch (_input.LA(1)) {
|
|
|
case PRIMITIVE:
|
|
|
{
|
|
|
- setState(148);
|
|
|
+ setState(150);
|
|
|
match(PRIMITIVE);
|
|
|
}
|
|
|
break;
|
|
|
case STRING:
|
|
|
{
|
|
|
- setState(149);
|
|
|
+ setState(151);
|
|
|
match(STRING);
|
|
|
}
|
|
|
break;
|
|
|
@@ -1048,7 +1061,7 @@ public class AidlParser extends Parser {
|
|
|
case PATH:
|
|
|
case ID:
|
|
|
{
|
|
|
- setState(150);
|
|
|
+ setState(152);
|
|
|
interfaceName();
|
|
|
((ParamTypeContext)_localctx).tid = 1;
|
|
|
}
|
|
|
@@ -1062,67 +1075,67 @@ public class AidlParser extends Parser {
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(155);
|
|
|
+ setState(157);
|
|
|
if (!(_localctx.tag!=null)) throw new FailedPredicateException(this, "$tag!=null");
|
|
|
- setState(176);
|
|
|
+ setState(178);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(156);
|
|
|
+ setState(158);
|
|
|
match(MAP);
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(157);
|
|
|
+ setState(159);
|
|
|
match(CHARSEQUENCE);
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
{
|
|
|
- setState(158);
|
|
|
+ setState(160);
|
|
|
list();
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
{
|
|
|
- setState(165);
|
|
|
+ setState(167);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(159);
|
|
|
+ setState(161);
|
|
|
name();
|
|
|
((ParamTypeContext)_localctx).tid = -1;
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(162);
|
|
|
+ setState(164);
|
|
|
((ParamTypeContext)_localctx).type = type();
|
|
|
((ParamTypeContext)_localctx).tid = ((ParamTypeContext)_localctx).type.tid;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(167);
|
|
|
+ setState(169);
|
|
|
if (!(_localctx.tag.equals("in"))) throw new FailedPredicateException(this, "$tag.equals(\"in\")");
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
{
|
|
|
- setState(169);
|
|
|
+ setState(171);
|
|
|
className();
|
|
|
((ParamTypeContext)_localctx).tid = 2;
|
|
|
}
|
|
|
break;
|
|
|
case 6:
|
|
|
{
|
|
|
- setState(172);
|
|
|
+ setState(174);
|
|
|
((ParamTypeContext)_localctx).type = type();
|
|
|
- setState(173);
|
|
|
+ setState(175);
|
|
|
match(LB);
|
|
|
- setState(174);
|
|
|
+ setState(176);
|
|
|
match(RB);
|
|
|
}
|
|
|
break;
|
|
|
@@ -1188,43 +1201,43 @@ public class AidlParser extends Parser {
|
|
|
int _alt;
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(188);
|
|
|
+ setState(190);
|
|
|
_errHandler.sync(this);
|
|
|
switch (_input.LA(1)) {
|
|
|
case PRIMITIVE:
|
|
|
{
|
|
|
- setState(180);
|
|
|
+ setState(182);
|
|
|
match(PRIMITIVE);
|
|
|
}
|
|
|
break;
|
|
|
case STRING:
|
|
|
{
|
|
|
- setState(181);
|
|
|
+ setState(183);
|
|
|
match(STRING);
|
|
|
}
|
|
|
break;
|
|
|
case CHARSEQUENCE:
|
|
|
{
|
|
|
- setState(182);
|
|
|
+ setState(184);
|
|
|
match(CHARSEQUENCE);
|
|
|
}
|
|
|
break;
|
|
|
case MAP:
|
|
|
{
|
|
|
- setState(183);
|
|
|
+ setState(185);
|
|
|
match(MAP);
|
|
|
}
|
|
|
break;
|
|
|
case LIST:
|
|
|
{
|
|
|
- setState(184);
|
|
|
+ setState(186);
|
|
|
list();
|
|
|
}
|
|
|
break;
|
|
|
case PATH:
|
|
|
case ID:
|
|
|
{
|
|
|
- setState(185);
|
|
|
+ setState(187);
|
|
|
className();
|
|
|
((TypeContext)_localctx).tid = 2;
|
|
|
}
|
|
|
@@ -1232,23 +1245,23 @@ public class AidlParser extends Parser {
|
|
|
default:
|
|
|
throw new NoViableAltException(this);
|
|
|
}
|
|
|
- setState(194);
|
|
|
+ setState(196);
|
|
|
_errHandler.sync(this);
|
|
|
- _alt = getInterpreter().adaptivePredict(_input,20,_ctx);
|
|
|
+ _alt = getInterpreter().adaptivePredict(_input,21,_ctx);
|
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
|
if ( _alt==1 ) {
|
|
|
{
|
|
|
{
|
|
|
- setState(190);
|
|
|
+ setState(192);
|
|
|
match(LB);
|
|
|
- setState(191);
|
|
|
+ setState(193);
|
|
|
match(RB);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- setState(196);
|
|
|
+ setState(198);
|
|
|
_errHandler.sync(this);
|
|
|
- _alt = getInterpreter().adaptivePredict(_input,20,_ctx);
|
|
|
+ _alt = getInterpreter().adaptivePredict(_input,21,_ctx);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1295,18 +1308,18 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(197);
|
|
|
+ setState(199);
|
|
|
match(LIST);
|
|
|
- setState(202);
|
|
|
+ setState(204);
|
|
|
_errHandler.sync(this);
|
|
|
- switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
|
|
|
+ switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(198);
|
|
|
+ setState(200);
|
|
|
match(LA);
|
|
|
- setState(199);
|
|
|
+ setState(201);
|
|
|
type();
|
|
|
- setState(200);
|
|
|
+ setState(202);
|
|
|
match(RA);
|
|
|
}
|
|
|
break;
|
|
|
@@ -1352,13 +1365,13 @@ public class AidlParser extends Parser {
|
|
|
InterfaceNameContext _localctx = new InterfaceNameContext(_ctx, getState());
|
|
|
enterRule(_localctx, 30, RULE_interfaceName);
|
|
|
try {
|
|
|
- setState(206);
|
|
|
+ setState(208);
|
|
|
_errHandler.sync(this);
|
|
|
switch (_input.LA(1)) {
|
|
|
case IBINDER:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(204);
|
|
|
+ setState(206);
|
|
|
match(IBINDER);
|
|
|
}
|
|
|
break;
|
|
|
@@ -1366,7 +1379,7 @@ public class AidlParser extends Parser {
|
|
|
case ID:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(205);
|
|
|
+ setState(207);
|
|
|
name();
|
|
|
}
|
|
|
break;
|
|
|
@@ -1414,7 +1427,7 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(208);
|
|
|
+ setState(210);
|
|
|
name();
|
|
|
}
|
|
|
}
|
|
|
@@ -1458,7 +1471,7 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(210);
|
|
|
+ setState(212);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !(_la==PATH || _la==ID) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
@@ -1508,7 +1521,7 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(212);
|
|
|
+ setState(214);
|
|
|
match(PATH);
|
|
|
}
|
|
|
}
|
|
|
@@ -1550,7 +1563,7 @@ public class AidlParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(214);
|
|
|
+ setState(216);
|
|
|
match(ID);
|
|
|
}
|
|
|
}
|
|
|
@@ -1603,75 +1616,77 @@ public class AidlParser extends Parser {
|
|
|
}
|
|
|
|
|
|
public static final String _serializedATN =
|
|
|
- "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3.\u00db\4\2\t\2\4"+
|
|
|
+ "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3.\u00dd\4\2\t\2\4"+
|
|
|
"\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
|
|
|
"\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
|
|
|
- "\4\23\t\23\4\24\t\24\4\25\t\25\3\2\3\2\3\2\7\2.\n\2\f\2\16\2\61\13\2\3"+
|
|
|
- "\2\5\2\64\n\2\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\6\3\6"+
|
|
|
- "\3\6\5\6E\n\6\3\6\3\6\3\6\3\6\7\6K\n\6\f\6\16\6N\13\6\3\6\3\6\3\7\3\7"+
|
|
|
- "\5\7T\n\7\3\b\3\b\3\b\5\bY\n\b\3\b\3\b\3\b\3\b\5\b_\n\b\3\b\3\b\3\b\5"+
|
|
|
- "\bd\n\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+
|
|
|
- "\t\5\tv\n\t\3\n\3\n\5\nz\n\n\3\n\3\n\5\n~\n\n\3\13\3\13\3\13\7\13\u0083"+
|
|
|
- "\n\13\f\13\16\13\u0086\13\13\3\f\5\f\u0089\n\f\3\f\5\f\u008c\n\f\3\f\3"+
|
|
|
- "\f\3\f\3\r\3\r\3\r\5\r\u0094\n\r\3\16\3\16\3\16\3\16\3\16\3\16\5\16\u009c"+
|
|
|
- "\n\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\5\16\u00a8\n\16"+
|
|
|
- "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\5\16\u00b3\n\16\5\16\u00b5"+
|
|
|
- "\n\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\5\17\u00bf\n\17\3\17\3\17"+
|
|
|
- "\7\17\u00c3\n\17\f\17\16\17\u00c6\13\17\3\20\3\20\3\20\3\20\3\20\5\20"+
|
|
|
- "\u00cd\n\20\3\21\3\21\5\21\u00d1\n\21\3\22\3\22\3\23\3\23\3\24\3\24\3"+
|
|
|
- "\25\3\25\3\25\2\2\26\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(\2\4"+
|
|
|
- "\4\2\24\24\26\26\3\2()\2\u00e6\2*\3\2\2\2\4\65\3\2\2\2\69\3\2\2\2\b=\3"+
|
|
|
- "\2\2\2\nA\3\2\2\2\fS\3\2\2\2\16U\3\2\2\2\20u\3\2\2\2\22}\3\2\2\2\24\177"+
|
|
|
- "\3\2\2\2\26\u0088\3\2\2\2\30\u0093\3\2\2\2\32\u00b4\3\2\2\2\34\u00be\3"+
|
|
|
- "\2\2\2\36\u00c7\3\2\2\2 \u00d0\3\2\2\2\"\u00d2\3\2\2\2$\u00d4\3\2\2\2"+
|
|
|
- "&\u00d6\3\2\2\2(\u00d8\3\2\2\2*\63\5\4\3\2+\64\5\6\4\2,.\5\b\5\2-,\3\2"+
|
|
|
- "\2\2.\61\3\2\2\2/-\3\2\2\2/\60\3\2\2\2\60\62\3\2\2\2\61/\3\2\2\2\62\64"+
|
|
|
- "\5\n\6\2\63+\3\2\2\2\63/\3\2\2\2\64\3\3\2\2\2\65\66\7\f\2\2\66\67\5$\23"+
|
|
|
- "\2\678\7&\2\28\5\3\2\2\29:\7\r\2\2:;\5(\25\2;<\7&\2\2<\7\3\2\2\2=>\7\16"+
|
|
|
- "\2\2>?\5&\24\2?@\7&\2\2@\t\3\2\2\2AD\b\6\1\2BC\7\20\2\2CE\b\6\1\2DB\3"+
|
|
|
- "\2\2\2DE\3\2\2\2EF\3\2\2\2FG\7\17\2\2GH\5(\25\2HL\7\36\2\2IK\5\f\7\2J"+
|
|
|
- "I\3\2\2\2KN\3\2\2\2LJ\3\2\2\2LM\3\2\2\2MO\3\2\2\2NL\3\2\2\2OP\7\37\2\2"+
|
|
|
- "P\13\3\2\2\2QT\5\16\b\2RT\5\20\t\2SQ\3\2\2\2SR\3\2\2\2T\r\3\2\2\2UX\b"+
|
|
|
- "\b\1\2VW\7\20\2\2WY\b\b\1\2XV\3\2\2\2XY\3\2\2\2YZ\3\2\2\2Z[\5\22\n\2["+
|
|
|
- "\\\5(\25\2\\^\7\34\2\2]_\5\24\13\2^]\3\2\2\2^_\3\2\2\2_`\3\2\2\2`c\7\35"+
|
|
|
- "\2\2ab\7\'\2\2bd\7\6\2\2ca\3\2\2\2cd\3\2\2\2de\3\2\2\2ef\7&\2\2f\17\3"+
|
|
|
- "\2\2\2gh\7\22\2\2hi\7\6\2\2ij\5(\25\2jk\7\'\2\2kl\7*\2\2lm\7&\2\2mv\3"+
|
|
|
- "\2\2\2no\7\22\2\2op\7\27\2\2pq\5(\25\2qr\7\'\2\2rs\7+\2\2st\7&\2\2tv\3"+
|
|
|
- "\2\2\2ug\3\2\2\2un\3\2\2\2v\21\3\2\2\2wy\6\n\2\2xz\7\23\2\2yx\3\2\2\2"+
|
|
|
- "yz\3\2\2\2z{\3\2\2\2{~\5\34\17\2|~\7\21\2\2}w\3\2\2\2}|\3\2\2\2~\23\3"+
|
|
|
- "\2\2\2\177\u0084\5\26\f\2\u0080\u0081\7%\2\2\u0081\u0083\5\26\f\2\u0082"+
|
|
|
- "\u0080\3\2\2\2\u0083\u0086\3\2\2\2\u0084\u0082\3\2\2\2\u0084\u0085\3\2"+
|
|
|
- "\2\2\u0085\25\3\2\2\2\u0086\u0084\3\2\2\2\u0087\u0089\7\23\2\2\u0088\u0087"+
|
|
|
- "\3\2\2\2\u0088\u0089\3\2\2\2\u0089\u008b\3\2\2\2\u008a\u008c\5\30\r\2"+
|
|
|
- "\u008b\u008a\3\2\2\2\u008b\u008c\3\2\2\2\u008c\u008d\3\2\2\2\u008d\u008e"+
|
|
|
- "\5\32\16\2\u008e\u008f\5(\25\2\u008f\27\3\2\2\2\u0090\u0094\7\25\2\2\u0091"+
|
|
|
- "\u0092\6\r\3\2\u0092\u0094\t\2\2\2\u0093\u0090\3\2\2\2\u0093\u0091\3\2"+
|
|
|
- "\2\2\u0094\31\3\2\2\2\u0095\u009b\6\16\4\3\u0096\u009c\7\3\2\2\u0097\u009c"+
|
|
|
- "\7\27\2\2\u0098\u0099\5 \21\2\u0099\u009a\b\16\1\2\u009a\u009c\3\2\2\2"+
|
|
|
- "\u009b\u0096\3\2\2\2\u009b\u0097\3\2\2\2\u009b\u0098\3\2\2\2\u009c\u00b5"+
|
|
|
- "\3\2\2\2\u009d\u00b2\6\16\5\3\u009e\u00b3\7\31\2\2\u009f\u00b3\7\30\2"+
|
|
|
- "\2\u00a0\u00b3\5\36\20\2\u00a1\u00a2\5$\23\2\u00a2\u00a3\b\16\1\2\u00a3"+
|
|
|
- "\u00a8\3\2\2\2\u00a4\u00a5\5\34\17\2\u00a5\u00a6\b\16\1\2\u00a6\u00a8"+
|
|
|
- "\3\2\2\2\u00a7\u00a1\3\2\2\2\u00a7\u00a4\3\2\2\2\u00a8\u00a9\3\2\2\2\u00a9"+
|
|
|
- "\u00aa\6\16\6\3\u00aa\u00b3\3\2\2\2\u00ab\u00ac\5\"\22\2\u00ac\u00ad\b"+
|
|
|
- "\16\1\2\u00ad\u00b3\3\2\2\2\u00ae\u00af\5\34\17\2\u00af\u00b0\7 \2\2\u00b0"+
|
|
|
- "\u00b1\7!\2\2\u00b1\u00b3\3\2\2\2\u00b2\u009e\3\2\2\2\u00b2\u009f\3\2"+
|
|
|
- "\2\2\u00b2\u00a0\3\2\2\2\u00b2\u00a7\3\2\2\2\u00b2\u00ab\3\2\2\2\u00b2"+
|
|
|
- "\u00ae\3\2\2\2\u00b3\u00b5\3\2\2\2\u00b4\u0095\3\2\2\2\u00b4\u009d\3\2"+
|
|
|
- "\2\2\u00b5\33\3\2\2\2\u00b6\u00bf\7\3\2\2\u00b7\u00bf\7\27\2\2\u00b8\u00bf"+
|
|
|
- "\7\30\2\2\u00b9\u00bf\7\31\2\2\u00ba\u00bf\5\36\20\2\u00bb\u00bc\5\"\22"+
|
|
|
- "\2\u00bc\u00bd\b\17\1\2\u00bd\u00bf\3\2\2\2\u00be\u00b6\3\2\2\2\u00be"+
|
|
|
- "\u00b7\3\2\2\2\u00be\u00b8\3\2\2\2\u00be\u00b9\3\2\2\2\u00be\u00ba\3\2"+
|
|
|
- "\2\2\u00be\u00bb\3\2\2\2\u00bf\u00c4\3\2\2\2\u00c0\u00c1\7 \2\2\u00c1"+
|
|
|
- "\u00c3\7!\2\2\u00c2\u00c0\3\2\2\2\u00c3\u00c6\3\2\2\2\u00c4\u00c2\3\2"+
|
|
|
- "\2\2\u00c4\u00c5\3\2\2\2\u00c5\35\3\2\2\2\u00c6\u00c4\3\2\2\2\u00c7\u00cc"+
|
|
|
- "\7\32\2\2\u00c8\u00c9\7\"\2\2\u00c9\u00ca\5\34\17\2\u00ca\u00cb\7#\2\2"+
|
|
|
- "\u00cb\u00cd\3\2\2\2\u00cc\u00c8\3\2\2\2\u00cc\u00cd\3\2\2\2\u00cd\37"+
|
|
|
- "\3\2\2\2\u00ce\u00d1\7\33\2\2\u00cf\u00d1\5$\23\2\u00d0\u00ce\3\2\2\2"+
|
|
|
- "\u00d0\u00cf\3\2\2\2\u00d1!\3\2\2\2\u00d2\u00d3\5$\23\2\u00d3#\3\2\2\2"+
|
|
|
- "\u00d4\u00d5\t\3\2\2\u00d5%\3\2\2\2\u00d6\u00d7\7(\2\2\u00d7\'\3\2\2\2"+
|
|
|
- "\u00d8\u00d9\7)\2\2\u00d9)\3\2\2\2\31/\63DLSX^cuy}\u0084\u0088\u008b\u0093"+
|
|
|
- "\u009b\u00a7\u00b2\u00b4\u00be\u00c4\u00cc\u00d0";
|
|
|
+ "\4\23\t\23\4\24\t\24\4\25\t\25\3\2\5\2,\n\2\3\2\3\2\7\2\60\n\2\f\2\16"+
|
|
|
+ "\2\63\13\2\3\2\5\2\66\n\2\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\5\3\5\3\5"+
|
|
|
+ "\3\5\3\6\3\6\3\6\5\6G\n\6\3\6\3\6\3\6\3\6\7\6M\n\6\f\6\16\6P\13\6\3\6"+
|
|
|
+ "\3\6\3\7\3\7\5\7V\n\7\3\b\3\b\3\b\5\b[\n\b\3\b\3\b\3\b\3\b\5\ba\n\b\3"+
|
|
|
+ "\b\3\b\3\b\5\bf\n\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+
|
|
|
+ "\t\3\t\3\t\3\t\5\tx\n\t\3\n\3\n\5\n|\n\n\3\n\3\n\5\n\u0080\n\n\3\13\3"+
|
|
|
+ "\13\3\13\7\13\u0085\n\13\f\13\16\13\u0088\13\13\3\f\5\f\u008b\n\f\3\f"+
|
|
|
+ "\5\f\u008e\n\f\3\f\3\f\3\f\3\r\3\r\3\r\5\r\u0096\n\r\3\16\3\16\3\16\3"+
|
|
|
+ "\16\3\16\3\16\5\16\u009e\n\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+
|
|
|
+ "\3\16\3\16\5\16\u00aa\n\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+
|
|
|
+ "\5\16\u00b5\n\16\5\16\u00b7\n\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3"+
|
|
|
+ "\17\5\17\u00c1\n\17\3\17\3\17\7\17\u00c5\n\17\f\17\16\17\u00c8\13\17\3"+
|
|
|
+ "\20\3\20\3\20\3\20\3\20\5\20\u00cf\n\20\3\21\3\21\5\21\u00d3\n\21\3\22"+
|
|
|
+ "\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3\25\2\2\26\2\4\6\b\n\f\16\20\22\24"+
|
|
|
+ "\26\30\32\34\36 \"$&(\2\4\4\2\24\24\26\26\3\2()\2\u00ea\2+\3\2\2\2\4\67"+
|
|
|
+ "\3\2\2\2\6;\3\2\2\2\b?\3\2\2\2\nC\3\2\2\2\fU\3\2\2\2\16W\3\2\2\2\20w\3"+
|
|
|
+ "\2\2\2\22\177\3\2\2\2\24\u0081\3\2\2\2\26\u008a\3\2\2\2\30\u0095\3\2\2"+
|
|
|
+ "\2\32\u00b6\3\2\2\2\34\u00c0\3\2\2\2\36\u00c9\3\2\2\2 \u00d2\3\2\2\2\""+
|
|
|
+ "\u00d4\3\2\2\2$\u00d6\3\2\2\2&\u00d8\3\2\2\2(\u00da\3\2\2\2*,\5\4\3\2"+
|
|
|
+ "+*\3\2\2\2+,\3\2\2\2,\65\3\2\2\2-\66\5\6\4\2.\60\5\b\5\2/.\3\2\2\2\60"+
|
|
|
+ "\63\3\2\2\2\61/\3\2\2\2\61\62\3\2\2\2\62\64\3\2\2\2\63\61\3\2\2\2\64\66"+
|
|
|
+ "\5\n\6\2\65-\3\2\2\2\65\61\3\2\2\2\65\66\3\2\2\2\66\3\3\2\2\2\678\7\f"+
|
|
|
+ "\2\289\5$\23\29:\7&\2\2:\5\3\2\2\2;<\7\r\2\2<=\5(\25\2=>\7&\2\2>\7\3\2"+
|
|
|
+ "\2\2?@\7\16\2\2@A\5&\24\2AB\7&\2\2B\t\3\2\2\2CF\b\6\1\2DE\7\20\2\2EG\b"+
|
|
|
+ "\6\1\2FD\3\2\2\2FG\3\2\2\2GH\3\2\2\2HI\7\17\2\2IJ\5(\25\2JN\7\36\2\2K"+
|
|
|
+ "M\5\f\7\2LK\3\2\2\2MP\3\2\2\2NL\3\2\2\2NO\3\2\2\2OQ\3\2\2\2PN\3\2\2\2"+
|
|
|
+ "QR\7\37\2\2R\13\3\2\2\2SV\5\16\b\2TV\5\20\t\2US\3\2\2\2UT\3\2\2\2V\r\3"+
|
|
|
+ "\2\2\2WZ\b\b\1\2XY\7\20\2\2Y[\b\b\1\2ZX\3\2\2\2Z[\3\2\2\2[\\\3\2\2\2\\"+
|
|
|
+ "]\5\22\n\2]^\5(\25\2^`\7\34\2\2_a\5\24\13\2`_\3\2\2\2`a\3\2\2\2ab\3\2"+
|
|
|
+ "\2\2be\7\35\2\2cd\7\'\2\2df\7\6\2\2ec\3\2\2\2ef\3\2\2\2fg\3\2\2\2gh\7"+
|
|
|
+ "&\2\2h\17\3\2\2\2ij\7\22\2\2jk\7\6\2\2kl\5(\25\2lm\7\'\2\2mn\7*\2\2no"+
|
|
|
+ "\7&\2\2ox\3\2\2\2pq\7\22\2\2qr\7\27\2\2rs\5(\25\2st\7\'\2\2tu\7+\2\2u"+
|
|
|
+ "v\7&\2\2vx\3\2\2\2wi\3\2\2\2wp\3\2\2\2x\21\3\2\2\2y{\6\n\2\2z|\7\23\2"+
|
|
|
+ "\2{z\3\2\2\2{|\3\2\2\2|}\3\2\2\2}\u0080\5\34\17\2~\u0080\7\21\2\2\177"+
|
|
|
+ "y\3\2\2\2\177~\3\2\2\2\u0080\23\3\2\2\2\u0081\u0086\5\26\f\2\u0082\u0083"+
|
|
|
+ "\7%\2\2\u0083\u0085\5\26\f\2\u0084\u0082\3\2\2\2\u0085\u0088\3\2\2\2\u0086"+
|
|
|
+ "\u0084\3\2\2\2\u0086\u0087\3\2\2\2\u0087\25\3\2\2\2\u0088\u0086\3\2\2"+
|
|
|
+ "\2\u0089\u008b\7\23\2\2\u008a\u0089\3\2\2\2\u008a\u008b\3\2\2\2\u008b"+
|
|
|
+ "\u008d\3\2\2\2\u008c\u008e\5\30\r\2\u008d\u008c\3\2\2\2\u008d\u008e\3"+
|
|
|
+ "\2\2\2\u008e\u008f\3\2\2\2\u008f\u0090\5\32\16\2\u0090\u0091\5(\25\2\u0091"+
|
|
|
+ "\27\3\2\2\2\u0092\u0096\7\25\2\2\u0093\u0094\6\r\3\2\u0094\u0096\t\2\2"+
|
|
|
+ "\2\u0095\u0092\3\2\2\2\u0095\u0093\3\2\2\2\u0096\31\3\2\2\2\u0097\u009d"+
|
|
|
+ "\6\16\4\3\u0098\u009e\7\3\2\2\u0099\u009e\7\27\2\2\u009a\u009b\5 \21\2"+
|
|
|
+ "\u009b\u009c\b\16\1\2\u009c\u009e\3\2\2\2\u009d\u0098\3\2\2\2\u009d\u0099"+
|
|
|
+ "\3\2\2\2\u009d\u009a\3\2\2\2\u009e\u00b7\3\2\2\2\u009f\u00b4\6\16\5\3"+
|
|
|
+ "\u00a0\u00b5\7\31\2\2\u00a1\u00b5\7\30\2\2\u00a2\u00b5\5\36\20\2\u00a3"+
|
|
|
+ "\u00a4\5$\23\2\u00a4\u00a5\b\16\1\2\u00a5\u00aa\3\2\2\2\u00a6\u00a7\5"+
|
|
|
+ "\34\17\2\u00a7\u00a8\b\16\1\2\u00a8\u00aa\3\2\2\2\u00a9\u00a3\3\2\2\2"+
|
|
|
+ "\u00a9\u00a6\3\2\2\2\u00aa\u00ab\3\2\2\2\u00ab\u00ac\6\16\6\3\u00ac\u00b5"+
|
|
|
+ "\3\2\2\2\u00ad\u00ae\5\"\22\2\u00ae\u00af\b\16\1\2\u00af\u00b5\3\2\2\2"+
|
|
|
+ "\u00b0\u00b1\5\34\17\2\u00b1\u00b2\7 \2\2\u00b2\u00b3\7!\2\2\u00b3\u00b5"+
|
|
|
+ "\3\2\2\2\u00b4\u00a0\3\2\2\2\u00b4\u00a1\3\2\2\2\u00b4\u00a2\3\2\2\2\u00b4"+
|
|
|
+ "\u00a9\3\2\2\2\u00b4\u00ad\3\2\2\2\u00b4\u00b0\3\2\2\2\u00b5\u00b7\3\2"+
|
|
|
+ "\2\2\u00b6\u0097\3\2\2\2\u00b6\u009f\3\2\2\2\u00b7\33\3\2\2\2\u00b8\u00c1"+
|
|
|
+ "\7\3\2\2\u00b9\u00c1\7\27\2\2\u00ba\u00c1\7\30\2\2\u00bb\u00c1\7\31\2"+
|
|
|
+ "\2\u00bc\u00c1\5\36\20\2\u00bd\u00be\5\"\22\2\u00be\u00bf\b\17\1\2\u00bf"+
|
|
|
+ "\u00c1\3\2\2\2\u00c0\u00b8\3\2\2\2\u00c0\u00b9\3\2\2\2\u00c0\u00ba\3\2"+
|
|
|
+ "\2\2\u00c0\u00bb\3\2\2\2\u00c0\u00bc\3\2\2\2\u00c0\u00bd\3\2\2\2\u00c1"+
|
|
|
+ "\u00c6\3\2\2\2\u00c2\u00c3\7 \2\2\u00c3\u00c5\7!\2\2\u00c4\u00c2\3\2\2"+
|
|
|
+ "\2\u00c5\u00c8\3\2\2\2\u00c6\u00c4\3\2\2\2\u00c6\u00c7\3\2\2\2\u00c7\35"+
|
|
|
+ "\3\2\2\2\u00c8\u00c6\3\2\2\2\u00c9\u00ce\7\32\2\2\u00ca\u00cb\7\"\2\2"+
|
|
|
+ "\u00cb\u00cc\5\34\17\2\u00cc\u00cd\7#\2\2\u00cd\u00cf\3\2\2\2\u00ce\u00ca"+
|
|
|
+ "\3\2\2\2\u00ce\u00cf\3\2\2\2\u00cf\37\3\2\2\2\u00d0\u00d3\7\33\2\2\u00d1"+
|
|
|
+ "\u00d3\5$\23\2\u00d2\u00d0\3\2\2\2\u00d2\u00d1\3\2\2\2\u00d3!\3\2\2\2"+
|
|
|
+ "\u00d4\u00d5\5$\23\2\u00d5#\3\2\2\2\u00d6\u00d7\t\3\2\2\u00d7%\3\2\2\2"+
|
|
|
+ "\u00d8\u00d9\7(\2\2\u00d9\'\3\2\2\2\u00da\u00db\7)\2\2\u00db)\3\2\2\2"+
|
|
|
+ "\32+\61\65FNUZ`ew{\177\u0086\u008a\u008d\u0095\u009d\u00a9\u00b4\u00b6"+
|
|
|
+ "\u00c0\u00c6\u00ce\u00d2";
|
|
|
public static final ATN _ATN =
|
|
|
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
|
|
static {
|