Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
mit-compiler.2.0.0.source-code.apiParser Maven / Gradle / Ivy
// $ANTLR 3.5.2 api.g 2017-03-25 17:01:57
package com.amit.api.compiler.parser;
import com.amit.api.compiler.model.*;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class apiParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ARRAY", "ASTART", "ASTOP", "CHAR",
"COLON", "COMMA", "COMMENT", "END", "ENUM", "EQUAL", "ESC_SEQ", "EXCEPTION",
"EXPONENT", "FLOAT", "HEX", "HEX_DIGIT", "ID", "INCLUDE", "INT", "INTERFACE",
"LIB", "MAP", "MINUS", "OCTAL_ESC", "PCLOSE", "POPEN", "PROJECT", "REQUIRED",
"SEMICOLON", "SERVICE", "START", "STRING", "THROWS", "TYPE", "UNICODE_ESC",
"WS"
};
public static final int EOF=-1;
public static final int ARRAY=4;
public static final int ASTART=5;
public static final int ASTOP=6;
public static final int CHAR=7;
public static final int COLON=8;
public static final int COMMA=9;
public static final int COMMENT=10;
public static final int END=11;
public static final int ENUM=12;
public static final int EQUAL=13;
public static final int ESC_SEQ=14;
public static final int EXCEPTION=15;
public static final int EXPONENT=16;
public static final int FLOAT=17;
public static final int HEX=18;
public static final int HEX_DIGIT=19;
public static final int ID=20;
public static final int INCLUDE=21;
public static final int INT=22;
public static final int INTERFACE=23;
public static final int LIB=24;
public static final int MAP=25;
public static final int MINUS=26;
public static final int OCTAL_ESC=27;
public static final int PCLOSE=28;
public static final int POPEN=29;
public static final int PROJECT=30;
public static final int REQUIRED=31;
public static final int SEMICOLON=32;
public static final int SERVICE=33;
public static final int START=34;
public static final int STRING=35;
public static final int THROWS=36;
public static final int TYPE=37;
public static final int UNICODE_ESC=38;
public static final int WS=39;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public apiParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public apiParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return apiParser.tokenNames; }
@Override public String getGrammarFileName() { return "api.g"; }
// $ANTLR start "start"
// api.g:14:1: start[Project project] : header[project] ( statment[ project ] )* ;
public final void start(Project project) throws RecognitionException {
try {
// api.g:15:2: ( header[project] ( statment[ project ] )* )
// api.g:15:4: header[project] ( statment[ project ] )*
{
pushFollow(FOLLOW_header_in_start36);
header(project);
state._fsp--;
// api.g:15:21: ( statment[ project ] )*
loop1:
while (true) {
int alt1=2;
int LA1_0 = input.LA(1);
if ( ((LA1_0 >= ARRAY && LA1_0 <= ASTART)||LA1_0==ENUM||LA1_0==EXCEPTION||LA1_0==ID||LA1_0==INTERFACE||LA1_0==MAP||(LA1_0 >= PROJECT && LA1_0 <= REQUIRED)||LA1_0==SERVICE||LA1_0==TYPE) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// api.g:15:23: statment[ project ]
{
pushFollow(FOLLOW_statment_in_start42);
statment(project);
state._fsp--;
}
break;
default :
break loop1;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "start"
// $ANTLR start "header"
// api.g:18:1: header[Project project] : include module[project] ;
public final void header(Project project) throws RecognitionException {
try {
// api.g:19:2: ( include module[project] )
// api.g:19:4: include module[project]
{
pushFollow(FOLLOW_include_in_header60);
include();
state._fsp--;
pushFollow(FOLLOW_module_in_header66);
module(project);
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "header"
// $ANTLR start "include"
// api.g:23:1: include : ( INCLUDE STRING )* ;
public final void include() throws RecognitionException {
try {
// api.g:24:2: ( ( INCLUDE STRING )* )
// api.g:24:4: ( INCLUDE STRING )*
{
// api.g:24:4: ( INCLUDE STRING )*
loop2:
while (true) {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==INCLUDE) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// api.g:24:6: INCLUDE STRING
{
match(input,INCLUDE,FOLLOW_INCLUDE_in_include83);
match(input,STRING,FOLLOW_STRING_in_include85);
}
break;
default :
break loop2;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "include"
// $ANTLR start "module"
// api.g:27:1: module[Project project] : ( attributes[attrList] PROJECT ID SEMICOLON | LIB ID SEMICOLON );
public final void module(Project project) throws RecognitionException {
Token ID1=null;
Token ID2=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:30:3: ( attributes[attrList] PROJECT ID SEMICOLON | LIB ID SEMICOLON )
int alt3=2;
int LA3_0 = input.LA(1);
if ( ((LA3_0 >= ARRAY && LA3_0 <= ASTART)||LA3_0==ENUM||LA3_0==EXCEPTION||LA3_0==ID||LA3_0==INTERFACE||LA3_0==MAP||(LA3_0 >= PROJECT && LA3_0 <= REQUIRED)||LA3_0==SERVICE||LA3_0==TYPE) ) {
alt3=1;
}
else if ( (LA3_0==LIB) ) {
alt3=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// api.g:30:5: attributes[attrList] PROJECT ID SEMICOLON
{
pushFollow(FOLLOW_attributes_in_module107);
attributes(attrList);
state._fsp--;
match(input,PROJECT,FOLLOW_PROJECT_in_module111);
ID1=(Token)match(input,ID,FOLLOW_ID_in_module113);
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_module115);
project.createModule( (ID1!=null?ID1.getText():null), ModuleType.PROJECT, attrList, new Context( ID1 ) );
}
break;
case 2 :
// api.g:31:4: LIB ID SEMICOLON
{
match(input,LIB,FOLLOW_LIB_in_module122);
ID2=(Token)match(input,ID,FOLLOW_ID_in_module124);
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_module126);
project.createModule( (ID2!=null?ID2.getText():null), ModuleType.LIB, null, new Context( ID2 ) );
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "module"
// $ANTLR start "statment"
// api.g:34:1: statment[Project project] : ( enum_statment[project] | type_statment[project] | interface_statment[project] | exception_statment[project] | service_statment[project] );
public final void statment(Project project) throws RecognitionException {
try {
// api.g:35:2: ( enum_statment[project] | type_statment[project] | interface_statment[project] | exception_statment[project] | service_statment[project] )
int alt4=5;
alt4 = dfa4.predict(input);
switch (alt4) {
case 1 :
// api.g:35:4: enum_statment[project]
{
pushFollow(FOLLOW_enum_statment_in_statment142);
enum_statment(project);
state._fsp--;
}
break;
case 2 :
// api.g:36:4: type_statment[project]
{
pushFollow(FOLLOW_type_statment_in_statment149);
type_statment(project);
state._fsp--;
}
break;
case 3 :
// api.g:37:4: interface_statment[project]
{
pushFollow(FOLLOW_interface_statment_in_statment156);
interface_statment(project);
state._fsp--;
}
break;
case 4 :
// api.g:38:4: exception_statment[project]
{
pushFollow(FOLLOW_exception_statment_in_statment163);
exception_statment(project);
state._fsp--;
}
break;
case 5 :
// api.g:39:4: service_statment[project]
{
pushFollow(FOLLOW_service_statment_in_statment170);
service_statment(project);
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "statment"
// $ANTLR start "service_statment"
// api.g:42:1: service_statment[Project project] : attributes[attrList] SERVICE ID interface_inh[service] SEMICOLON ;
public final void service_statment(Project project) throws RecognitionException {
Token ID3=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:46:2: ( attributes[attrList] SERVICE ID interface_inh[service] SEMICOLON )
// api.g:46:4: attributes[attrList] SERVICE ID interface_inh[service] SEMICOLON
{
pushFollow(FOLLOW_attributes_in_service_statment190);
attributes(attrList);
state._fsp--;
match(input,SERVICE,FOLLOW_SERVICE_in_service_statment194);
ID3=(Token)match(input,ID,FOLLOW_ID_in_service_statment199);
Service service = project.createService( (ID3!=null?ID3.getText():null), attrList, new Context( ID3 ) );
pushFollow(FOLLOW_interface_inh_in_service_statment206);
interface_inh(service);
state._fsp--;
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_service_statment213);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "service_statment"
// $ANTLR start "interface_statment"
// api.g:52:1: interface_statment[Project project] : attributes[attrList] INTERFACE ID interface_inh[interf] START ( function[interf] )* END ;
public final void interface_statment(Project project) throws RecognitionException {
Token ID4=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:56:2: ( attributes[attrList] INTERFACE ID interface_inh[interf] START ( function[interf] )* END )
// api.g:56:4: attributes[attrList] INTERFACE ID interface_inh[interf] START ( function[interf] )* END
{
pushFollow(FOLLOW_attributes_in_interface_statment234);
attributes(attrList);
state._fsp--;
match(input,INTERFACE,FOLLOW_INTERFACE_in_interface_statment238);
ID4=(Token)match(input,ID,FOLLOW_ID_in_interface_statment243);
Interface interf = project.createInterface( (ID4!=null?ID4.getText():null), attrList, new Context( ID4 ) );
pushFollow(FOLLOW_interface_inh_in_interface_statment250);
interface_inh(interf);
state._fsp--;
match(input,START,FOLLOW_START_in_interface_statment257);
// api.g:60:4: ( function[interf] )*
loop5:
while (true) {
int alt5=2;
int LA5_0 = input.LA(1);
if ( ((LA5_0 >= ARRAY && LA5_0 <= ASTART)||LA5_0==ENUM||LA5_0==EXCEPTION||LA5_0==ID||LA5_0==INTERFACE||LA5_0==MAP||(LA5_0 >= PROJECT && LA5_0 <= REQUIRED)||LA5_0==SERVICE||LA5_0==TYPE) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// api.g:60:6: function[interf]
{
pushFollow(FOLLOW_function_in_interface_statment264);
function(interf);
state._fsp--;
}
break;
default :
break loop5;
}
}
match(input,END,FOLLOW_END_in_interface_statment276);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "interface_statment"
// $ANTLR start "interface_inh"
// api.g:64:1: interface_inh[Interface interf] : (| COLON ID interface_inh_end[interf] );
public final void interface_inh(Interface interf) throws RecognitionException {
Token ID5=null;
try {
// api.g:65:2: (| COLON ID interface_inh_end[interf] )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==SEMICOLON||LA6_0==START) ) {
alt6=1;
}
else if ( (LA6_0==COLON) ) {
alt6=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// api.g:66:2:
{
}
break;
case 2 :
// api.g:66:4: COLON ID interface_inh_end[interf]
{
match(input,COLON,FOLLOW_COLON_in_interface_inh293);
ID5=(Token)match(input,ID,FOLLOW_ID_in_interface_inh295);
interf.addBaseInterface( (ID5!=null?ID5.getText():null));
pushFollow(FOLLOW_interface_inh_end_in_interface_inh299);
interface_inh_end(interf);
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "interface_inh"
// $ANTLR start "interface_inh_end"
// api.g:69:1: interface_inh_end[Interface interf] : ( COMMA ID )* ;
public final void interface_inh_end(Interface interf) throws RecognitionException {
Token ID6=null;
try {
// api.g:70:2: ( ( COMMA ID )* )
// api.g:70:4: ( COMMA ID )*
{
// api.g:70:4: ( COMMA ID )*
loop7:
while (true) {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==COMMA) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// api.g:70:6: COMMA ID
{
match(input,COMMA,FOLLOW_COMMA_in_interface_inh_end317);
ID6=(Token)match(input,ID,FOLLOW_ID_in_interface_inh_end319);
interf.addBaseInterface( (ID6!=null?ID6.getText():null));
}
break;
default :
break loop7;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "interface_inh_end"
// $ANTLR start "function"
// api.g:73:1: function[Interface interf] : attributes[attrList] function_ret[returnType,interf] ID function_end[fun] ;
public final void function(Interface interf) throws RecognitionException {
Token ID7=null;
AttributeList attrList = interf.createAttributeList();
ReturnValue returnType = new ReturnValue();
try {
// api.g:78:2: ( attributes[attrList] function_ret[returnType,interf] ID function_end[fun] )
// api.g:78:4: attributes[attrList] function_ret[returnType,interf] ID function_end[fun]
{
pushFollow(FOLLOW_attributes_in_function345);
attributes(attrList);
state._fsp--;
pushFollow(FOLLOW_function_ret_in_function349);
function_ret(returnType, interf);
state._fsp--;
ID7=(Token)match(input,ID,FOLLOW_ID_in_function357);
Function fun = interf.createFunction( (ID7!=null?ID7.getText():null), returnType.get(), attrList, new Context( ID7 ) );
pushFollow(FOLLOW_function_end_in_function365);
function_end(fun);
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function"
// $ANTLR start "function_end"
// api.g:83:1: function_end[Function fun] : ( POPEN function_args[fun] PCLOSE function_throws[fun] SEMICOLON | POPEN PCLOSE function_throws[fun] SEMICOLON );
public final void function_end(Function fun) throws RecognitionException {
try {
// api.g:84:2: ( POPEN function_args[fun] PCLOSE function_throws[fun] SEMICOLON | POPEN PCLOSE function_throws[fun] SEMICOLON )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==POPEN) ) {
int LA8_1 = input.LA(2);
if ( (LA8_1==PCLOSE) ) {
alt8=2;
}
else if ( ((LA8_1 >= ARRAY && LA8_1 <= ASTART)||LA8_1==ID||LA8_1==MAP||LA8_1==REQUIRED) ) {
alt8=1;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 8, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// api.g:84:4: POPEN function_args[fun] PCLOSE function_throws[fun] SEMICOLON
{
match(input,POPEN,FOLLOW_POPEN_in_function_end381);
pushFollow(FOLLOW_function_args_in_function_end383);
function_args(fun);
state._fsp--;
match(input,PCLOSE,FOLLOW_PCLOSE_in_function_end387);
pushFollow(FOLLOW_function_throws_in_function_end389);
function_throws(fun);
state._fsp--;
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_function_end393);
}
break;
case 2 :
// api.g:85:4: POPEN PCLOSE function_throws[fun] SEMICOLON
{
match(input,POPEN,FOLLOW_POPEN_in_function_end398);
match(input,PCLOSE,FOLLOW_PCLOSE_in_function_end400);
pushFollow(FOLLOW_function_throws_in_function_end402);
function_throws(fun);
state._fsp--;
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_function_end406);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_end"
// $ANTLR start "function_throws"
// api.g:88:1: function_throws[Function fun] : (| THROWS ID ( function_throws_more[fun] )* );
public final void function_throws(Function fun) throws RecognitionException {
Token ID8=null;
try {
// api.g:89:2: (| THROWS ID ( function_throws_more[fun] )* )
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==SEMICOLON) ) {
alt10=1;
}
else if ( (LA10_0==THROWS) ) {
alt10=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 10, 0, input);
throw nvae;
}
switch (alt10) {
case 1 :
// api.g:90:2:
{
}
break;
case 2 :
// api.g:90:4: THROWS ID ( function_throws_more[fun] )*
{
match(input,THROWS,FOLLOW_THROWS_in_function_throws422);
ID8=(Token)match(input,ID,FOLLOW_ID_in_function_throws424);
fun.addThrowsException( (ID8!=null?ID8.getText():null) );
// api.g:91:4: ( function_throws_more[fun] )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==COMMA) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// api.g:91:6: function_throws_more[fun]
{
pushFollow(FOLLOW_function_throws_more_in_function_throws433);
function_throws_more(fun);
state._fsp--;
}
break;
default :
break loop9;
}
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_throws"
// $ANTLR start "function_throws_more"
// api.g:94:1: function_throws_more[Function fun] : COMMA ID ;
public final void function_throws_more(Function fun) throws RecognitionException {
Token ID9=null;
try {
// api.g:95:2: ( COMMA ID )
// api.g:95:4: COMMA ID
{
match(input,COMMA,FOLLOW_COMMA_in_function_throws_more451);
ID9=(Token)match(input,ID,FOLLOW_ID_in_function_throws_more453);
fun.addThrowsException( (ID9!=null?ID9.getText():null) );
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_throws_more"
// $ANTLR start "function_ret"
// api.g:99:1: function_ret[ReturnValue returnType,Interface interf] : ( ID | ARRAY ID | MAP ID );
public final void function_ret(ReturnValue returnType, Interface interf) throws RecognitionException {
Token ID10=null;
Token ID11=null;
Token ID12=null;
try {
// api.g:100:2: ( ID | ARRAY ID | MAP ID )
int alt11=3;
switch ( input.LA(1) ) {
case ID:
{
alt11=1;
}
break;
case ARRAY:
{
alt11=2;
}
break;
case MAP:
{
alt11=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// api.g:100:4: ID
{
ID10=(Token)match(input,ID,FOLLOW_ID_in_function_ret471);
returnType.set( interf.getProject().createFunctionReturn( (ID10!=null?ID10.getText():null), false, false, new Context( ID10 ) ) );
}
break;
case 2 :
// api.g:101:4: ARRAY ID
{
match(input,ARRAY,FOLLOW_ARRAY_in_function_ret478);
ID11=(Token)match(input,ID,FOLLOW_ID_in_function_ret480);
returnType.set( interf.getProject().createFunctionReturn( (ID11!=null?ID11.getText():null), true, false, new Context( ID11 ) ) );
}
break;
case 3 :
// api.g:102:4: MAP ID
{
match(input,MAP,FOLLOW_MAP_in_function_ret487);
ID12=(Token)match(input,ID,FOLLOW_ID_in_function_ret489);
returnType.set( interf.getProject().createFunctionReturn( (ID12!=null?ID12.getText():null), false, true, new Context( ID12 ) ) );
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_ret"
// $ANTLR start "function_args"
// api.g:105:1: function_args[Function fun] : function_arg[fun] ( COMMA function_arg[fun] )* ;
public final void function_args(Function fun) throws RecognitionException {
try {
// api.g:106:2: ( function_arg[fun] ( COMMA function_arg[fun] )* )
// api.g:106:4: function_arg[fun] ( COMMA function_arg[fun] )*
{
pushFollow(FOLLOW_function_arg_in_function_args507);
function_arg(fun);
state._fsp--;
// api.g:106:23: ( COMMA function_arg[fun] )*
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==COMMA) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// api.g:106:25: COMMA function_arg[fun]
{
match(input,COMMA,FOLLOW_COMMA_in_function_args513);
pushFollow(FOLLOW_function_arg_in_function_args515);
function_arg(fun);
state._fsp--;
}
break;
default :
break loop12;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_args"
// $ANTLR start "function_arg"
// api.g:109:1: function_arg[Function fun] : ( attributes[attrList] ID function_arg_end[$ID.text, false, false, false, attrList, fun] | attributes[attrList] ARRAY ID function_arg_end[$ID.text, false, true, false, attrList, fun] | attributes[attrList] MAP ID function_arg_end[$ID.text, false, false, true, attrList, fun] | attributes[attrList] REQUIRED ID function_arg_end[$ID.text, true, false, false, attrList, fun] | attributes[attrList] REQUIRED ARRAY ID function_arg_end[$ID.text, true, true, false, attrList, fun] | attributes[attrList] REQUIRED MAP ID function_arg_end[$ID.text, true, false, true, attrList, fun] );
public final void function_arg(Function fun) throws RecognitionException {
Token ID13=null;
Token ID14=null;
Token ID15=null;
Token ID16=null;
Token ID17=null;
Token ID18=null;
AttributeList attrList = fun.createAttributeList();
try {
// api.g:113:2: ( attributes[attrList] ID function_arg_end[$ID.text, false, false, false, attrList, fun] | attributes[attrList] ARRAY ID function_arg_end[$ID.text, false, true, false, attrList, fun] | attributes[attrList] MAP ID function_arg_end[$ID.text, false, false, true, attrList, fun] | attributes[attrList] REQUIRED ID function_arg_end[$ID.text, true, false, false, attrList, fun] | attributes[attrList] REQUIRED ARRAY ID function_arg_end[$ID.text, true, true, false, attrList, fun] | attributes[attrList] REQUIRED MAP ID function_arg_end[$ID.text, true, false, true, attrList, fun] )
int alt13=6;
alt13 = dfa13.predict(input);
switch (alt13) {
case 1 :
// api.g:113:4: attributes[attrList] ID function_arg_end[$ID.text, false, false, false, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg542);
attributes(attrList);
state._fsp--;
ID13=(Token)match(input,ID,FOLLOW_ID_in_function_arg546);
pushFollow(FOLLOW_function_arg_end_in_function_arg548);
function_arg_end((ID13!=null?ID13.getText():null), false, false, false, attrList, fun);
state._fsp--;
}
break;
case 2 :
// api.g:114:4: attributes[attrList] ARRAY ID function_arg_end[$ID.text, false, true, false, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg556);
attributes(attrList);
state._fsp--;
match(input,ARRAY,FOLLOW_ARRAY_in_function_arg560);
ID14=(Token)match(input,ID,FOLLOW_ID_in_function_arg562);
pushFollow(FOLLOW_function_arg_end_in_function_arg564);
function_arg_end((ID14!=null?ID14.getText():null), false, true, false, attrList, fun);
state._fsp--;
}
break;
case 3 :
// api.g:115:4: attributes[attrList] MAP ID function_arg_end[$ID.text, false, false, true, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg571);
attributes(attrList);
state._fsp--;
match(input,MAP,FOLLOW_MAP_in_function_arg575);
ID15=(Token)match(input,ID,FOLLOW_ID_in_function_arg577);
pushFollow(FOLLOW_function_arg_end_in_function_arg579);
function_arg_end((ID15!=null?ID15.getText():null), false, false, true, attrList, fun);
state._fsp--;
}
break;
case 4 :
// api.g:116:4: attributes[attrList] REQUIRED ID function_arg_end[$ID.text, true, false, false, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg586);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_function_arg590);
ID16=(Token)match(input,ID,FOLLOW_ID_in_function_arg592);
pushFollow(FOLLOW_function_arg_end_in_function_arg594);
function_arg_end((ID16!=null?ID16.getText():null), true, false, false, attrList, fun);
state._fsp--;
}
break;
case 5 :
// api.g:117:4: attributes[attrList] REQUIRED ARRAY ID function_arg_end[$ID.text, true, true, false, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg601);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_function_arg605);
match(input,ARRAY,FOLLOW_ARRAY_in_function_arg607);
ID17=(Token)match(input,ID,FOLLOW_ID_in_function_arg609);
pushFollow(FOLLOW_function_arg_end_in_function_arg611);
function_arg_end((ID17!=null?ID17.getText():null), true, true, false, attrList, fun);
state._fsp--;
}
break;
case 6 :
// api.g:118:4: attributes[attrList] REQUIRED MAP ID function_arg_end[$ID.text, true, false, true, attrList, fun]
{
pushFollow(FOLLOW_attributes_in_function_arg618);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_function_arg622);
match(input,MAP,FOLLOW_MAP_in_function_arg624);
ID18=(Token)match(input,ID,FOLLOW_ID_in_function_arg626);
pushFollow(FOLLOW_function_arg_end_in_function_arg628);
function_arg_end((ID18!=null?ID18.getText():null), true, false, true, attrList, fun);
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_arg"
// $ANTLR start "function_arg_end"
// api.g:121:1: function_arg_end[String type, boolean isRequired, boolean isArray, boolean isMap, AttributeList attrList, Function fun] : ID ;
public final void function_arg_end(String type, boolean isRequired, boolean isArray, boolean isMap, AttributeList attrList, Function fun) throws RecognitionException {
Token ID19=null;
try {
// api.g:122:2: ( ID )
// api.g:122:4: ID
{
ID19=(Token)match(input,ID,FOLLOW_ID_in_function_arg_end643);
fun.createArgument( type, (ID19!=null?ID19.getText():null), isRequired, isArray, isMap, attrList, new Context( ID19 ) );
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "function_arg_end"
// $ANTLR start "exception_statment"
// api.g:125:1: exception_statment[Project project] : attributes[attrList] EXCEPTION ID type_end[type] ;
public final void exception_statment(Project project) throws RecognitionException {
Token ID20=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:129:2: ( attributes[attrList] EXCEPTION ID type_end[type] )
// api.g:129:4: attributes[attrList] EXCEPTION ID type_end[type]
{
pushFollow(FOLLOW_attributes_in_exception_statment662);
attributes(attrList);
state._fsp--;
match(input,EXCEPTION,FOLLOW_EXCEPTION_in_exception_statment666);
ID20=(Token)match(input,ID,FOLLOW_ID_in_exception_statment671);
TypeCommonComposite type = project.createException( (ID20!=null?ID20.getText():null), attrList, new Context( ID20 ) );
pushFollow(FOLLOW_type_end_in_exception_statment678);
type_end(type);
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "exception_statment"
// $ANTLR start "type_statment"
// api.g:134:1: type_statment[Project project] : attributes[attrList] TYPE ID type_end[type] ;
public final void type_statment(Project project) throws RecognitionException {
Token ID21=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:138:2: ( attributes[attrList] TYPE ID type_end[type] )
// api.g:138:4: attributes[attrList] TYPE ID type_end[type]
{
pushFollow(FOLLOW_attributes_in_type_statment701);
attributes(attrList);
state._fsp--;
match(input,TYPE,FOLLOW_TYPE_in_type_statment705);
ID21=(Token)match(input,ID,FOLLOW_ID_in_type_statment710);
TypeCommonComposite type = project.createCompositeType( (ID21!=null?ID21.getText():null), attrList, new Context( ID21 ) );
pushFollow(FOLLOW_type_end_in_type_statment717);
type_end(type);
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "type_statment"
// $ANTLR start "type_end"
// api.g:143:1: type_end[TypeCommonComposite type] : ( START ( type_item[type] )* END | COLON ID START ( type_item[type] )* END );
public final void type_end(TypeCommonComposite type) throws RecognitionException {
Token ID22=null;
try {
// api.g:144:2: ( START ( type_item[type] )* END | COLON ID START ( type_item[type] )* END )
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==START) ) {
alt16=1;
}
else if ( (LA16_0==COLON) ) {
alt16=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 16, 0, input);
throw nvae;
}
switch (alt16) {
case 1 :
// api.g:144:4: START ( type_item[type] )* END
{
match(input,START,FOLLOW_START_in_type_end732);
// api.g:144:10: ( type_item[type] )*
loop14:
while (true) {
int alt14=2;
int LA14_0 = input.LA(1);
if ( ((LA14_0 >= ARRAY && LA14_0 <= ASTART)||LA14_0==ENUM||LA14_0==EXCEPTION||LA14_0==ID||LA14_0==INTERFACE||LA14_0==MAP||(LA14_0 >= PROJECT && LA14_0 <= REQUIRED)||LA14_0==SERVICE||LA14_0==TYPE) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// api.g:144:12: type_item[type]
{
pushFollow(FOLLOW_type_item_in_type_end736);
type_item(type);
state._fsp--;
}
break;
default :
break loop14;
}
}
match(input,END,FOLLOW_END_in_type_end743);
}
break;
case 2 :
// api.g:145:4: COLON ID START ( type_item[type] )* END
{
match(input,COLON,FOLLOW_COLON_in_type_end748);
ID22=(Token)match(input,ID,FOLLOW_ID_in_type_end750);
match(input,START,FOLLOW_START_in_type_end752);
// api.g:145:19: ( type_item[type] )*
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( ((LA15_0 >= ARRAY && LA15_0 <= ASTART)||LA15_0==ENUM||LA15_0==EXCEPTION||LA15_0==ID||LA15_0==INTERFACE||LA15_0==MAP||(LA15_0 >= PROJECT && LA15_0 <= REQUIRED)||LA15_0==SERVICE||LA15_0==TYPE) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// api.g:145:21: type_item[type]
{
pushFollow(FOLLOW_type_item_in_type_end756);
type_item(type);
state._fsp--;
}
break;
default :
break loop15;
}
}
match(input,END,FOLLOW_END_in_type_end763);
type.setBaseTypeName( (ID22!=null?ID22.getText():null) );
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "type_end"
// $ANTLR start "type_item"
// api.g:148:1: type_item[TypeCommonComposite type] : ( attributes[attrList] ID type_value[$ID.text, false, false, false, type] | attributes[attrList] ARRAY ID type_value[$ID.text, false, true, false, type] | attributes[attrList] MAP ID type_value[$ID.text, false, false, true, type] | attributes[attrList] REQUIRED ID type_value[$ID.text, true, false, false, type] | attributes[attrList] REQUIRED ARRAY ID type_value[$ID.text, true, true, false, type] | attributes[attrList] REQUIRED MAP ID type_value[$ID.text, true, false, true, type] );
public final void type_item(TypeCommonComposite type) throws RecognitionException {
Token ID23=null;
Token ID24=null;
Token ID25=null;
Token ID26=null;
Token ID27=null;
Token ID28=null;
AttributeList attrList = type.createAttributeList();
try {
// api.g:152:2: ( attributes[attrList] ID type_value[$ID.text, false, false, false, type] | attributes[attrList] ARRAY ID type_value[$ID.text, false, true, false, type] | attributes[attrList] MAP ID type_value[$ID.text, false, false, true, type] | attributes[attrList] REQUIRED ID type_value[$ID.text, true, false, false, type] | attributes[attrList] REQUIRED ARRAY ID type_value[$ID.text, true, true, false, type] | attributes[attrList] REQUIRED MAP ID type_value[$ID.text, true, false, true, type] )
int alt17=6;
alt17 = dfa17.predict(input);
switch (alt17) {
case 1 :
// api.g:152:4: attributes[attrList] ID type_value[$ID.text, false, false, false, type]
{
pushFollow(FOLLOW_attributes_in_type_item785);
attributes(attrList);
state._fsp--;
ID23=(Token)match(input,ID,FOLLOW_ID_in_type_item789);
pushFollow(FOLLOW_type_value_in_type_item791);
type_value((ID23!=null?ID23.getText():null), false, false, false, type);
state._fsp--;
}
break;
case 2 :
// api.g:153:4: attributes[attrList] ARRAY ID type_value[$ID.text, false, true, false, type]
{
pushFollow(FOLLOW_attributes_in_type_item797);
attributes(attrList);
state._fsp--;
match(input,ARRAY,FOLLOW_ARRAY_in_type_item801);
ID24=(Token)match(input,ID,FOLLOW_ID_in_type_item803);
pushFollow(FOLLOW_type_value_in_type_item805);
type_value((ID24!=null?ID24.getText():null), false, true, false, type);
state._fsp--;
}
break;
case 3 :
// api.g:154:4: attributes[attrList] MAP ID type_value[$ID.text, false, false, true, type]
{
pushFollow(FOLLOW_attributes_in_type_item811);
attributes(attrList);
state._fsp--;
match(input,MAP,FOLLOW_MAP_in_type_item815);
ID25=(Token)match(input,ID,FOLLOW_ID_in_type_item817);
pushFollow(FOLLOW_type_value_in_type_item819);
type_value((ID25!=null?ID25.getText():null), false, false, true, type);
state._fsp--;
}
break;
case 4 :
// api.g:155:4: attributes[attrList] REQUIRED ID type_value[$ID.text, true, false, false, type]
{
pushFollow(FOLLOW_attributes_in_type_item825);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_type_item829);
ID26=(Token)match(input,ID,FOLLOW_ID_in_type_item831);
pushFollow(FOLLOW_type_value_in_type_item833);
type_value((ID26!=null?ID26.getText():null), true, false, false, type);
state._fsp--;
}
break;
case 5 :
// api.g:156:4: attributes[attrList] REQUIRED ARRAY ID type_value[$ID.text, true, true, false, type]
{
pushFollow(FOLLOW_attributes_in_type_item839);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_type_item843);
match(input,ARRAY,FOLLOW_ARRAY_in_type_item845);
ID27=(Token)match(input,ID,FOLLOW_ID_in_type_item847);
pushFollow(FOLLOW_type_value_in_type_item849);
type_value((ID27!=null?ID27.getText():null), true, true, false, type);
state._fsp--;
}
break;
case 6 :
// api.g:157:4: attributes[attrList] REQUIRED MAP ID type_value[$ID.text, true, false, true, type]
{
pushFollow(FOLLOW_attributes_in_type_item855);
attributes(attrList);
state._fsp--;
match(input,REQUIRED,FOLLOW_REQUIRED_in_type_item859);
match(input,MAP,FOLLOW_MAP_in_type_item861);
ID28=(Token)match(input,ID,FOLLOW_ID_in_type_item863);
pushFollow(FOLLOW_type_value_in_type_item865);
type_value((ID28!=null?ID28.getText():null), true, false, true, type);
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "type_item"
// $ANTLR start "type_value"
// api.g:160:1: type_value[String memberType, boolean isRequired, boolean isArray, boolean isMap, TypeCommonComposite type] : ID SEMICOLON ;
public final void type_value(String memberType, boolean isRequired, boolean isArray, boolean isMap, TypeCommonComposite type) throws RecognitionException {
Token ID29=null;
try {
// api.g:161:2: ( ID SEMICOLON )
// api.g:161:4: ID SEMICOLON
{
ID29=(Token)match(input,ID,FOLLOW_ID_in_type_value879);
match(input,SEMICOLON,FOLLOW_SEMICOLON_in_type_value881);
type.addMember( memberType, (ID29!=null?ID29.getText():null), isRequired, isArray, isMap, new Context( ID29 ) );
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "type_value"
// $ANTLR start "enum_statment"
// api.g:164:1: enum_statment[Project project] : attributes[attrList] ENUM ID START enum_values[type_enum] END ;
public final void enum_statment(Project project) throws RecognitionException {
Token ID30=null;
AttributeList attrList = project.createAttributeList();
try {
// api.g:168:2: ( attributes[attrList] ENUM ID START enum_values[type_enum] END )
// api.g:168:4: attributes[attrList] ENUM ID START enum_values[type_enum] END
{
pushFollow(FOLLOW_attributes_in_enum_statment904);
attributes(attrList);
state._fsp--;
match(input,ENUM,FOLLOW_ENUM_in_enum_statment911);
ID30=(Token)match(input,ID,FOLLOW_ID_in_enum_statment916);
TypeEnum type_enum = project.createEnum( (ID30!=null?ID30.getText():null), new Context( ID30 ) );
match(input,START,FOLLOW_START_in_enum_statment923);
pushFollow(FOLLOW_enum_values_in_enum_statment928);
enum_values(type_enum);
state._fsp--;
match(input,END,FOLLOW_END_in_enum_statment935);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "enum_statment"
// $ANTLR start "enum_value"
// api.g:179:1: enum_value[TypeEnum type_enum] : ( attributes[attrList] ID EQUAL number_value | attributes[attrList] ID EQUAL STRING );
public final void enum_value(TypeEnum type_enum) throws RecognitionException {
Token ID31=null;
Token ID33=null;
Token STRING34=null;
ParserRuleReturnScope number_value32 =null;
AttributeList attrList = type_enum.createAttributeList();
try {
// api.g:183:2: ( attributes[attrList] ID EQUAL number_value | attributes[attrList] ID EQUAL STRING )
int alt18=2;
alt18 = dfa18.predict(input);
switch (alt18) {
case 1 :
// api.g:183:4: attributes[attrList] ID EQUAL number_value
{
pushFollow(FOLLOW_attributes_in_enum_value956);
attributes(attrList);
state._fsp--;
ID31=(Token)match(input,ID,FOLLOW_ID_in_enum_value960);
match(input,EQUAL,FOLLOW_EQUAL_in_enum_value962);
pushFollow(FOLLOW_number_value_in_enum_value964);
number_value32=number_value();
state._fsp--;
type_enum.createValue( (ID31!=null?ID31.getText():null), ParseUtils.parseNumber( (number_value32!=null?input.toString(number_value32.start,number_value32.stop):null) ), attrList, new Context( ID31 ) );
}
break;
case 2 :
// api.g:184:4: attributes[attrList] ID EQUAL STRING
{
pushFollow(FOLLOW_attributes_in_enum_value971);
attributes(attrList);
state._fsp--;
ID33=(Token)match(input,ID,FOLLOW_ID_in_enum_value975);
match(input,EQUAL,FOLLOW_EQUAL_in_enum_value977);
STRING34=(Token)match(input,STRING,FOLLOW_STRING_in_enum_value979);
type_enum.createValue( (ID33!=null?ID33.getText():null), ParseUtils.parseString( (STRING34!=null?STRING34.getText():null) ), attrList, new Context( ID33 ) );
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "enum_value"
// $ANTLR start "enum_values"
// api.g:187:1: enum_values[TypeEnum type_enum] : enum_value[type_enum] ( COMMA enum_value[type_enum] )* ;
public final void enum_values(TypeEnum type_enum) throws RecognitionException {
try {
// api.g:188:2: ( enum_value[type_enum] ( COMMA enum_value[type_enum] )* )
// api.g:188:4: enum_value[type_enum] ( COMMA enum_value[type_enum] )*
{
pushFollow(FOLLOW_enum_value_in_enum_values995);
enum_value(type_enum);
state._fsp--;
// api.g:189:3: ( COMMA enum_value[type_enum] )*
loop19:
while (true) {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==COMMA) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// api.g:189:5: COMMA enum_value[type_enum]
{
match(input,COMMA,FOLLOW_COMMA_in_enum_values1002);
pushFollow(FOLLOW_enum_value_in_enum_values1004);
enum_value(type_enum);
state._fsp--;
}
break;
default :
break loop19;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "enum_values"
// $ANTLR start "attribute"
// api.g:192:1: attribute[AttributeList attrList] : ASTART ID EQUAL STRING ASTOP ;
public final void attribute(AttributeList attrList) throws RecognitionException {
Token ID35=null;
Token STRING36=null;
try {
// api.g:193:2: ( ASTART ID EQUAL STRING ASTOP )
// api.g:193:4: ASTART ID EQUAL STRING ASTOP
{
match(input,ASTART,FOLLOW_ASTART_in_attribute1023);
ID35=(Token)match(input,ID,FOLLOW_ID_in_attribute1025);
match(input,EQUAL,FOLLOW_EQUAL_in_attribute1027);
STRING36=(Token)match(input,STRING,FOLLOW_STRING_in_attribute1029);
match(input,ASTOP,FOLLOW_ASTOP_in_attribute1031);
attrList.createAttribute( (ID35!=null?ID35.getText():null), ParseUtils.parseString( (STRING36!=null?STRING36.getText():null) ), new Context( ID35 ) );
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attribute"
// $ANTLR start "attributes"
// api.g:196:1: attributes[AttributeList attrList] : ( attribute[attrList] )* ;
public final void attributes(AttributeList attrList) throws RecognitionException {
try {
// api.g:197:2: ( ( attribute[attrList] )* )
// api.g:197:4: ( attribute[attrList] )*
{
// api.g:197:4: ( attribute[attrList] )*
loop20:
while (true) {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==ASTART) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// api.g:197:5: attribute[attrList]
{
pushFollow(FOLLOW_attribute_in_attributes1048);
attribute(attrList);
state._fsp--;
}
break;
default :
break loop20;
}
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attributes"
public static class number_value_return extends ParserRuleReturnScope {
};
// $ANTLR start "number_value"
// api.g:201:1: number_value : ( INT | HEX );
public final apiParser.number_value_return number_value() throws RecognitionException {
apiParser.number_value_return retval = new apiParser.number_value_return();
retval.start = input.LT(1);
try {
// api.g:202:2: ( INT | HEX )
// api.g:
{
if ( input.LA(1)==HEX||input.LA(1)==INT ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "number_value"
// Delegated rules
protected DFA4 dfa4 = new DFA4(this);
protected DFA13 dfa13 = new DFA13(this);
protected DFA17 dfa17 = new DFA17(this);
protected DFA18 dfa18 = new DFA18(this);
static final String DFA4_eotS =
"\13\uffff";
static final String DFA4_eofS =
"\13\uffff";
static final String DFA4_minS =
"\1\5\1\24\5\uffff\1\15\1\43\1\6\1\5";
static final String DFA4_maxS =
"\1\45\1\24\5\uffff\1\15\1\43\1\6\1\45";
static final String DFA4_acceptS =
"\2\uffff\1\1\1\2\1\3\1\4\1\5\4\uffff";
static final String DFA4_specialS =
"\13\uffff}>";
static final String[] DFA4_transitionS = {
"\1\1\6\uffff\1\2\2\uffff\1\5\7\uffff\1\4\11\uffff\1\6\3\uffff\1\3",
"\1\7",
"",
"",
"",
"",
"",
"\1\10",
"\1\11",
"\1\12",
"\1\1\6\uffff\1\2\2\uffff\1\5\7\uffff\1\4\11\uffff\1\6\3\uffff\1\3"
};
static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS);
static final short[] DFA4_eof = DFA.unpackEncodedString(DFA4_eofS);
static final char[] DFA4_min = DFA.unpackEncodedStringToUnsignedChars(DFA4_minS);
static final char[] DFA4_max = DFA.unpackEncodedStringToUnsignedChars(DFA4_maxS);
static final short[] DFA4_accept = DFA.unpackEncodedString(DFA4_acceptS);
static final short[] DFA4_special = DFA.unpackEncodedString(DFA4_specialS);
static final short[][] DFA4_transition;
static {
int numStates = DFA4_transitionS.length;
DFA4_transition = new short[numStates][];
for (int i=0; i