📄 antlrparser.java
字号:
}
}
else {
break _loop108;
}
} while (true);
}
match(CLOSE_ELEMENT_OPTION);
}
public final void range(
Token label
) throws RecognitionException, TokenStreamException {
Token crLeft = null;
Token crRight = null;
Token t = null;
Token u = null;
Token v = null;
Token w = null;
Token trLeft=null;
Token trRight=null;
int autoGen=GrammarElement.AUTO_GEN_NONE;
switch ( LA(1)) {
case CHAR_LITERAL:
{
crLeft = LT(1);
match(CHAR_LITERAL);
match(RANGE);
crRight = LT(1);
match(CHAR_LITERAL);
{
switch ( LA(1)) {
case BANG:
{
match(BANG);
if ( inputState.guessing==0 ) {
autoGen = GrammarElement.AUTO_GEN_BANG;
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
behavior.refCharRange(crLeft, crRight, label, autoGen, lastInRule());
}
break;
}
case STRING_LITERAL:
case TOKEN_REF:
{
{
switch ( LA(1)) {
case TOKEN_REF:
{
t = LT(1);
match(TOKEN_REF);
if ( inputState.guessing==0 ) {
trLeft=t;
}
break;
}
case STRING_LITERAL:
{
u = LT(1);
match(STRING_LITERAL);
if ( inputState.guessing==0 ) {
trLeft=u;
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(RANGE);
{
switch ( LA(1)) {
case TOKEN_REF:
{
v = LT(1);
match(TOKEN_REF);
if ( inputState.guessing==0 ) {
trRight=v;
}
break;
}
case STRING_LITERAL:
{
w = LT(1);
match(STRING_LITERAL);
if ( inputState.guessing==0 ) {
trRight=w;
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
autoGen=ast_type_spec();
if ( inputState.guessing==0 ) {
behavior.refTokenRange(trLeft, trRight, label, autoGen, lastInRule());
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void terminal(
Token label
) throws RecognitionException, TokenStreamException {
Token cl = null;
Token tr = null;
Token aa = null;
Token sl = null;
Token wi = null;
int autoGen=GrammarElement.AUTO_GEN_NONE;
Token args=null;
switch ( LA(1)) {
case CHAR_LITERAL:
{
cl = LT(1);
match(CHAR_LITERAL);
{
switch ( LA(1)) {
case BANG:
{
match(BANG);
if ( inputState.guessing==0 ) {
autoGen = GrammarElement.AUTO_GEN_BANG;
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
behavior.refCharLiteral(cl, label, false, autoGen, lastInRule());
}
break;
}
case TOKEN_REF:
{
tr = LT(1);
match(TOKEN_REF);
autoGen=ast_type_spec();
{
switch ( LA(1)) {
case ARG_ACTION:
{
aa = LT(1);
match(ARG_ACTION);
if ( inputState.guessing==0 ) {
args=aa;
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
behavior.refToken(null, tr, label, args, false, autoGen, lastInRule());
}
break;
}
case STRING_LITERAL:
{
sl = LT(1);
match(STRING_LITERAL);
autoGen=ast_type_spec();
if ( inputState.guessing==0 ) {
behavior.refStringLiteral(sl, label, autoGen, lastInRule());
}
break;
}
case WILDCARD:
{
wi = LT(1);
match(WILDCARD);
autoGen=ast_type_spec();
if ( inputState.guessing==0 ) {
behavior.refWildcard(wi, label, autoGen);
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void notTerminal(
Token label
) throws RecognitionException, TokenStreamException {
Token cl = null;
Token tr = null;
int autoGen=GrammarElement.AUTO_GEN_NONE;
switch ( LA(1)) {
case CHAR_LITERAL:
{
cl = LT(1);
match(CHAR_LITERAL);
{
switch ( LA(1)) {
case BANG:
{
match(BANG);
if ( inputState.guessing==0 ) {
autoGen = GrammarElement.AUTO_GEN_BANG;
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
behavior.refCharLiteral(cl, label, true, autoGen, lastInRule());
}
break;
}
case TOKEN_REF:
{
tr = LT(1);
match(TOKEN_REF);
autoGen=ast_type_spec();
if ( inputState.guessing==0 ) {
behavior.refToken(null, tr, label, null, true, autoGen, lastInRule());
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void ebnf(
Token label, boolean not
) throws RecognitionException, TokenStreamException {
Token lp = null;
Token aa = null;
Token ab = null;
lp = LT(1);
match(LPAREN);
if ( inputState.guessing==0 ) {
behavior.beginSubRule(label, lp.getLine(), not);
}
{
if ((LA(1)==OPTIONS)) {
subruleOptionsSpec();
{
switch ( LA(1)) {
case ACTION:
{
aa = LT(1);
match(ACTION);
if ( inputState.guessing==0 ) {
behavior.refInitAction(aa);
}
break;
}
case COLON:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(COLON);
}
else if ((LA(1)==ACTION) && (LA(2)==COLON)) {
ab = LT(1);
match(ACTION);
if ( inputState.guessing==0 ) {
behavior.refInitAction(ab);
}
match(COLON);
}
else if ((_tokenSet_9.member(LA(1))) && (_tokenSet_10.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
block();
match(RPAREN);
{
switch ( LA(1)) {
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case BANG:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case QUESTION:
case STAR:
case PLUS:
case WILDCARD:
{
{
switch ( LA(1)) {
case QUESTION:
{
match(QUESTION);
if ( inputState.guessing==0 ) {
behavior.optionalSubRule();
}
break;
}
case STAR:
{
match(STAR);
if ( inputState.guessing==0 ) {
behavior.zeroOrMoreSubRule();;
}
break;
}
case PLUS:
{
match(PLUS);
if ( inputState.guessing==0 ) {
behavior.oneOrMoreSubRule();
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case BANG:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case BANG:
{
match(BANG);
if ( inputState.guessing==0 ) {
behavior.noASTSubRule();
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case IMPLIES:
{
match(IMPLIES);
if ( inputState.guessing==0 ) {
behavior.synPred();
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
if ( inputState.guessing==0 ) {
behavior.endSubRule();
}
}
public final void tree() throws RecognitionException, TokenStreamException {
Token lp = null;
lp = LT(1);
match(TREE_BEGIN);
if ( inputState.guessing==0 ) {
behavior.beginTree(lp.getLine());
}
rootNode();
if ( inputState.guessing==0 ) {
behavior.beginChildList();
}
{
int _cnt122=0;
_loop122:
do {
if ((_tokenSet_2.member(LA(1)))) {
element();
}
else {
if ( _cnt122>=1 ) { break _loop122; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt122++;
} while (true);
}
if ( inputState.guessing==0 ) {
behavior.endChildList();
}
match(RPAREN);
if ( inputState.guessing==0 ) {
behavior.endTree();
}
}
public final void rootNode() throws RecognitionException, TokenStreamException {
Token label = null;
{
if ((LA(1)==TOKEN_REF||LA(1)==RULE_REF) && (LA(2)==COLON)) {
label=id();
match(COLON);
if ( inputState.guessing==0 ) {
checkForMissingEndRule(label);
}
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_11.member(LA(2)))) {
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
terminal(label);
}
public final int ast_type_spec() throws RecognitionException, TokenStreamException {
int autoGen ;
autoGen = GrammarElement.AUTO_GEN_NONE;
{
switch ( LA(1)) {
case CARET:
{
match(CARET);
if ( inputState.guessing==0 ) {
autoGen = GrammarElement.AUTO_GEN_CARET;
}
break;
}
case BANG:
{
match(BANG);
if ( inputState.guessing==0 ) {
autoGen = GrammarElement.AUTO_GEN_BANG;
}
break;
}
case STRING_LITERAL:
case ACTION:
case SEMI:
case CHAR_LITERAL:
case OR:
case TOKEN_REF:
case OPEN_ELEMENT_OPTION:
case LPAREN:
case RULE_REF:
case RPAREN:
case ARG_ACTION:
case LITERAL_exception:
case NOT_OP:
case SEMPRED:
case TREE_BEGIN:
case WILDCARD:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
return autoGen ;
}
public static final String[] _tokenNames = {
"<0>",
"EOF",
"<2>",
"NULL_TREE_LOOKAHEAD",
"\"tokens\"",
"\"header\"",
"STRING_LITERAL",
"ACTION",
"DOC_COMMENT",
"\"lexclass\"",
"\"class\"",
"\"extends\"",
"\"Lexer\"",
"\"TreeParser\"",
"OPTIONS",
"ASSIGN",
"SEMI",
"RCURLY",
"\"charVocabulary\"",
"CHAR_LITERAL",
"INT",
"OR",
"RANGE",
"TOKENS",
"TOKEN_REF",
"OPEN_ELEMENT_OPTION",
"CLOSE_ELEMENT_OPTION",
"LPAREN",
"RULE_REF",
"RPAREN",
"\"Parser\"",
"\"protected\"",
"\"public\"",
"\"private\"",
"BANG",
"ARG_ACTION",
"\"returns\"",
"COLON",
"\"throws\"",
"COMMA",
"\"exception\"",
"\"catch\"",
"NOT_OP",
"SEMPRED",
"TREE_BEGIN",
"QUESTION",
"STAR",
"PLUS",
"IMPLIES",
"CARET",
"WILDCARD",
"\"options\"",
"WS",
"COMMENT",
"SL_COMMENT",
"ML_COMMENT",
"ESC",
"DIGIT",
"XDIGIT",
"VOCAB",
"NESTED_ARG_ACTION",
"NESTED_ACTION",
"WS_LOOP",
"INTERNAL_RULE_REF",
"WS_OPT",
"NOT_USEFUL"
};
private static final long _tokenSet_0_data_[] = { 15317598464L, 0L };
public static final BitSet _tokenSet_0 = new BitSet(_tokenSet_0_data_);
private static final long _tokenSet_1_data_[] = { 547893559424L, 0L };
public static final BitSet _tokenSet_1 = new BitSet(_tokenSet_1_data_);
private static final long _tokenSet_2_data_[] = { 1156686652375232L, 0L };
public static final BitSet _tokenSet_2 = new BitSet(_tokenSet_2_data_);
private static final long _tokenSet_3_data_[] = { 1157838276198592L, 0L };
public static final BitSet _tokenSet_3 = new BitSet(_tokenSet_3_data_);
private static final long _tokenSet_4_data_[] = { 1130298373308480L, 0L };
public static final BitSet _tokenSet_4 = new BitSet(_tokenSet_4_data_);
private static final long _tokenSet_5_data_[] = { 1720925672784064L, 0L };
public static final BitSet _tokenSet_5 = new BitSet(_tokenSet_5_data_);
private static final long _tokenSet_6_data_[] = { 1720788233830592L, 0L };
public static final BitSet _tokenSet_6 = new BitSet(_tokenSet_6_data_);
private static final long _tokenSet_7_data_[] = { 1125899924144192L, 0L };
public static final BitSet _tokenSet_7 = new BitSet(_tokenSet_7_data_);
private static final long _tokenSet_8_data_[] = { 1720788229619904L, 0L };
public static final BitSet _tokenSet_8 = new BitSet(_tokenSet_8_data_);
private static final long _tokenSet_9_data_[] = { 1157803882840256L, 0L };
public static final BitSet _tokenSet_9 = new BitSet(_tokenSet_9_data_);
private static final long _tokenSet_10_data_[] = { 2250890277404864L, 0L };
public static final BitSet _tokenSet_10 = new BitSet(_tokenSet_10_data_);
private static final long _tokenSet_11_data_[] = { 1719688145404096L, 0L };
public static final BitSet _tokenSet_11 = new BitSet(_tokenSet_11_data_);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -