/** Each state in the DFA represents a different input sequence for an * alt of the decision. Given a DFA state, what is the semantic * predicate context for a particular alt. */ public SemanticContext getSemanticContextForAlt(DFAState d, int alt) { Map<Integer, SemanticContext> altToPredMap = stateToAltSetWithSemanticPredicatesMap.get(d); if ( altToPredMap==null ) { return null; } return altToPredMap.get(Utils.integer(alt)); }
/** Each state in the DFA represents a different input sequence for an * alt of the decision. Given a DFA state, what is the semantic * predicate context for a particular alt. */ public SemanticContext getSemanticContextForAlt(DFAState d, int alt) { Map altToPredMap = (Map)stateToAltSetWithSemanticPredicatesMap.get(d); if ( altToPredMap==null ) { return null; } return (SemanticContext)altToPredMap.get(Utils.integer(alt)); }
/** Each state in the DFA represents a different input sequence for an * alt of the decision. Given a DFA state, what is the semantic * predicate context for a particular alt. */ public SemanticContext getSemanticContextForAlt(DFAState d, int alt) { Map<Integer, SemanticContext> altToPredMap = stateToAltSetWithSemanticPredicatesMap.get(d); if ( altToPredMap==null ) { return null; } return altToPredMap.get(Utils.integer(alt)); }
protected void initAltRelatedInfo() { unreachableAlts = new LinkedList<Integer>(); for (int i = 1; i <= nAlts; i++) { unreachableAlts.add(Utils.integer(i)); } altToAcceptState = new DFAState[nAlts+1]; }
public void reportNondeterminism(DFAState d, Set<Integer> nondeterministicAlts) { altsWithProblem.addAll(nondeterministicAlts); // track overall list statesWithSyntacticallyAmbiguousAltsSet.add(d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbers.add( Utils.integer(dfa.getDecisionNumber()) ); }
/** If a recursion overflow is resolve with predicates, then we need * to shut off the warning that would be generated. */ public void removeRecursiveOverflowState(DFAState d) { Integer stateI = Utils.integer(d.stateNumber); stateToRecursionOverflowConfigurationsMap.remove(stateI); }
private Set getUnaliasedDFAStateSet(Set dfaStatesWithRecursionProblems) { Set dfaStatesUnaliased = new HashSet(); for (Iterator it = dfaStatesWithRecursionProblems.iterator(); it.hasNext();) { Integer stateI = (Integer) it.next(); DFAState d = dfa.getState(stateI.intValue()); dfaStatesUnaliased.add(Utils.integer(d.stateNumber)); } return dfaStatesUnaliased; }
public void reportNondeterminism(DFAState d, Set<Integer> nondeterministicAlts) { altsWithProblem.addAll(nondeterministicAlts); // track overall list statesWithSyntacticallyAmbiguousAltsSet.add(d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbers.add( Utils.integer(dfa.getDecisionNumber()) ); }
@Override protected void assignTokenIDTypes(Grammar root) { // walk token names, assigning values if unassigned Set s = tokens.keySet(); for (Iterator it = s.iterator(); it.hasNext();) { String tokenID = (String) it.next(); if ( tokens.get(tokenID)==UNASSIGNED ) { tokens.put(tokenID, Utils.integer(root.getNewTokenType())); } } }
private Set getUnaliasedDFAStateSet(Set dfaStatesWithRecursionProblems) { Set dfaStatesUnaliased = new HashSet(); for (Iterator it = dfaStatesWithRecursionProblems.iterator(); it.hasNext();) { Integer stateI = (Integer) it.next(); DFAState d = dfa.getState(stateI.intValue()); dfaStatesUnaliased.add(Utils.integer(d.stateNumber)); } return dfaStatesUnaliased; }
@Override protected void assignTokenIDTypes(Grammar root) { // walk token names, assigning values if unassigned for (Map.Entry<String, Integer> entry : tokens.entrySet()) { String tokenID = entry.getKey(); if ( entry.getValue()==UNASSIGNED ) { tokens.put(tokenID, Utils.integer(root.getNewTokenType())); } } }
private Set<Integer> getUnaliasedDFAStateSet(Set<Integer> dfaStatesWithRecursionProblems) { Set<Integer> dfaStatesUnaliased = new HashSet<Integer>(); for (Integer stateI : dfaStatesWithRecursionProblems) { DFAState d = dfa.getState(stateI); dfaStatesUnaliased.add(Utils.integer(d.stateNumber)); } return dfaStatesUnaliased; }
private Set<Integer> getUnaliasedDFAStateSet(Set<Integer> dfaStatesWithRecursionProblems) { Set<Integer> dfaStatesUnaliased = new HashSet<Integer>(); for (Integer stateI : dfaStatesWithRecursionProblems) { DFAState d = dfa.getState(stateI); dfaStatesUnaliased.add(Utils.integer(d.stateNumber)); } return dfaStatesUnaliased; }
public void reportNondeterminism(DFAState d, Set<Integer> nondeterministicAlts) { altsWithProblem.addAll(nondeterministicAlts); // track overall list statesWithSyntacticallyAmbiguousAltsSet.add(d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbers.add( Utils.integer(dfa.getDecisionNumber()) ); }
/** If a recursion overflow is resolve with predicates, then we need * to shut off the warning that would be generated. */ public void removeRecursiveOverflowState(DFAState d) { Integer stateI = Utils.integer(d.stateNumber); stateToRecursionOverflowConfigurationsMap.remove(stateI); }
public void reportNondeterminismResolvedWithSemanticPredicate(DFAState d) { // First, prevent a recursion warning on this state due to // pred resolution if ( d.abortedDueToRecursionOverflow ) { d.dfa.probe.removeRecursiveOverflowState(d); } statesResolvedWithSemanticPredicatesSet.add(d); //System.out.println("resolved with pred: "+d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbersResolvedWithPredicates.add( Utils.integer(dfa.getDecisionNumber()) ); }
public void reportNondeterminismResolvedWithSemanticPredicate(DFAState d) { // First, prevent a recursion warning on this state due to // pred resolution if ( d.abortedDueToRecursionOverflow ) { d.dfa.probe.removeRecursiveOverflowState(d); } statesResolvedWithSemanticPredicatesSet.add(d); //System.out.println("resolved with pred: "+d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbersResolvedWithPredicates.add( Utils.integer(dfa.getDecisionNumber()) ); }
public void reportNondeterminismResolvedWithSemanticPredicate(DFAState d) { // First, prevent a recursion warning on this state due to // pred resolution if ( d.abortedDueToRecursionOverflow ) { d.dfa.probe.removeRecursiveOverflowState(d); } statesResolvedWithSemanticPredicatesSet.add(d); //System.out.println("resolved with pred: "+d); dfa.nfa.grammar.setOfNondeterministicDecisionNumbersResolvedWithPredicates.add( Utils.integer(dfa.getDecisionNumber()) ); }
protected static Integer getTokenType(Label label) { if ( label.isSet() ) { // pick random element of set IntervalSet typeSet = (IntervalSet)label.getSet(); int randomIndex = random.nextInt(typeSet.size()); return typeSet.get(randomIndex); } else { return Utils.integer(label.getAtom()); } //System.out.println(t0.label.toString(g)); }
protected static Integer getTokenType(Label label) { if ( label.isSet() ) { // pick random element of set IntervalSet typeSet = (IntervalSet)label.getSet(); int randomIndex = random.nextInt(typeSet.size()); return typeSet.get(randomIndex); } else { return Utils.integer(label.getAtom()); } //System.out.println(t0.label.toString(g)); }