public boolean hasOneOrMoreEpsilonTransitionOnly(NFAState state) { for(int t=0; t<state.getNumberOfTransitions(); t++) { Transition transition = state.transition(t); if(!transition.isEpsilon()) return false; } return state.getNumberOfTransitions()>0; }
public boolean hasMoreThanOneEpsilonTransitionOnly(NFAState state) { for(int t=0; t<state.getNumberOfTransitions(); t++) { Transition transition = state.transition(t); if(!transition.isEpsilon()) return false; } return state.getNumberOfTransitions()>1; }
public void recursiveAnalysis(NFAState state) { if(processedStates.contains(state)) return; processedStates.add(state); for(int t=0; t<state.getNumberOfTransitions(); t++) { Transition transition = state.transition(t); addIncomingTransitionToState((NFAState)transition.target); recursiveAnalysis((NFAState)transition.target); } }
public boolean hasOneEpsilonTransitionOnly(NFAState state) { return state.getNumberOfTransitions() == 1 && state.transition(0).isEpsilon(); }
public boolean isAlternativeTransitionEndingAtSameState(NFAState state) { NFAState endState = endStateOfAlternative((NFAState)state.transition(0).target); for(int t=1; t<state.getNumberOfTransitions(); t++) { Transition transition = state.transition(t); NFAState newEndState = endStateOfAlternative((NFAState)transition.target); if(!endState.equals(newEndState)) return false; } return true; }
if ( state.getNumberOfTransitions()==0 ) { if ( debug ) System.out.println("dangling state: "+state); return; continue; if ( state.getNumberOfTransitions()==1 ) {
if ( state.getNumberOfTransitions()==0 ) { if ( debug ) System.out.println("dangling state: "+state); return; continue; if ( state.getNumberOfTransitions()==1 ) {
public void run() { for (int decision=i; decision<=j; decision++) { NFAState decisionStartState = grammar.getDecisionNFAStartState(decision); if ( decisionStartState.getNumberOfTransitions()>1 ) { grammar.createLookaheadDFA(decision,true); } } // now wait for others to finish try { barrier.waitForRelease(); } catch(InterruptedException e) { ErrorManager.internalError("what the hell? DFA interruptus", e); } } }
public void run() { for (int decision=i; decision<=j; decision++) { NFAState decisionStartState = grammar.getDecisionNFAStartState(decision); if ( decisionStartState.getNumberOfTransitions()>1 ) { grammar.createLookaheadDFA(decision,true); } } // now wait for others to finish try { barrier.waitForRelease(); } catch(InterruptedException e) { ErrorManager.internalError("what the hell? DFA interruptus", e); } } }
@Override public void run() { for (int decision=i; decision<=j; decision++) { NFAState decisionStartState = grammar.getDecisionNFAStartState(decision); if ( decisionStartState.getNumberOfTransitions()>1 ) { grammar.createLookaheadDFA(decision,true); } } // now wait for others to finish try { barrier.waitForRelease(); } catch(InterruptedException e) { ErrorManager.internalError("what the hell? DFA interruptus", e); } } }
@Override public void run() { for (int decision=i; decision<=j; decision++) { NFAState decisionStartState = grammar.getDecisionNFAStartState(decision); if ( decisionStartState.getNumberOfTransitions()>1 ) { grammar.createLookaheadDFA(decision,true); } } // now wait for others to finish try { barrier.waitForRelease(); } catch(InterruptedException e) { ErrorManager.internalError("what the hell? DFA interruptus", e); } } }
for (int j = 0; j < p.getNumberOfTransitions(); j++) { Transition t = p.transition(j); if (!t.isEpsilon() && !t.label.getSet().and(label).isNil()
for (int j = 0; j < p.getNumberOfTransitions(); j++) { Transition t = p.transition(j); if (!t.isEpsilon() && !t.label.getSet().and(label).isNil()
for (int j = 0; j < p.getNumberOfTransitions(); j++) { Transition t = p.transition(j); if (!t.isEpsilon() && !t.label.getSet().and(label).isNil()
for(int t=0; t<state.getNumberOfTransitions(); t++) { FAState parentState = js;
continue; if ( t.label.isEpsilon() && !t.label.isAction() && s.getNumberOfTransitions()==1 ) {
continue; if ( t.label.isEpsilon() && !t.label.isAction() && s.getNumberOfTransitions()==1 ) {
continue; if ( t.label.isEpsilon() && !t.label.isAction() && s.getNumberOfTransitions()==1 ) {
continue; if ( t.label.isEpsilon() && !t.label.isAction() && s.getNumberOfTransitions()==1 ) {
skippedStatesMap.put(skippedState, parentState); for(int t=0; t<state.getNumberOfTransitions(); t++) { Transition transition = state.transition(t); if(targetStateIsInAnotherRule(transition)) {