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