atn.defineDecisionState(bypassStart);
public void defineMode(@NotNull String name, @NotNull TokensStartState s) { modeNameToStartState.put(name, s); modeToStartState.add(s); modeToDFA = Arrays.copyOf(modeToDFA, modeToStartState.size()); modeToDFA[modeToDFA.length - 1] = new DFA(s); defineDecisionState(s); }
if ( alts.size()>1 ) atn.defineDecisionState(start); return makeBlock(start, blkAST, alts); case ANTLRParser.OPTIONAL : BlockStartState start = newState(BasicBlockStartState.class, blkAST); atn.defineDecisionState(start); Handle h = makeBlock(start, blkAST, alts); return optional(ebnfRoot, h); case ANTLRParser.CLOSURE : BlockStartState star = newState(StarBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(star); h = makeBlock(star, blkAST, alts); return star(ebnfRoot, h); case ANTLRParser.POSITIVE_CLOSURE : PlusBlockStartState plus = newState(PlusBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(plus); h = makeBlock(plus, blkAST, alts); return plus(ebnfRoot, h);
if ( alts.size()>1 ) atn.defineDecisionState(start); return makeBlock(start, blkAST, alts); case ANTLRParser.OPTIONAL : BlockStartState start = newState(BasicBlockStartState.class, blkAST); atn.defineDecisionState(start); Handle h = makeBlock(start, blkAST, alts); return optional(ebnfRoot, h); case ANTLRParser.CLOSURE : BlockStartState star = newState(StarBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(star); h = makeBlock(star, blkAST, alts); return star(ebnfRoot, h); case ANTLRParser.POSITIVE_CLOSURE : PlusBlockStartState plus = newState(PlusBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(plus); h = makeBlock(plus, blkAST, alts); return plus(ebnfRoot, h);
if ( alts.size()>1 ) atn.defineDecisionState(start); return makeBlock(start, blkAST, alts); case ANTLRParser.OPTIONAL : BlockStartState start = newState(BasicBlockStartState.class, blkAST); atn.defineDecisionState(start); Handle h = makeBlock(start, blkAST, alts); return optional(ebnfRoot, h); case ANTLRParser.CLOSURE : BlockStartState star = newState(StarBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(star); h = makeBlock(star, blkAST, alts); return star(ebnfRoot, h); case ANTLRParser.POSITIVE_CLOSURE : PlusBlockStartState plus = newState(PlusBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(plus); h = makeBlock(plus, blkAST, alts); return plus(ebnfRoot, h);
if ( alts.size()>1 ) atn.defineDecisionState(start); return makeBlock(start, blkAST, alts); case ANTLRParser.OPTIONAL : BlockStartState start = newState(BasicBlockStartState.class, blkAST); atn.defineDecisionState(start); Handle h = makeBlock(start, blkAST, alts); return optional(ebnfRoot, h); case ANTLRParser.CLOSURE : BlockStartState star = newState(StarBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(star); h = makeBlock(star, blkAST, alts); return star(ebnfRoot, h); case ANTLRParser.POSITIVE_CLOSURE : PlusBlockStartState plus = newState(PlusBlockStartState.class, ebnfRoot); if ( alts.size()>1 ) atn.defineDecisionState(plus); h = makeBlock(plus, blkAST, alts); return plus(ebnfRoot, h);
atn.modeNameToStartState.put(modeName, startState); atn.modeToStartState.add(startState); atn.defineDecisionState(startState);
atn.modeNameToStartState.put(modeName, startState); atn.modeToStartState.add(startState); atn.defineDecisionState(startState);
atn.modeNameToStartState.put(modeName, startState); atn.modeToStartState.add(startState); atn.defineDecisionState(startState);
atn.modeNameToStartState.put(modeName, startState); atn.modeToStartState.add(startState); atn.defineDecisionState(startState);
atn.defineDecisionState(loop); LoopEndState end = newState(LoopEndState.class, plusAST); blkStart.loopBackState = loop;
atn.defineDecisionState(loop); LoopEndState end = newState(LoopEndState.class, plusAST); blkStart.loopBackState = loop;
atn.defineDecisionState(loop); LoopEndState end = newState(LoopEndState.class, plusAST); blkStart.loopBackState = loop;
atn.defineDecisionState(loop); LoopEndState end = newState(LoopEndState.class, plusAST); blkStart.loopBackState = loop;
atn.defineDecisionState(entry); LoopEndState end = newState(LoopEndState.class, starAST); StarLoopbackState loop = newState(StarLoopbackState.class, starAST);
atn.defineDecisionState(entry); LoopEndState end = newState(LoopEndState.class, starAST); StarLoopbackState loop = newState(StarLoopbackState.class, starAST);
atn.defineDecisionState(entry); LoopEndState end = newState(LoopEndState.class, starAST); StarLoopbackState loop = newState(StarLoopbackState.class, starAST);
atn.defineDecisionState(entry); LoopEndState end = newState(LoopEndState.class, starAST); StarLoopbackState loop = newState(StarLoopbackState.class, starAST);
loop.nonGreedy = !((QuantifierAST)plusAST).isGreedy(); loop.sll = false; // no way to express SLL restriction atn.defineDecisionState(loop); LoopEndState end = newState(LoopEndState.class, plusAST); blkStart.loopBackState = loop;
entry.nonGreedy = !((QuantifierAST)starAST).isGreedy(); entry.sll = false; // no way to express SLL restriction atn.defineDecisionState(entry); LoopEndState end = newState(LoopEndState.class, starAST); StarLoopbackState loop = newState(StarLoopbackState.class, starAST);