1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR 3.1.2 BuildOptions\\DebugTreeGrammar.g3 2009-09-30 13:18:15
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// The variable 'variable' is assigned but its value is never used.
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma warning disable 219
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Unreachable code detected.
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma warning disable 162
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//import java.util.Map;
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//import java.util.HashMap;
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing BigInteger = java.math.BigInteger;
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing Console = System.Console;
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing System.Collections.Generic;
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing Antlr.Runtime;
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing Antlr.Runtime.Tree;
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing RewriteRuleITokenStream = Antlr.Runtime.Tree.RewriteRuleTokenStream;using Stack = System.Collections.Generic.Stack<object>;
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing List = System.Collections.IList;
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing ArrayList = System.Collections.Generic.List<object>;
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing Antlr.Runtime.Debug;
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverusing IOException = System.IO.IOException;
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver[System.CodeDom.Compiler.GeneratedCode("ANTLR", "3.1.2")]
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver[System.CLSCompliant(false)]
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverpublic partial class DebugTreeGrammar : DebugTreeParser
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	internal static readonly string[] tokenNames = new string[] {
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "CALL", "FUNC", "ID", "INT", "NEWLINE", "WS", "'-'", "'%'", "'('", "')'", "'*'", "'/'", "'+'", "'='"
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	};
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int EOF=-1;
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__10=10;
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__11=11;
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__12=12;
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__13=13;
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__14=14;
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__15=15;
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__16=16;
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int T__17=17;
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int CALL=4;
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int FUNC=5;
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int ID=6;
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int INT=7;
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int NEWLINE=8;
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public const int WS=9;
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// delegates
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// delegators
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public static readonly string[] ruleNames =
51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		new string[]
52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			"invalidRule", "call", "expr", "prog", "stat"
54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		};
55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		int ruleLevel = 0;
57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public virtual int RuleLevel { get { return ruleLevel; } }
58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public virtual void IncRuleLevel() { ruleLevel++; }
59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public virtual void DecRuleLevel() { ruleLevel--; }
60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public DebugTreeGrammar( ITreeNodeStream input )
61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			: this( input, DebugEventSocketProxy.DefaultDebuggerPort, new RecognizerSharedState() )
62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public DebugTreeGrammar( ITreeNodeStream input, int port, RecognizerSharedState state )
65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			: base( input, state )
66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DebugEventSocketProxy proxy = new DebugEventSocketProxy( this, port, input.TreeAdaptor );
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DebugListener = proxy;
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			try
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				proxy.Handshake();
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			catch ( IOException ioe )
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				ReportError( ioe );
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public DebugTreeGrammar( ITreeNodeStream input, IDebugEventListener dbg )
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		: base( input, dbg, new RecognizerSharedState() )
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	protected virtual bool EvalPredicate( bool result, string predicate )
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		dbg.SemanticPredicate( result, predicate );
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		return result;
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public override string[] TokenNames { get { return DebugTreeGrammar.tokenNames; } }
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	public override string GrammarFileName { get { return "BuildOptions\\DebugTreeGrammar.g3"; } }
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	#region Rules
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR start "prog"
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// BuildOptions\\DebugTreeGrammar.g3:53:0: prog : ( stat )* ;
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	private void prog(  )
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterRule( GrammarFileName, "prog" );
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Commence();
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			IncRuleLevel();
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 53, -1 );
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:53:9: ( ( stat )* )
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterAlt( 1 );
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:53:9: ( stat )*
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 53, 8 );
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:53:9: ( stat )*
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			try
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterSubRule( 1 );
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			for ( ; ; )
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				int alt1=2;
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				try
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.EnterDecision( 1 );
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				int LA1_0 = input.LA(1);
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				if ( ((LA1_0>=CALL && LA1_0<=INT)||(LA1_0>=10 && LA1_0<=11)||(LA1_0>=14 && LA1_0<=17)) )
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					alt1=1;
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				finally
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.ExitDecision( 1 );
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				switch ( alt1 )
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				case 1:
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.EnterAlt( 1 );
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					// BuildOptions\\DebugTreeGrammar.g3:53:0: stat
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.Location( 53, 8 );
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					PushFollow(Follow._stat_in_prog48);
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					stat();
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					state._fsp--;
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					break;
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				default:
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					goto loop1;
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			loop1:
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				;
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			finally
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.ExitSubRule( 1 );
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		catch ( RecognitionException re )
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			ReportError(re);
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Recover(input,re);
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		dbg.Location(54, 4);
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.ExitRule( GrammarFileName, "prog" );
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DecRuleLevel();
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Terminate();
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		return ;
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR end "prog"
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR start "stat"
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// BuildOptions\\DebugTreeGrammar.g3:56:0: stat : ( expr | ^( '=' ID expr ) | ^( FUNC ( . )+ ) );
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	private void stat(  )
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		CommonTree ID2=null;
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger expr1 = default(BigInteger);
211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger expr3 = default(BigInteger);
212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterRule( GrammarFileName, "stat" );
216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Commence();
219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			IncRuleLevel();
221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 56, -1 );
222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:56:9: ( expr | ^( '=' ID expr ) | ^( FUNC ( . )+ ) )
226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			int alt3=3;
227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			try
228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterDecision( 3 );
230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			switch ( input.LA(1) )
232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case CALL:
234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case ID:
235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case INT:
236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 10:
237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 11:
238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 14:
239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 15:
240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 16:
241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt3=1;
243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 17:
246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt3=2;
248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case FUNC:
251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt3=3;
253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			default:
256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					NoViableAltException nvae = new NoViableAltException("", 3, 0, input);
258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.RecognitionException( nvae );
260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					throw nvae;
261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			finally
266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.ExitDecision( 3 );
268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			switch ( alt3 )
271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 1:
273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 1 );
274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:56:9: expr
276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 56, 8 );
278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_stat63);
279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				expr1=expr();
280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 56, 35 );
284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 string result = expr1.ToString();
285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				                                     Console.Out.WriteLine(expr1 + " (about " + result[0] + "*10^" + (result.Length-1) + ")");
286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 2:
291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 2 );
292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:59:9: ^( '=' ID expr )
294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 59, 8 );
296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 59, 10 );
297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,17,Follow._17_in_stat98);
298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 59, 14 );
301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				ID2=(CommonTree)Match(input,ID,Follow._ID_in_stat100);
302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 59, 17 );
303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_stat102);
304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				expr3=expr();
305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 59, 35 );
311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 globalMemory[(ID2!=null?ID2.Text:null)] = expr3;
312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 3:
316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 3 );
317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:60:9: ^( FUNC ( . )+ )
319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 60, 8 );
321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 60, 10 );
322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,FUNC,Follow._FUNC_in_stat128);
323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 60, 15 );
326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:60:16: ( . )+
327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				int cnt2=0;
328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				try
329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.EnterSubRule( 2 );
331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				for ( ; ; )
333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					int alt2=2;
335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					try
336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						dbg.EnterDecision( 2 );
338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					int LA2_0 = input.LA(1);
340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					if ( ((LA2_0>=CALL && LA2_0<=17)) )
342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						alt2=1;
344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					else if ( (LA2_0==UP) )
346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						alt2=2;
348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					finally
353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						dbg.ExitDecision( 2 );
355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					switch ( alt2 )
358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					{
359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					case 1:
360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						dbg.EnterAlt( 1 );
361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						// BuildOptions\\DebugTreeGrammar.g3:60:0: .
363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						{
364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						dbg.Location( 60, 15 );
365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						MatchAny(input);
366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						}
368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						break;
369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					default:
371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						if ( cnt2 >= 1 )
372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver							goto loop2;
373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						EarlyExitException eee2 = new EarlyExitException( 2, input );
375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						dbg.RecognitionException( eee2 );
376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver						throw eee2;
378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					}
379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					cnt2++;
380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				loop2:
382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					;
383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				finally
386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.ExitSubRule( 2 );
388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		catch ( RecognitionException re )
399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			ReportError(re);
401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Recover(input,re);
402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		dbg.Location(61, 4);
407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.ExitRule( GrammarFileName, "stat" );
412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DecRuleLevel();
413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Terminate();
416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		return ;
420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR end "stat"
422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR start "expr"
425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// BuildOptions\\DebugTreeGrammar.g3:63:0: expr returns [BigInteger value] : ( ^( '+' a= expr b= expr ) | ^( '-' a= expr b= expr ) | ^( '*' a= expr b= expr ) | ^( '/' a= expr b= expr ) | ^( '%' a= expr b= expr ) | ID | INT | call );
426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	private BigInteger expr(  )
427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger value = default(BigInteger);
429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		CommonTree ID4=null;
431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		CommonTree INT5=null;
432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger a = default(BigInteger);
433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger b = default(BigInteger);
434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger call6 = default(BigInteger);
435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterRule( GrammarFileName, "expr" );
439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Commence();
442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			IncRuleLevel();
444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 63, -1 );
445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:64:9: ( ^( '+' a= expr b= expr ) | ^( '-' a= expr b= expr ) | ^( '*' a= expr b= expr ) | ^( '/' a= expr b= expr ) | ^( '%' a= expr b= expr ) | ID | INT | call )
449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			int alt4=8;
450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			try
451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterDecision( 4 );
453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			switch ( input.LA(1) )
455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 16:
457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=1;
459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 10:
462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=2;
464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 14:
467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=3;
469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 15:
472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=4;
474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 11:
477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=5;
479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case ID:
482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=6;
484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case INT:
487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=7;
489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case CALL:
492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				alt4=8;
494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			default:
497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					NoViableAltException nvae = new NoViableAltException("", 4, 0, input);
499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					dbg.RecognitionException( nvae );
501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver					throw nvae;
502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			finally
507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.ExitDecision( 4 );
509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			switch ( alt4 )
512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 1:
514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 1 );
515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:64:9: ^( '+' a= expr b= expr )
517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 64, 8 );
519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 64, 10 );
520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,16,Follow._16_in_expr172);
521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 64, 15 );
524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr176);
525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				a=expr();
526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 64, 22 );
530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr180);
531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				b=expr();
532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 64, 35 );
538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = a.add(b);
539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 2:
543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 2 );
544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:65:9: ^( '-' a= expr b= expr )
546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 65, 8 );
548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 65, 10 );
549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,10,Follow._10_in_expr200);
550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 65, 15 );
553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr204);
554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				a=expr();
555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 65, 22 );
559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr208);
560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				b=expr();
561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 65, 35 );
567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = a.subtract(b);
568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 3:
572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 3 );
573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:66:9: ^( '*' a= expr b= expr )
575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 66, 8 );
577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 66, 10 );
578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,14,Follow._14_in_expr228);
579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 66, 15 );
582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr232);
583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				a=expr();
584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 66, 22 );
588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr236);
589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				b=expr();
590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 66, 35 );
596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = a.multiply(b);
597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 4:
601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 4 );
602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:67:9: ^( '/' a= expr b= expr )
604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 67, 8 );
606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 67, 10 );
607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,15,Follow._15_in_expr256);
608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 67, 15 );
611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr260);
612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				a=expr();
613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 67, 22 );
617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr264);
618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				b=expr();
619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 67, 35 );
625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = a.divide(b);
626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 5:
630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 5 );
631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:68:9: ^( '%' a= expr b= expr )
633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 68, 8 );
635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 68, 10 );
636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input,11,Follow._11_in_expr284);
637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Down, null);
639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 68, 15 );
640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr288);
641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				a=expr();
642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 68, 22 );
646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._expr_in_expr292);
647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				b=expr();
648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				Match(input, TokenTypes.Up, null);
653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 68, 35 );
654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = a.remainder(b);
655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 6:
659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 6 );
660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:69:9: ID
662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 69, 8 );
664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				ID4=(CommonTree)Match(input,ID,Follow._ID_in_expr311);
665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 69, 35 );
666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = getValue((ID4!=null?ID4.Text:null));
667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 7:
671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 7 );
672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:70:9: INT
674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 70, 8 );
676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				INT5=(CommonTree)Match(input,INT,Follow._INT_in_expr347);
677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 70, 35 );
678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = new BigInteger((INT5!=null?INT5.Text:null));
679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			case 8:
683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.EnterAlt( 8 );
684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				// BuildOptions\\DebugTreeGrammar.g3:71:9: call
686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				{
687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 71, 8 );
688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				PushFollow(Follow._call_in_expr382);
689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				call6=call();
690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				state._fsp--;
692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Location( 71, 35 );
694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				 value = call6;
695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				}
697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				break;
698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		catch ( RecognitionException re )
702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			ReportError(re);
704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Recover(input,re);
705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		dbg.Location(72, 4);
710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.ExitRule( GrammarFileName, "expr" );
715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DecRuleLevel();
716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Terminate();
719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		return value;
723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR end "expr"
725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR start "call"
728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// BuildOptions\\DebugTreeGrammar.g3:74:0: call returns [BigInteger value] : ^( CALL ID expr ) ;
729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	private BigInteger call(  )
730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger value = default(BigInteger);
732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		CommonTree ID8=null;
734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		BigInteger expr7 = default(BigInteger);
735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterRule( GrammarFileName, "call" );
739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Commence();
742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			IncRuleLevel();
744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 74, -1 );
745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		try
747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:75:9: ( ^( CALL ID expr ) )
749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.EnterAlt( 1 );
750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			// BuildOptions\\DebugTreeGrammar.g3:75:9: ^( CALL ID expr )
752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 75, 8 );
754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 75, 10 );
755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Match(input,CALL,Follow._CALL_in_call430);
756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Match(input, TokenTypes.Down, null);
758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 75, 15 );
759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			ID8=(CommonTree)Match(input,ID,Follow._ID_in_call432);
760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 75, 18 );
761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			PushFollow(Follow._expr_in_call434);
762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			expr7=expr();
763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			state._fsp--;
765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Match(input, TokenTypes.Up, null);
768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.Location( 75, 35 );
769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			 BigInteger p = expr7;
770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                     CommonTree funcRoot = findFunction((ID8!=null?ID8.Text:null), p);
771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                     if (funcRoot == null) {
772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         Console.Error.WriteLine("No match found for " + (ID8!=null?ID8.Text:null) + "(" + p + ")");
773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                     } else {
774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         // Here we set up the local evaluator to run over the
775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         // function definition with the parameter value.
776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         // This re-reads a sub-AST of our input AST!
777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         DebugTreeGrammar e = new DebugTreeGrammar(funcRoot, functionDefinitions, globalMemory, p);
778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                         value = e.expr();
779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			                                     }
780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		catch ( RecognitionException re )
786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			ReportError(re);
788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			Recover(input,re);
789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		dbg.Location(87, 4);
794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		finally
797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		{
798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			dbg.ExitRule( GrammarFileName, "call" );
799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			DecRuleLevel();
800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			if ( RuleLevel == 0 )
801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			{
802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver				dbg.Terminate();
803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver			}
804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		}
805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		return value;
807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	// $ANTLR end "call"
809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	#endregion Rules
810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	#region Follow sets
813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	private static class Follow
814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	{
815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _stat_in_prog48 = new BitSet(new ulong[]{0x3CCF2UL});
816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_stat63 = new BitSet(new ulong[]{0x2UL});
817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _17_in_stat98 = new BitSet(new ulong[]{0x4UL});
818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _ID_in_stat100 = new BitSet(new ulong[]{0x1CCD0UL});
819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_stat102 = new BitSet(new ulong[]{0x8UL});
820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _FUNC_in_stat128 = new BitSet(new ulong[]{0x4UL});
821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _16_in_expr172 = new BitSet(new ulong[]{0x4UL});
822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr176 = new BitSet(new ulong[]{0x1CCD0UL});
823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr180 = new BitSet(new ulong[]{0x8UL});
824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _10_in_expr200 = new BitSet(new ulong[]{0x4UL});
825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr204 = new BitSet(new ulong[]{0x1CCD0UL});
826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr208 = new BitSet(new ulong[]{0x8UL});
827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _14_in_expr228 = new BitSet(new ulong[]{0x4UL});
828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr232 = new BitSet(new ulong[]{0x1CCD0UL});
829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr236 = new BitSet(new ulong[]{0x8UL});
830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _15_in_expr256 = new BitSet(new ulong[]{0x4UL});
831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr260 = new BitSet(new ulong[]{0x1CCD0UL});
832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr264 = new BitSet(new ulong[]{0x8UL});
833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _11_in_expr284 = new BitSet(new ulong[]{0x4UL});
834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr288 = new BitSet(new ulong[]{0x1CCD0UL});
835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_expr292 = new BitSet(new ulong[]{0x8UL});
836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _ID_in_expr311 = new BitSet(new ulong[]{0x2UL});
837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _INT_in_expr347 = new BitSet(new ulong[]{0x2UL});
838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _call_in_expr382 = new BitSet(new ulong[]{0x2UL});
839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _CALL_in_call430 = new BitSet(new ulong[]{0x4UL});
840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _ID_in_call432 = new BitSet(new ulong[]{0x1CCD0UL});
841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		public static readonly BitSet _expr_in_call434 = new BitSet(new ulong[]{0x8UL});
842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	#endregion Follow sets
845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
846