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