activeStates.add(new ParsingState(transition.target, tokenIndex, new CallerContext(caller, ((RuleTransition) transition).followState))); else if (transition.isEpsilon()) { activeStates.add(new ParsingState(transition.target, tokenIndex, caller));
public void addTransition(int index, Transition e) { if (transitions.isEmpty()) { epsilonOnlyTransitions = e.isEpsilon(); } else if (epsilonOnlyTransitions != e.isEpsilon()) { System.err.format(Locale.getDefault(), "ATN state %d has both epsilon and non-epsilon transitions.\n", stateNumber); epsilonOnlyTransitions = false; } boolean alreadyPresent = false; for (Transition t : transitions) { if ( t.target.stateNumber == e.target.stateNumber ) { if ( t.label()!=null && e.label()!=null && t.label().equals(e.label()) ) { // System.err.println("Repeated transition upon "+e.label()+" from "+stateNumber+"->"+t.target.stateNumber); alreadyPresent = true; break; } else if ( t.isEpsilon() && e.isEpsilon() ) { // System.err.println("Repeated epsilon transition from "+stateNumber+"->"+t.target.stateNumber); alreadyPresent = true; break; } } } if ( !alreadyPresent ) { transitions.add(index, e); } }
if (!t.isEpsilon() && !closureBusy.add(c)) {
else if ( t.isEpsilon() ) { _LOOK(t.target, stopState, ctx, look, lookBusy, calledRuleStack, seeThruPreds, addEOF);
public void addTransition(int index, Transition e) { if (transitions.isEmpty()) { epsilonOnlyTransitions = e.isEpsilon(); } else if (epsilonOnlyTransitions != e.isEpsilon()) { System.err.format(Locale.getDefault(), "ATN state %d has both epsilon and non-epsilon transitions.\n", stateNumber); epsilonOnlyTransitions = false; } transitions.add(index, e); }
public void addTransition(int index, Transition e) { if (transitions.isEmpty()) { epsilonOnlyTransitions = e.isEpsilon(); } else if (epsilonOnlyTransitions != e.isEpsilon()) { System.err.format(Locale.getDefault(), "ATN state %d has both epsilon and non-epsilon transitions.\n", stateNumber); epsilonOnlyTransitions = false; } transitions.add(index, e); }
public void addTransition(int index, Transition e) { if (transitions.isEmpty()) { epsilonOnlyTransitions = e.isEpsilon(); } else if (epsilonOnlyTransitions != e.isEpsilon()) { System.err.format(Locale.getDefault(), "ATN state %d has both epsilon and non-epsilon transitions.\n", stateNumber); epsilonOnlyTransitions = false; } transitions.add(index, e); }
public void addTransition(int index, Transition e) { if (transitions.isEmpty()) { epsilonOnlyTransitions = e.isEpsilon(); } else if (epsilonOnlyTransitions != e.isEpsilon()) { System.err.format(Locale.getDefault(), "ATN state %d has both epsilon and non-epsilon transitions.\n", stateNumber); epsilonOnlyTransitions = false; } boolean alreadyPresent = false; for (Transition t : transitions) { if ( t.target.stateNumber == e.target.stateNumber ) { if ( t.label()!=null && e.label()!=null && t.label().equals(e.label()) ) { // System.err.println("Repeated transition upon "+e.label()+" from "+stateNumber+"->"+t.target.stateNumber); alreadyPresent = true; break; } else if ( t.isEpsilon() && e.isEpsilon() ) { // System.err.println("Repeated epsilon transition from "+stateNumber+"->"+t.target.stateNumber); alreadyPresent = true; break; } } } if ( !alreadyPresent ) { transitions.add(index, e); } }
else if ( t.isEpsilon() ) { stateReachesStopState |= check(enclosingRule, t.target, visitedStates);
else if ( t.isEpsilon() ) { stateReachesStopState |= check(enclosingRule, t.target, visitedStates);
else if ( t.isEpsilon() ) { stateReachesStopState |= check(enclosingRule, t.target, visitedStates);
else if ( t.isEpsilon() ) { stateReachesStopState |= check(enclosingRule, t.target, visitedStates);
else if ( t.isEpsilon() ) { stateReachesStopState |= check(enclosingRule, t.target, visitedStates);
activeStates.add(new ParsingState(transition.target, tokenIndex, new CallerContext(caller, ((RuleTransition) transition).followState))); else if (transition.isEpsilon()) { activeStates.add(new ParsingState(transition.target, tokenIndex, caller));
activeStates.add(new ParsingState(transition.target, tokenIndex, new CallerContext(caller, ((RuleTransition) transition).followState))); else if (transition.isEpsilon()) { activeStates.add(new ParsingState(transition.target, tokenIndex, caller));
activeStates.add(new ParsingState(transition.target, tokenIndex, new CallerContext(caller, ((RuleTransition) transition).followState))); else if (transition.isEpsilon()) { activeStates.add(new ParsingState(transition.target, tokenIndex, caller));
depth == 0, fullCtx, treatEofAsEpsilon); if ( c!=null ) { if (!t.isEpsilon() && !closureBusy.add(c)) {
depth == 0, fullCtx, treatEofAsEpsilon); if ( c!=null ) { if (!t.isEpsilon() && !closureBusy.add(c)) {
if (!t.isEpsilon() && !closureBusy.add(c)) {