// $ANTLR end "expr" // $ANTLR start "call" // BuildOptions\\DebugTreeGrammar.g3:74:0: call returns [BigInteger value] : ^( CALL ID expr ) ; private BigInteger call( ) { BigInteger value = default(BigInteger); CommonTree ID8 = null; BigInteger expr7 = default(BigInteger); try { dbg.EnterRule(GrammarFileName, "call"); if (RuleLevel == 0) { dbg.Commence(); } IncRuleLevel(); dbg.Location(74, -1); try { // BuildOptions\\DebugTreeGrammar.g3:75:9: ( ^( CALL ID expr ) ) dbg.EnterAlt(1); // BuildOptions\\DebugTreeGrammar.g3:75:9: ^( CALL ID expr ) { dbg.Location(75, 8); dbg.Location(75, 10); Match(input, CALL, Follow._CALL_in_call430); Match(input, TokenConstants.DOWN, null); dbg.Location(75, 15); ID8 = (CommonTree)Match(input, ID, Follow._ID_in_call432); dbg.Location(75, 18); PushFollow(Follow._expr_in_call434); expr7 = expr(); state._fsp--; Match(input, TokenConstants.UP, null); dbg.Location(75, 35); BigInteger p = expr7; CommonTree funcRoot = findFunction((ID8 != null?ID8.Text:null), p); if (funcRoot == null) { Console.Error.WriteLine("No match found for " + (ID8 != null?ID8.Text:null) + "(" + p + ")"); } else { // Here we set up the local evaluator to run over the // function definition with the parameter value. // This re-reads a sub-AST of our input AST! DebugTreeGrammar e = new DebugTreeGrammar(funcRoot, functionDefinitions, globalMemory, p); value = e.expr(); } } } catch (RecognitionException re) { ReportError(re); Recover(input, re); } finally { } dbg.Location(87, 4); } finally { dbg.ExitRule(GrammarFileName, "call"); DecRuleLevel(); if (RuleLevel == 0) { dbg.Terminate(); } } return(value); }
// $ANTLR end "expr" // $ANTLR start "call" // BuildOptions\\DebugTreeGrammar.g3:74:0: call returns [BigInteger value] : ^( CALL ID expr ) ; private BigInteger call( ) { BigInteger value = default(BigInteger); CommonTree ID8=null; BigInteger expr7 = default(BigInteger); try { dbg.EnterRule( GrammarFileName, "call" ); if ( RuleLevel == 0 ) { dbg.Commence(); } IncRuleLevel(); dbg.Location( 74, -1 ); try { // BuildOptions\\DebugTreeGrammar.g3:75:9: ( ^( CALL ID expr ) ) dbg.EnterAlt( 1 ); // BuildOptions\\DebugTreeGrammar.g3:75:9: ^( CALL ID expr ) { dbg.Location( 75, 8 ); dbg.Location( 75, 10 ); Match(input,CALL,Follow._CALL_in_call430); Match(input, TokenTypes.Down, null); dbg.Location( 75, 15 ); ID8=(CommonTree)Match(input,ID,Follow._ID_in_call432); dbg.Location( 75, 18 ); PushFollow(Follow._expr_in_call434); expr7=expr(); state._fsp--; Match(input, TokenTypes.Up, null); dbg.Location( 75, 35 ); BigInteger p = expr7; CommonTree funcRoot = findFunction((ID8!=null?ID8.Text:null), p); if (funcRoot == null) { Console.Error.WriteLine("No match found for " + (ID8!=null?ID8.Text:null) + "(" + p + ")"); } else { // Here we set up the local evaluator to run over the // function definition with the parameter value. // This re-reads a sub-AST of our input AST! DebugTreeGrammar e = new DebugTreeGrammar(funcRoot, functionDefinitions, globalMemory, p); value = e.expr(); } } } catch ( RecognitionException re ) { ReportError(re); Recover(input,re); } finally { } dbg.Location(87, 4); } finally { dbg.ExitRule( GrammarFileName, "call" ); DecRuleLevel(); if ( RuleLevel == 0 ) { dbg.Terminate(); } } return value; }