01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08:
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: package antlr;
21:
22: /**
23: *
24: * @author gorrus
25: */
26: public class Context {
27: public static final int NO_GUESSING = 0;
28: public static final int DIRECT_GUESSING = 1; // rule reference found in synpred
29: public static final int CLONE_GUESSING = 2; // guessed rule is being created
30:
31: public final String breakLabel;
32: public final int guessing;
33: public int checkedLA = 0;
34: public String returnVar = "";
35:
36: public static final Context EMPTY = new Context("", NO_GUESSING);
37:
38: /** Creates a new instance of Context */
39: public Context(String breakLabel, int guessing) {
40: this (breakLabel, guessing, 0, "");
41: }
42:
43: public Context(String breakLabel, int guessing, int checkedLA,
44: String retVar) {
45: this .breakLabel = breakLabel;
46: this .guessing = guessing;
47: this .checkedLA = checkedLA;
48: this .returnVar = retVar;
49: }
50:
51: public Context(Context another) {
52: this (another.breakLabel, another.guessing, another.checkedLA,
53: another.returnVar);
54: }
55:
56: public int getCheckedLA() {
57: return checkedLA;
58: }
59:
60: public void decreaseLAChecked() {
61: checkedLA--;
62: }
63:
64: public void setCheckedLA(int checkedLA) {
65: this.checkedLA = checkedLA;
66: }
67: }
|