Lines Matching full:state
51 /** State of a lexer, parser, or tree parser are collected into a state
52 * object so the state can be shared. This sharing is needed to
54 * and other state variables. It's a kind of explicit multiple
55 * inheritance via delegation of methods and shared state.
57 protected RecognizerSharedState state;
60 state = new RecognizerSharedState();
63 public BaseRecognizer(RecognizerSharedState state) {
64 if ( state==null ) {
65 state = new RecognizerSharedState();
67 this.state = state;
70 /** reset the parser's state; subclasses must rewinds the input stream */
73 if ( state==null ) {
74 return; // no shared state work to do
76 state._fsp = -1;
77 state.errorRecovery = false;
78 state.lastErrorIndex = -1;
79 state.failed = false;
80 state.syntaxErrors = 0;
82 state.backtracking = 0;
83 for (int i = 0; state.ruleMemo!=null && i < state.ruleMemo.length; i++) { // wipe cache
84 state.ruleMemo[i] = null;
107 state.errorRecovery = false;
108 state.failed = false;
111 if ( state.backtracking>0 ) {
112 state.failed = true;
121 state.errorRecovery = false;
122 state.failed = false;
140 if ( state._fsp>=0 ) { // remove EOR if we're not the start symbol
179 if ( state.errorRecovery ) {
183 state.syntaxErrors++; // don't count spurious
184 state.errorRecovery = true;
214 * for no viable alts, the decision description and state etc...
272 // "state "+nvae.stateNumber
307 return state.syntaxErrors;
354 if ( state.lastErrorIndex==input.index() ) {
361 state.lastErrorIndex = input.index();
533 int top = state._fsp;
536 BitSet localFollowSet = (BitSet)state.following[i];
697 if ( (state._fsp +1)>=state.following.length ) {
698 BitSet[] f = new BitSet[state.following.length*2];
699 System.arraycopy(state.following, 0, f, 0, state.following.length);
700 state.following = f;
702 state.following[++state._fsp] = fset;
747 public int getBacktrackingLevel() { return state.backtracking; }
749 public void setBacktrackingLevel(int n) { state.backtracking = n; }
752 public boolean failed() { return state.failed; }
794 if ( state.ruleMemo[ruleIndex]==null ) {
795 state.ruleMemo[ruleIndex] = new HashMap();
798 (Integer)state.ruleMemo[ruleIndex].get(new Integer(ruleStartIndex));
821 state.failed=true;
824 //System.out.println("seen rule "+ruleIndex+" before; skipping ahead to @"+(stopIndex+1)+" failed="+state.failed);
837 int stopTokenIndex = state.failed?MEMO_RULE_FAILED:input.index()-1;
838 if ( state.ruleMemo==null ) {
841 if ( ruleIndex >= state.ruleMemo.length ) {
842 System.err.println("!!!!!!!!! memo size is "+state.ruleMemo.length+", but rule index is "+ruleIndex);
844 if ( state.ruleMemo[ruleIndex]!=null ) {
845 state.ruleMemo[ruleIndex].put(
856 for (int i = 0; state.ruleMemo!=null && i < state.ruleMemo.length; i++) {
857 Map ruleMap = state.ruleMemo[i];
867 if ( state.backtracking>0 ) {
868 System.out.print(" backtracking="+state.backtracking);
878 if ( state.backtracking>0 ) {
879 System.out.print(" backtracking="+state.backtracking);
880 if ( state.failed ) System.out.print(" failed");