public void CheckRRSubtreeStreamBehaviourWithElements() { RewriteRuleSubtreeStream subtreeTest = new RewriteRuleSubtreeStream(CreateTreeAdaptor(), "RewriteRuleSubtreeStream test"); IToken token1 = CreateToken(1, "test token without any real context"); ITree tree1 = CreateTree(token1); // Test Add() subtreeTest.Add(tree1); Assert.AreEqual(1, subtreeTest.Size(), "subtreeTest should have the size 1 (1)."); Assert.IsTrue(subtreeTest.HasNext(), "HasNext() should be true here (1)."); // Test NextNode() Assert.AreEqual(tree1, (ITree)subtreeTest.NextNode(), "The returned tree should be equal to the given tree (1)."); Assert.AreEqual(1, subtreeTest.Size(), "subtreeTest should have the size 1 (2)."); Assert.IsFalse(subtreeTest.HasNext(), "HasNext() should be false here (1)."); subtreeTest.Reset(); Assert.AreEqual(1, subtreeTest.Size(), "subtreeTest should have the size 1 (3)."); Assert.IsTrue(subtreeTest.HasNext(), "HasNext() should be true here (2)."); // Test NextTree() CommonTree returnedTree = (CommonTree)subtreeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (3)."); Assert.AreEqual(1, subtreeTest.Size(), "subtreeTest should have the size 1 (4)."); Assert.IsFalse(subtreeTest.HasNext(), "HasNext() should be false here (2)."); subtreeTest.Reset(); Assert.AreEqual(1, subtreeTest.Size(), "subtreeTest should have the size 1 (5)."); Assert.IsTrue(subtreeTest.HasNext(), "HasNext() should be true here (3)."); // Test, what happens with two elements IToken token2 = CreateToken(2, "test token without any real context"); ITree tree2 = CreateTree(token2); subtreeTest.Add(tree2); Assert.AreEqual(2, subtreeTest.Size(), "subtreeTest should have the size 2 (1)."); Assert.IsTrue(subtreeTest.HasNext(), "HasNext() should be true here (4)."); returnedTree = (CommonTree)subtreeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (4)."); Assert.AreEqual(2, subtreeTest.Size(), "subtreeTest should have the size 2 (2)."); Assert.IsTrue(subtreeTest.HasNext(), "HasNext() should be true here (5)."); returnedTree = (CommonTree)subtreeTest.NextTree(); Assert.AreEqual(token2, returnedTree.Token, "The returned token should be equal to the given token (5)."); Assert.IsFalse(subtreeTest.HasNext(), "HasNext() should be false here (3)."); // Test exception subtreeTest.NextTree(); }
public void CheckRRSubtreeStreamBehaviourWhileEmpty1() { string description = "RewriteRuleSubtreeStream test"; RewriteRuleSubtreeStream subtreeTest = new RewriteRuleSubtreeStream(CreateTreeAdaptor(), description); Assert.IsFalse(subtreeTest.HasNext(), "HasNext() has to give back false here."); Assert.AreEqual(description.ToString(), subtreeTest.Description, "Description strings should be equal."); Assert.AreEqual(0, subtreeTest.Size(), "The number of elements should be zero."); subtreeTest.Reset(); Assert.IsTrue(true, "Reset() shouldn't make any problems here."); Assert.AreEqual(0, subtreeTest.Size(), "The number of elements should be still zero."); subtreeTest.NextNode(); }
// $ANTLR start "concat" // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:83:1: concat : ^(head= Concat {...}? (e+= . )* ) -> ( $e)* ; public NadirASTOptimizer.concat_return concat() // throws RecognitionException [1] { NadirASTOptimizer.concat_return retval = new NadirASTOptimizer.concat_return(); retval.Start = input.LT(1); NadirAST root_0 = null; NadirAST _first_0 = null; NadirAST _last = null; NadirAST head = null; NadirAST e = null; IList list_e = null; NadirAST head_tree=null; NadirAST e_tree=null; RewriteRuleNodeStream stream_Concat = new RewriteRuleNodeStream(adaptor,"token Concat"); try { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:84:9: ( ^(head= Concat {...}? (e+= . )* ) -> ( $e)* ) // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:84:17: ^(head= Concat {...}? (e+= . )* ) { _last = (NadirAST)input.LT(1); { NadirAST _save_last_1 = _last; NadirAST _first_1 = null; _last = (NadirAST)input.LT(1); head=(NadirAST)Match(input,Concat,FOLLOW_Concat_in_concat1001); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Concat.Add(head); if ( (state.backtracking == 1) ) if ( _first_0==null ) _first_0 = head; if ( input.LA(1) == Token.DOWN ) { Match(input, Token.DOWN, null); if (state.failed) return retval; if ( !(( ParentIsOfType(head, Concat) || DegenerateNumberOfChildren(head) )) ) { if ( state.backtracking > 0 ) {state.failed = true; return retval;} throw new FailedPredicateException(input, "concat", " ParentIsOfType($head, Concat) || DegenerateNumberOfChildren($head) "); } // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:84:122: (e+= . )* do { int alt11 = 2; int LA11_0 = input.LA(1); if ( ((LA11_0 >= TokenFirst && LA11_0 <= 250)) ) { alt11 = 1; } switch (alt11) { case 1 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:0:0: e+= . { _last = (NadirAST)input.LT(1); e = (NadirAST)input.LT(1); MatchAny(input); if (state.failed) return retval; if ( (state.backtracking == 1) ) if ( _first_1==null ) _first_1 = e; if (list_e == null) list_e = new ArrayList(); list_e.Add(e); if ( (state.backtracking == 1) ) { retval.Tree = (NadirAST)_first_0; if ( adaptor.GetParent(retval.Tree)!=null && adaptor.IsNil( adaptor.GetParent(retval.Tree) ) ) retval.Tree = (NadirAST)adaptor.GetParent(retval.Tree);} } break; default: goto loop11; } } while (true); loop11: ; // Stops C# compiler whining that label 'loop11' has no statements Match(input, Token.UP, null); if (state.failed) return retval; }_last = _save_last_1; } // AST REWRITE // elements: e // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: e if ( (state.backtracking == 1) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_e = new RewriteRuleSubtreeStream(adaptor,"wildcard e",list_e); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (NadirAST)adaptor.GetNilNode(); // 84:129: -> ( $e)* { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:84:132: ( $e)* while ( stream_e.HasNext() ) { adaptor.AddChild(root_0, stream_e.NextTree()); } stream_e.Reset(); } retval.Tree = (NadirAST)adaptor.RulePostProcessing(root_0); input.ReplaceChildren(adaptor.GetParent(retval.Start), adaptor.GetChildIndex(retval.Start), adaptor.GetChildIndex(_last), retval.Tree);} } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzpicture" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:242:1: tikzpicture : ( ( tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) -> ^( IM_PICTURE tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) | ( tikz_start ( tikz_options )? '{' ( tikzbody2 )? roundbr_end ) -> ^( IM_PICTURE tikz_start ( tikz_options )? ( tikzbody2 )? roundbr_end ) ); public simpletikzParser.tikzpicture_return tikzpicture() { simpletikzParser.tikzpicture_return retval = new simpletikzParser.tikzpicture_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal89 = null; simpletikzParser.tikzpicture_start_return tikzpicture_start83 = default(simpletikzParser.tikzpicture_start_return); simpletikzParser.tikz_options_return tikz_options84 = default(simpletikzParser.tikz_options_return); simpletikzParser.tikzbody_return tikzbody85 = default(simpletikzParser.tikzbody_return); simpletikzParser.tikzpicture_end_return tikzpicture_end86 = default(simpletikzParser.tikzpicture_end_return); simpletikzParser.tikz_start_return tikz_start87 = default(simpletikzParser.tikz_start_return); simpletikzParser.tikz_options_return tikz_options88 = default(simpletikzParser.tikz_options_return); simpletikzParser.tikzbody2_return tikzbody290 = default(simpletikzParser.tikzbody2_return); simpletikzParser.roundbr_end_return roundbr_end91 = default(simpletikzParser.roundbr_end_return); object char_literal89_tree=null; RewriteRuleTokenStream stream_43 = new RewriteRuleTokenStream(adaptor,"token 43"); RewriteRuleSubtreeStream stream_tikzbody2 = new RewriteRuleSubtreeStream(adaptor,"rule tikzbody2"); RewriteRuleSubtreeStream stream_tikzpicture_end = new RewriteRuleSubtreeStream(adaptor,"rule tikzpicture_end"); RewriteRuleSubtreeStream stream_tikzpicture_start = new RewriteRuleSubtreeStream(adaptor,"rule tikzpicture_start"); RewriteRuleSubtreeStream stream_tikz_start = new RewriteRuleSubtreeStream(adaptor,"rule tikz_start"); RewriteRuleSubtreeStream stream_roundbr_end = new RewriteRuleSubtreeStream(adaptor,"rule roundbr_end"); RewriteRuleSubtreeStream stream_tikzbody = new RewriteRuleSubtreeStream(adaptor,"rule tikzbody"); RewriteRuleSubtreeStream stream_tikz_options = new RewriteRuleSubtreeStream(adaptor,"rule tikz_options"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:2: ( ( tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) -> ^( IM_PICTURE tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) | ( tikz_start ( tikz_options )? '{' ( tikzbody2 )? roundbr_end ) -> ^( IM_PICTURE tikz_start ( tikz_options )? ( tikzbody2 )? roundbr_end ) ) int alt32 = 2; int LA32_0 = input.LA(1); if ( (LA32_0 == 39) ) { alt32 = 1; } else if ( (LA32_0 == 42) ) { alt32 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d32s0 = new NoViableAltException("", 32, 0, input); throw nvae_d32s0; } switch (alt32) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:7: ( tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:7: ( tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:9: tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end { PushFollow(FOLLOW_tikzpicture_start_in_tikzpicture1015); tikzpicture_start83 = tikzpicture_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpicture_start.Add(tikzpicture_start83.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:27: ( tikz_options )? int alt28 = 2; int LA28_0 = input.LA(1); if ( (LA28_0 == 54) ) { alt28 = 1; } switch (alt28) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:27: tikz_options { PushFollow(FOLLOW_tikz_options_in_tikzpicture1017); tikz_options84 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_options.Add(tikz_options84.Tree); } break; } // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:41: ( tikzbody )? int alt29 = 2; int LA29_0 = input.LA(1); if ( ((LA29_0 >= IM_PATH && LA29_0 <= 53) || (LA29_0 >= 55 && LA29_0 <= 62) || (LA29_0 >= 64 && LA29_0 <= 94)) ) { alt29 = 1; } else if ( (LA29_0 == 63) ) { int LA29_2 = input.LA(2); if ( (LA29_2 == 43) ) { int LA29_3 = input.LA(3); if ( (LA29_3 == ID) ) { alt29 = 1; } } } switch (alt29) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:41: tikzbody { PushFollow(FOLLOW_tikzbody_in_tikzpicture1020); tikzbody85 = tikzbody(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzbody.Add(tikzbody85.Tree); } break; } PushFollow(FOLLOW_tikzpicture_end_in_tikzpicture1023); tikzpicture_end86 = tikzpicture_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpicture_end.Add(tikzpicture_end86.Tree); } // AST REWRITE // elements: tikzpicture_end, tikzbody, tikzpicture_start, tikz_options // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 243:68: -> ^( IM_PICTURE tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:71: ^( IM_PICTURE tikzpicture_start ( tikz_options )? ( tikzbody )? tikzpicture_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PICTURE, "IM_PICTURE"), root_1); adaptor.AddChild(root_1, stream_tikzpicture_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:102: ( tikz_options )? if ( stream_tikz_options.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_options.NextTree()); } stream_tikz_options.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:243:116: ( tikzbody )? if ( stream_tikzbody.HasNext() ) { adaptor.AddChild(root_1, stream_tikzbody.NextTree()); } stream_tikzbody.Reset(); adaptor.AddChild(root_1, stream_tikzpicture_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:5: ( tikz_start ( tikz_options )? '{' ( tikzbody2 )? roundbr_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:5: ( tikz_start ( tikz_options )? '{' ( tikzbody2 )? roundbr_end ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:7: tikz_start ( tikz_options )? '{' ( tikzbody2 )? roundbr_end { PushFollow(FOLLOW_tikz_start_in_tikzpicture1048); tikz_start87 = tikz_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_start.Add(tikz_start87.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:19: ( tikz_options )? int alt30 = 2; int LA30_0 = input.LA(1); if ( (LA30_0 == 54) ) { alt30 = 1; } switch (alt30) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:19: tikz_options { PushFollow(FOLLOW_tikz_options_in_tikzpicture1051); tikz_options88 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_options.Add(tikz_options88.Tree); } break; } char_literal89=(IToken)Match(input,43,FOLLOW_43_in_tikzpicture1054); if (state.failed) return retval; if ( state.backtracking==0 ) stream_43.Add(char_literal89); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:37: ( tikzbody2 )? int alt31 = 2; int LA31_0 = input.LA(1); if ( ((LA31_0 >= IM_PATH && LA31_0 <= 42) || (LA31_0 >= 45 && LA31_0 <= 53) || (LA31_0 >= 55 && LA31_0 <= 94)) ) { alt31 = 1; } switch (alt31) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:37: tikzbody2 { PushFollow(FOLLOW_tikzbody2_in_tikzpicture1056); tikzbody290 = tikzbody2(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzbody2.Add(tikzbody290.Tree); } break; } PushFollow(FOLLOW_roundbr_end_in_tikzpicture1059); roundbr_end91 = roundbr_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_roundbr_end.Add(roundbr_end91.Tree); } // AST REWRITE // elements: roundbr_end, tikzbody2, tikz_start, tikz_options // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 244:63: -> ^( IM_PICTURE tikz_start ( tikz_options )? ( tikzbody2 )? roundbr_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:66: ^( IM_PICTURE tikz_start ( tikz_options )? ( tikzbody2 )? roundbr_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PICTURE, "IM_PICTURE"), root_1); adaptor.AddChild(root_1, stream_tikz_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:90: ( tikz_options )? if ( stream_tikz_options.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_options.NextTree()); } stream_tikz_options.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:244:104: ( tikzbody2 )? if ( stream_tikzbody2.HasNext() ) { adaptor.AddChild(root_1, stream_tikzbody2.NextTree()); } stream_tikzbody2.Reset(); adaptor.AddChild(root_1, stream_roundbr_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzpath" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:310:1: tikzpath : path_start ( tikzpath_element )* semicolon_end -> ^( IM_PATH path_start ( tikzpath_element )* semicolon_end ) ; public simpletikzParser.tikzpath_return tikzpath() { simpletikzParser.tikzpath_return retval = new simpletikzParser.tikzpath_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.path_start_return path_start148 = default(simpletikzParser.path_start_return); simpletikzParser.tikzpath_element_return tikzpath_element149 = default(simpletikzParser.tikzpath_element_return); simpletikzParser.semicolon_end_return semicolon_end150 = default(simpletikzParser.semicolon_end_return); RewriteRuleSubtreeStream stream_tikzpath_element = new RewriteRuleSubtreeStream(adaptor,"rule tikzpath_element"); RewriteRuleSubtreeStream stream_path_start = new RewriteRuleSubtreeStream(adaptor,"rule path_start"); RewriteRuleSubtreeStream stream_semicolon_end = new RewriteRuleSubtreeStream(adaptor,"rule semicolon_end"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:2: ( path_start ( tikzpath_element )* semicolon_end -> ^( IM_PATH path_start ( tikzpath_element )* semicolon_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:4: path_start ( tikzpath_element )* semicolon_end { PushFollow(FOLLOW_path_start_in_tikzpath1765); path_start148 = path_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_path_start.Add(path_start148.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:15: ( tikzpath_element )* do { int alt39 = 2; int LA39_0 = input.LA(1); if ( ((LA39_0 >= ID && LA39_0 <= COMMAND) || LA39_0 == 43 || LA39_0 == 45 || LA39_0 == 52 || LA39_0 == 54 || LA39_0 == 58 || LA39_0 == 77 || (LA39_0 >= 79 && LA39_0 <= 80) || (LA39_0 >= 82 && LA39_0 <= 91)) ) { alt39 = 1; } switch (alt39) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:15: tikzpath_element { PushFollow(FOLLOW_tikzpath_element_in_tikzpath1767); tikzpath_element149 = tikzpath_element(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpath_element.Add(tikzpath_element149.Tree); } break; default: goto loop39; } } while (true); loop39: ; // Stops C# compiler whining that label 'loop39' has no statements PushFollow(FOLLOW_semicolon_end_in_tikzpath1770); semicolon_end150 = semicolon_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_semicolon_end.Add(semicolon_end150.Tree); // AST REWRITE // elements: path_start, semicolon_end, tikzpath_element // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 311:47: -> ^( IM_PATH path_start ( tikzpath_element )* semicolon_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:50: ^( IM_PATH path_start ( tikzpath_element )* semicolon_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PATH, "IM_PATH"), root_1); adaptor.AddChild(root_1, stream_path_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:311:71: ( tikzpath_element )* while ( stream_tikzpath_element.HasNext() ) { adaptor.AddChild(root_1, stream_tikzpath_element.NextTree()); } stream_tikzpath_element.Reset(); adaptor.AddChild(root_1, stream_semicolon_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikznode_core" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:377:1: tikznode_core : ( tikznode_decorator )* tikzstring -> ^( IM_NODE ( tikznode_decorator )* tikzstring ) ; public simpletikzParser.tikznode_core_return tikznode_core() { simpletikzParser.tikznode_core_return retval = new simpletikzParser.tikznode_core_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.tikznode_decorator_return tikznode_decorator197 = default(simpletikzParser.tikznode_decorator_return); simpletikzParser.tikzstring_return tikzstring198 = default(simpletikzParser.tikzstring_return); RewriteRuleSubtreeStream stream_tikzstring = new RewriteRuleSubtreeStream(adaptor,"rule tikzstring"); RewriteRuleSubtreeStream stream_tikznode_decorator = new RewriteRuleSubtreeStream(adaptor,"rule tikznode_decorator"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:2: ( ( tikznode_decorator )* tikzstring -> ^( IM_NODE ( tikznode_decorator )* tikzstring ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:4: ( tikznode_decorator )* tikzstring { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:4: ( tikznode_decorator )* do { int alt51 = 2; int LA51_0 = input.LA(1); if ( (LA51_0 == 52 || LA51_0 == 54 || LA51_0 == 81) ) { alt51 = 1; } switch (alt51) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:4: tikznode_decorator { PushFollow(FOLLOW_tikznode_decorator_in_tikznode_core2317); tikznode_decorator197 = tikznode_decorator(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikznode_decorator.Add(tikznode_decorator197.Tree); } break; default: goto loop51; } } while (true); loop51: ; // Stops C# compiler whining that label 'loop51' has no statements PushFollow(FOLLOW_tikzstring_in_tikznode_core2320); tikzstring198 = tikzstring(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzstring.Add(tikzstring198.Tree); // AST REWRITE // elements: tikzstring, tikznode_decorator // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 378:36: -> ^( IM_NODE ( tikznode_decorator )* tikzstring ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:39: ^( IM_NODE ( tikznode_decorator )* tikzstring ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_NODE, "IM_NODE"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:378:49: ( tikznode_decorator )* while ( stream_tikznode_decorator.HasNext() ) { adaptor.AddChild(root_1, stream_tikznode_decorator.NextTree()); } stream_tikznode_decorator.Reset(); adaptor.AddChild(root_1, stream_tikzstring.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzdocument" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:140:1: tikzdocument : ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* tikzpicture ( . )* -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* tikzpicture ) ; public simpletikzParser.tikzdocument_return tikzdocument() { simpletikzParser.tikzdocument_return retval = new simpletikzParser.tikzdocument_return(); retval.Start = input.LT(1); object root_0 = null; IToken wildcard5 = null; simpletikzParser.dontcare_preamble_return dontcare_preamble1 = default(simpletikzParser.dontcare_preamble_return); simpletikzParser.tikz_styleorsetorcmd_return tikz_styleorsetorcmd2 = default(simpletikzParser.tikz_styleorsetorcmd_return); simpletikzParser.otherbegin_return otherbegin3 = default(simpletikzParser.otherbegin_return); simpletikzParser.tikzpicture_return tikzpicture4 = default(simpletikzParser.tikzpicture_return); // object wildcard5_tree=null; RewriteRuleSubtreeStream stream_dontcare_preamble = new RewriteRuleSubtreeStream(adaptor,"rule dontcare_preamble"); RewriteRuleSubtreeStream stream_tikzpicture = new RewriteRuleSubtreeStream(adaptor,"rule tikzpicture"); RewriteRuleSubtreeStream stream_otherbegin = new RewriteRuleSubtreeStream(adaptor,"rule otherbegin"); RewriteRuleSubtreeStream stream_tikz_styleorsetorcmd = new RewriteRuleSubtreeStream(adaptor,"rule tikz_styleorsetorcmd"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:2: ( ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* tikzpicture ( . )* -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* tikzpicture ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:4: ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* tikzpicture ( . )* { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:4: ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* do { int alt1 = 4; switch ( input.LA(1) ) { case 39: { int LA1_1 = input.LA(2); if ( (LA1_1 == 43) ) { int LA1_5 = input.LA(3); if ( (LA1_5 == ID) ) { alt1 = 3; } } } break; case IM_PATH: case IM_NODE: case IM_COORD: case IM_SIZE: case IM_NODENAME: case IM_NUMBERUNIT: case IM_PICTURE: case IM_DOCUMENT: case IM_SCOPE: case IM_STARTTAG: case IM_ENDTAG: case IM_OPTIONS: case IM_OPTION_STYLE: case IM_OPTION_KV: case IM_ID: case IM_TIKZSET: case IM_USETIKZLIB: case IM_STRING: case IM_STYLE: case IM_CONTROLS: case IM_TIKZEDT_CMD: case IM_DONTCARE: case IM_ARC: case ID: case COMMAND: case FLOAT_WO_EXP: case INT: case WS: case COMMENT: case EXPONENT: case ESC_SEQ: case MATHSTRING: case SOMETHING: case SOMETHING1: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 91: case 92: case 93: case 94: { alt1 = 1; } break; case TIKZEDT_CMD_COMMENT: case 40: case 41: { alt1 = 2; } break; } switch (alt1) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:5: dontcare_preamble { PushFollow(FOLLOW_dontcare_preamble_in_tikzdocument257); dontcare_preamble1 = dontcare_preamble(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_dontcare_preamble.Add(dontcare_preamble1.Tree); } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:25: tikz_styleorsetorcmd { PushFollow(FOLLOW_tikz_styleorsetorcmd_in_tikzdocument261); tikz_styleorsetorcmd2 = tikz_styleorsetorcmd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_styleorsetorcmd.Add(tikz_styleorsetorcmd2.Tree); } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:48: otherbegin { PushFollow(FOLLOW_otherbegin_in_tikzdocument265); otherbegin3 = otherbegin(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_otherbegin.Add(otherbegin3.Tree); } break; default: goto loop1; } } while (true); loop1: ; // Stops C# compiler whining that label 'loop1' has no statements PushFollow(FOLLOW_tikzpicture_in_tikzdocument270); tikzpicture4 = tikzpicture(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpicture.Add(tikzpicture4.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:74: ( . )* do { int alt2 = 2; int LA2_0 = input.LA(1); if ( ((LA2_0 >= IM_PATH && LA2_0 <= 94)) ) { alt2 = 1; } else if ( (LA2_0 == EOF) ) { alt2 = 2; } switch (alt2) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:74: . { wildcard5 = (IToken)input.LT(1); MatchAny(input); if (state.failed) return retval; } break; default: goto loop2; } } while (true); loop2: ; // Stops C# compiler whining that label 'loop2' has no statements // AST REWRITE // elements: tikzpicture, tikz_styleorsetorcmd // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 141:77: -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* tikzpicture ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:80: ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* tikzpicture ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DOCUMENT, "IM_DOCUMENT"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:141:94: ( tikz_styleorsetorcmd )* while ( stream_tikz_styleorsetorcmd.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_styleorsetorcmd.NextTree()); } stream_tikz_styleorsetorcmd.Reset(); adaptor.AddChild(root_1, stream_tikzpicture.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "size" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:432:1: size : '(' numberunit ( 'and' numberunit )? ')' -> ^( IM_SIZE ( numberunit )* ) ; public simpletikzParser.size_return size() { simpletikzParser.size_return retval = new simpletikzParser.size_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal245 = null; IToken string_literal247 = null; IToken char_literal249 = null; simpletikzParser.numberunit_return numberunit246 = default(simpletikzParser.numberunit_return); simpletikzParser.numberunit_return numberunit248 = default(simpletikzParser.numberunit_return); object char_literal245_tree=null; object string_literal247_tree=null; object char_literal249_tree=null; RewriteRuleTokenStream stream_78 = new RewriteRuleTokenStream(adaptor,"token 78"); RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleSubtreeStream stream_numberunit = new RewriteRuleSubtreeStream(adaptor,"rule numberunit"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:2: ( '(' numberunit ( 'and' numberunit )? ')' -> ^( IM_SIZE ( numberunit )* ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:6: '(' numberunit ( 'and' numberunit )? ')' { char_literal245=(IToken)Match(input,52,FOLLOW_52_in_size2702); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal245); PushFollow(FOLLOW_numberunit_in_size2704); numberunit246 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit246.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:21: ( 'and' numberunit )? int alt61 = 2; int LA61_0 = input.LA(1); if ( (LA61_0 == 78) ) { alt61 = 1; } switch (alt61) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:22: 'and' numberunit { string_literal247=(IToken)Match(input,78,FOLLOW_78_in_size2707); if (state.failed) return retval; if ( state.backtracking==0 ) stream_78.Add(string_literal247); PushFollow(FOLLOW_numberunit_in_size2709); numberunit248 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit248.Tree); } break; } char_literal249=(IToken)Match(input,53,FOLLOW_53_in_size2713); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal249); // AST REWRITE // elements: numberunit // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 433:46: -> ^( IM_SIZE ( numberunit )* ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:49: ^( IM_SIZE ( numberunit )* ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_SIZE, "IM_SIZE"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:433:59: ( numberunit )* while ( stream_numberunit.HasNext() ) { adaptor.AddChild(root_1, stream_numberunit.NextTree()); } stream_numberunit.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "option_kv" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:176:1: option_kv : idd ( '=' iddornumberunitorstringorrange )? -> ^( IM_OPTION_KV idd ( iddornumberunitorstringorrange )? ) ; public simpletikzParser.option_kv_return option_kv() { simpletikzParser.option_kv_return retval = new simpletikzParser.option_kv_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal36 = null; simpletikzParser.idd_return idd35 = default(simpletikzParser.idd_return); simpletikzParser.iddornumberunitorstringorrange_return iddornumberunitorstringorrange37 = default(simpletikzParser.iddornumberunitorstringorrange_return); object char_literal36_tree=null; RewriteRuleTokenStream stream_45 = new RewriteRuleTokenStream(adaptor,"token 45"); RewriteRuleSubtreeStream stream_iddornumberunitorstringorrange = new RewriteRuleSubtreeStream(adaptor,"rule iddornumberunitorstringorrange"); RewriteRuleSubtreeStream stream_idd = new RewriteRuleSubtreeStream(adaptor,"rule idd"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:2: ( idd ( '=' iddornumberunitorstringorrange )? -> ^( IM_OPTION_KV idd ( iddornumberunitorstringorrange )? ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:4: idd ( '=' iddornumberunitorstringorrange )? { PushFollow(FOLLOW_idd_in_option_kv524); idd35 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd35.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:8: ( '=' iddornumberunitorstringorrange )? int alt11 = 2; int LA11_0 = input.LA(1); if ( (LA11_0 == 45) ) { alt11 = 1; } switch (alt11) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:9: '=' iddornumberunitorstringorrange { char_literal36=(IToken)Match(input,45,FOLLOW_45_in_option_kv527); if (state.failed) return retval; if ( state.backtracking==0 ) stream_45.Add(char_literal36); PushFollow(FOLLOW_iddornumberunitorstringorrange_in_option_kv529); iddornumberunitorstringorrange37 = iddornumberunitorstringorrange(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_iddornumberunitorstringorrange.Add(iddornumberunitorstringorrange37.Tree); } break; } // AST REWRITE // elements: idd, iddornumberunitorstringorrange // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 177:47: -> ^( IM_OPTION_KV idd ( iddornumberunitorstringorrange )? ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:50: ^( IM_OPTION_KV idd ( iddornumberunitorstringorrange )? ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_OPTION_KV, "IM_OPTION_KV"), root_1); adaptor.AddChild(root_1, stream_idd.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:177:69: ( iddornumberunitorstringorrange )? if ( stream_iddornumberunitorstringorrange.HasNext() ) { adaptor.AddChild(root_1, stream_iddornumberunitorstringorrange.NextTree()); } stream_iddornumberunitorstringorrange.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// $ANTLR start "typeDeclarations" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:132:1: typeDeclarations : ( structDeclaration )* -> ^( TYPE_DECLARATIONS ( structDeclaration )* ) ; public PsimulexParser.typeDeclarations_return typeDeclarations() // throws RecognitionException [1] { PsimulexParser.typeDeclarations_return retval = new PsimulexParser.typeDeclarations_return(); retval.Start = input.LT(1); int typeDeclarations_StartIndex = input.Index(); CommonTree root_0 = null; PsimulexParser.structDeclaration_return structDeclaration12 = default(PsimulexParser.structDeclaration_return); RewriteRuleSubtreeStream stream_structDeclaration = new RewriteRuleSubtreeStream(adaptor,"rule structDeclaration"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 6) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:133:5: ( ( structDeclaration )* -> ^( TYPE_DECLARATIONS ( structDeclaration )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:133:9: ( structDeclaration )* { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:133:9: ( structDeclaration )* do { int alt5 = 2; int LA5_0 = input.LA(1); if ( (LA5_0 == Struct) ) { alt5 = 1; } switch (alt5) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:0:0: structDeclaration { PushFollow(FOLLOW_structDeclaration_in_typeDeclarations519); structDeclaration12 = structDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_structDeclaration.Add(structDeclaration12.Tree); } break; default: goto loop5; } } while (true); loop5: ; // Stops C# compiler whining that label 'loop5' has no statements // AST REWRITE // elements: structDeclaration // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 133:28: -> ^( TYPE_DECLARATIONS ( structDeclaration )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:133:31: ^( TYPE_DECLARATIONS ( structDeclaration )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(TYPE_DECLARATIONS, "TYPE_DECLARATIONS"), root_1); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:133:52: ( structDeclaration )* while ( stream_structDeclaration.HasNext() ) { adaptor.AddChild(root_1, stream_structDeclaration.NextTree()); } stream_structDeclaration.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 6, typeDeclarations_StartIndex); } } return retval; }
// $ANTLR start "elseIfBranches" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:1: elseIfBranches : ( ElseIf condition core )* -> ^( ELSEIFBRANCHES ( ^( CONDITIONALBRANCH condition core ) )* ) ; public PsimulexParser.elseIfBranches_return elseIfBranches() // throws RecognitionException [1] { PsimulexParser.elseIfBranches_return retval = new PsimulexParser.elseIfBranches_return(); retval.Start = input.LT(1); int elseIfBranches_StartIndex = input.Index(); CommonTree root_0 = null; IToken ElseIf218 = null; PsimulexParser.condition_return condition219 = default(PsimulexParser.condition_return); PsimulexParser.core_return core220 = default(PsimulexParser.core_return); CommonTree ElseIf218_tree=null; RewriteRuleTokenStream stream_ElseIf = new RewriteRuleTokenStream(adaptor,"token ElseIf"); RewriteRuleSubtreeStream stream_condition = new RewriteRuleSubtreeStream(adaptor,"rule condition"); RewriteRuleSubtreeStream stream_core = new RewriteRuleSubtreeStream(adaptor,"rule core"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 69) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:17: ( ( ElseIf condition core )* -> ^( ELSEIFBRANCHES ( ^( CONDITIONALBRANCH condition core ) )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:19: ( ElseIf condition core )* { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:19: ( ElseIf condition core )* do { int alt52 = 2; int LA52_0 = input.LA(1); if ( (LA52_0 == ElseIf) ) { alt52 = 1; } switch (alt52) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:21: ElseIf condition core { ElseIf218=(IToken)Match(input,ElseIf,FOLLOW_ElseIf_in_elseIfBranches2882); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_ElseIf.Add(ElseIf218); PushFollow(FOLLOW_condition_in_elseIfBranches2884); condition219 = condition(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_condition.Add(condition219.Tree); PushFollow(FOLLOW_core_in_elseIfBranches2886); core220 = core(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_core.Add(core220.Tree); } break; default: goto loop52; } } while (true); loop52: ; // Stops C# compiler whining that label 'loop52' has no statements // AST REWRITE // elements: core, condition // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 531:46: -> ^( ELSEIFBRANCHES ( ^( CONDITIONALBRANCH condition core ) )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:49: ^( ELSEIFBRANCHES ( ^( CONDITIONALBRANCH condition core ) )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(ELSEIFBRANCHES, "ELSEIFBRANCHES"), root_1); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:67: ( ^( CONDITIONALBRANCH condition core ) )* while ( stream_core.HasNext() || stream_condition.HasNext() ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:531:69: ^( CONDITIONALBRANCH condition core ) { CommonTree root_2 = (CommonTree)adaptor.GetNilNode(); root_2 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(CONDITIONALBRANCH, "CONDITIONALBRANCH"), root_2); adaptor.AddChild(root_2, stream_condition.NextTree()); adaptor.AddChild(root_2, stream_core.NextTree()); adaptor.AddChild(root_1, root_2); } } stream_core.Reset(); stream_condition.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 69, elseIfBranches_StartIndex); } } return retval; }
// $ANTLR start "statement" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:504:1: statement : ( ifStatement -> ^( IFSTATEMENT ifStatement ) | ( forStatement | pForStatement ) | ( forEachStatement | pForEachStatement ) | loopStatement | whileStatement | doStatement | PDo block -> ^( PDOSTATEMENT block ) | Async block -> ^( ASYNCSTATEMENT block ) | Lock '(' Identifier ')' block -> ^( LOCKSTATEMENT Identifier block ) | Return ( expression )? ';' -> ^( RETURN_STATEMENT Return ( expression )? ) | Break ';' | ';' | expression ';' -> ^( EXPRESSION_STATEMENT expression ) | localVariableDeclaration ';' -> ^( VARIABLE_DECLARATION_STATEMENT localVariableDeclaration ) ); public PsimulexParser.statement_return statement() // throws RecognitionException [1] { PsimulexParser.statement_return retval = new PsimulexParser.statement_return(); retval.Start = input.LT(1); int statement_StartIndex = input.Index(); CommonTree root_0 = null; IToken PDo185 = null; IToken Async187 = null; IToken Lock189 = null; IToken char_literal190 = null; IToken Identifier191 = null; IToken char_literal192 = null; IToken Return194 = null; IToken char_literal196 = null; IToken Break197 = null; IToken char_literal198 = null; IToken char_literal199 = null; IToken char_literal201 = null; IToken char_literal203 = null; PsimulexParser.ifStatement_return ifStatement177 = default(PsimulexParser.ifStatement_return); PsimulexParser.forStatement_return forStatement178 = default(PsimulexParser.forStatement_return); PsimulexParser.pForStatement_return pForStatement179 = default(PsimulexParser.pForStatement_return); PsimulexParser.forEachStatement_return forEachStatement180 = default(PsimulexParser.forEachStatement_return); PsimulexParser.pForEachStatement_return pForEachStatement181 = default(PsimulexParser.pForEachStatement_return); PsimulexParser.loopStatement_return loopStatement182 = default(PsimulexParser.loopStatement_return); PsimulexParser.whileStatement_return whileStatement183 = default(PsimulexParser.whileStatement_return); PsimulexParser.doStatement_return doStatement184 = default(PsimulexParser.doStatement_return); PsimulexParser.block_return block186 = default(PsimulexParser.block_return); PsimulexParser.block_return block188 = default(PsimulexParser.block_return); PsimulexParser.block_return block193 = default(PsimulexParser.block_return); PsimulexParser.expression_return expression195 = default(PsimulexParser.expression_return); PsimulexParser.expression_return expression200 = default(PsimulexParser.expression_return); PsimulexParser.localVariableDeclaration_return localVariableDeclaration202 = default(PsimulexParser.localVariableDeclaration_return); CommonTree PDo185_tree=null; CommonTree Async187_tree=null; CommonTree Lock189_tree=null; CommonTree char_literal190_tree=null; CommonTree Identifier191_tree=null; CommonTree char_literal192_tree=null; CommonTree Return194_tree=null; CommonTree char_literal196_tree=null; CommonTree Break197_tree=null; CommonTree char_literal198_tree=null; CommonTree char_literal199_tree=null; CommonTree char_literal201_tree=null; CommonTree char_literal203_tree=null; RewriteRuleTokenStream stream_143 = new RewriteRuleTokenStream(adaptor,"token 143"); RewriteRuleTokenStream stream_Async = new RewriteRuleTokenStream(adaptor,"token Async"); RewriteRuleTokenStream stream_150 = new RewriteRuleTokenStream(adaptor,"token 150"); RewriteRuleTokenStream stream_149 = new RewriteRuleTokenStream(adaptor,"token 149"); RewriteRuleTokenStream stream_Return = new RewriteRuleTokenStream(adaptor,"token Return"); RewriteRuleTokenStream stream_Lock = new RewriteRuleTokenStream(adaptor,"token Lock"); RewriteRuleTokenStream stream_Identifier = new RewriteRuleTokenStream(adaptor,"token Identifier"); RewriteRuleTokenStream stream_PDo = new RewriteRuleTokenStream(adaptor,"token PDo"); RewriteRuleSubtreeStream stream_expression = new RewriteRuleSubtreeStream(adaptor,"rule expression"); RewriteRuleSubtreeStream stream_block = new RewriteRuleSubtreeStream(adaptor,"rule block"); RewriteRuleSubtreeStream stream_localVariableDeclaration = new RewriteRuleSubtreeStream(adaptor,"rule localVariableDeclaration"); RewriteRuleSubtreeStream stream_ifStatement = new RewriteRuleSubtreeStream(adaptor,"rule ifStatement"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 65) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:505:5: ( ifStatement -> ^( IFSTATEMENT ifStatement ) | ( forStatement | pForStatement ) | ( forEachStatement | pForEachStatement ) | loopStatement | whileStatement | doStatement | PDo block -> ^( PDOSTATEMENT block ) | Async block -> ^( ASYNCSTATEMENT block ) | Lock '(' Identifier ')' block -> ^( LOCKSTATEMENT Identifier block ) | Return ( expression )? ';' -> ^( RETURN_STATEMENT Return ( expression )? ) | Break ';' | ';' | expression ';' -> ^( EXPRESSION_STATEMENT expression ) | localVariableDeclaration ';' -> ^( VARIABLE_DECLARATION_STATEMENT localVariableDeclaration ) ) int alt47 = 14; alt47 = dfa47.Predict(input); switch (alt47) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:505:7: ifStatement { PushFollow(FOLLOW_ifStatement_in_statement2466); ifStatement177 = ifStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_ifStatement.Add(ifStatement177.Tree); // AST REWRITE // elements: ifStatement // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 505:19: -> ^( IFSTATEMENT ifStatement ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:505:22: ^( IFSTATEMENT ifStatement ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(IFSTATEMENT, "IFSTATEMENT"), root_1); adaptor.AddChild(root_1, stream_ifStatement.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:506:7: ( forStatement | pForStatement ) { root_0 = (CommonTree)adaptor.GetNilNode(); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:506:7: ( forStatement | pForStatement ) int alt44 = 2; int LA44_0 = input.LA(1); if ( (LA44_0 == For) ) { alt44 = 1; } else if ( (LA44_0 == PFor) ) { alt44 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d44s0 = new NoViableAltException("", 44, 0, input); throw nvae_d44s0; } switch (alt44) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:506:9: forStatement { PushFollow(FOLLOW_forStatement_in_statement2486); forStatement178 = forStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, forStatement178.Tree); } break; case 2 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:506:24: pForStatement { PushFollow(FOLLOW_pForStatement_in_statement2490); pForStatement179 = pForStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, pForStatement179.Tree); } break; } } break; case 3 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:507:9: ( forEachStatement | pForEachStatement ) { root_0 = (CommonTree)adaptor.GetNilNode(); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:507:9: ( forEachStatement | pForEachStatement ) int alt45 = 2; int LA45_0 = input.LA(1); if ( (LA45_0 == ForEach) ) { alt45 = 1; } else if ( (LA45_0 == PForEach) ) { alt45 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d45s0 = new NoViableAltException("", 45, 0, input); throw nvae_d45s0; } switch (alt45) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:507:11: forEachStatement { PushFollow(FOLLOW_forEachStatement_in_statement2504); forEachStatement180 = forEachStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, forEachStatement180.Tree); } break; case 2 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:507:30: pForEachStatement { PushFollow(FOLLOW_pForEachStatement_in_statement2508); pForEachStatement181 = pForEachStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, pForEachStatement181.Tree); } break; } } break; case 4 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:508:9: loopStatement { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_loopStatement_in_statement2520); loopStatement182 = loopStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, loopStatement182.Tree); } break; case 5 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:509:9: whileStatement { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_whileStatement_in_statement2530); whileStatement183 = whileStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, whileStatement183.Tree); } break; case 6 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:510:9: doStatement { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_doStatement_in_statement2540); doStatement184 = doStatement(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, doStatement184.Tree); } break; case 7 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:511:9: PDo block { PDo185=(IToken)Match(input,PDo,FOLLOW_PDo_in_statement2553); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_PDo.Add(PDo185); PushFollow(FOLLOW_block_in_statement2555); block186 = block(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_block.Add(block186.Tree); // AST REWRITE // elements: block // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 511:19: -> ^( PDOSTATEMENT block ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:511:22: ^( PDOSTATEMENT block ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(PDOSTATEMENT, "PDOSTATEMENT"), root_1); adaptor.AddChild(root_1, stream_block.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 8 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:512:9: Async block { Async187=(IToken)Match(input,Async,FOLLOW_Async_in_statement2584); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_Async.Add(Async187); PushFollow(FOLLOW_block_in_statement2586); block188 = block(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_block.Add(block188.Tree); // AST REWRITE // elements: block // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 512:21: -> ^( ASYNCSTATEMENT block ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:512:24: ^( ASYNCSTATEMENT block ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(ASYNCSTATEMENT, "ASYNCSTATEMENT"), root_1); adaptor.AddChild(root_1, stream_block.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 9 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:513:9: Lock '(' Identifier ')' block { Lock189=(IToken)Match(input,Lock,FOLLOW_Lock_in_statement2614); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_Lock.Add(Lock189); char_literal190=(IToken)Match(input,149,FOLLOW_149_in_statement2616); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_149.Add(char_literal190); Identifier191=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_statement2618); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_Identifier.Add(Identifier191); char_literal192=(IToken)Match(input,150,FOLLOW_150_in_statement2620); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_150.Add(char_literal192); PushFollow(FOLLOW_block_in_statement2622); block193 = block(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_block.Add(block193.Tree); // AST REWRITE // elements: Identifier, block // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 513:39: -> ^( LOCKSTATEMENT Identifier block ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:513:42: ^( LOCKSTATEMENT Identifier block ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(LOCKSTATEMENT, "LOCKSTATEMENT"), root_1); adaptor.AddChild(root_1, stream_Identifier.NextNode()); adaptor.AddChild(root_1, stream_block.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 10 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:514:9: Return ( expression )? ';' { Return194=(IToken)Match(input,Return,FOLLOW_Return_in_statement2645); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_Return.Add(Return194); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:514:16: ( expression )? int alt46 = 2; int LA46_0 = input.LA(1); if ( (LA46_0 == StringLiteral || LA46_0 == Identifier || LA46_0 == Reference || LA46_0 == Minus || (LA46_0 >= LogicalNot && LA46_0 <= New) || LA46_0 == 149) ) { alt46 = 1; } switch (alt46) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:0:0: expression { PushFollow(FOLLOW_expression_in_statement2647); expression195 = expression(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_expression.Add(expression195.Tree); } break; } char_literal196=(IToken)Match(input,143,FOLLOW_143_in_statement2650); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_143.Add(char_literal196); // AST REWRITE // elements: expression, Return // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 514:32: -> ^( RETURN_STATEMENT Return ( expression )? ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:514:35: ^( RETURN_STATEMENT Return ( expression )? ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(RETURN_STATEMENT, "RETURN_STATEMENT"), root_1); adaptor.AddChild(root_1, stream_Return.NextNode()); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:514:62: ( expression )? if ( stream_expression.HasNext() ) { adaptor.AddChild(root_1, stream_expression.NextTree()); } stream_expression.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 11 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:515:9: Break ';' { root_0 = (CommonTree)adaptor.GetNilNode(); Break197=(IToken)Match(input,Break,FOLLOW_Break_in_statement2673); if (state.failed) return retval; if ( state.backtracking == 0 ) {Break197_tree = (CommonTree)adaptor.Create(Break197); adaptor.AddChild(root_0, Break197_tree); } char_literal198=(IToken)Match(input,143,FOLLOW_143_in_statement2675); if (state.failed) return retval; } break; case 12 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:517:9: ';' { root_0 = (CommonTree)adaptor.GetNilNode(); char_literal199=(IToken)Match(input,143,FOLLOW_143_in_statement2687); if (state.failed) return retval; } break; case 13 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:518:9: expression ';' { PushFollow(FOLLOW_expression_in_statement2698); expression200 = expression(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_expression.Add(expression200.Tree); char_literal201=(IToken)Match(input,143,FOLLOW_143_in_statement2700); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_143.Add(char_literal201); // AST REWRITE // elements: expression // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 518:24: -> ^( EXPRESSION_STATEMENT expression ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:518:27: ^( EXPRESSION_STATEMENT expression ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(EXPRESSION_STATEMENT, "EXPRESSION_STATEMENT"), root_1); adaptor.AddChild(root_1, stream_expression.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 14 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:519:7: localVariableDeclaration ';' { PushFollow(FOLLOW_localVariableDeclaration_in_statement2718); localVariableDeclaration202 = localVariableDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_localVariableDeclaration.Add(localVariableDeclaration202.Tree); char_literal203=(IToken)Match(input,143,FOLLOW_143_in_statement2720); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_143.Add(char_literal203); // AST REWRITE // elements: localVariableDeclaration // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 519:36: -> ^( VARIABLE_DECLARATION_STATEMENT localVariableDeclaration ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:519:39: ^( VARIABLE_DECLARATION_STATEMENT localVariableDeclaration ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(VARIABLE_DECLARATION_STATEMENT, "VARIABLE_DECLARATION_STATEMENT"), root_1); adaptor.AddChild(root_1, stream_localVariableDeclaration.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 65, statement_StartIndex); } } return retval; }
// $ANTLR start "block" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:496:1: block : '{' ( statement )* '}' -> ^( BLOCK ( ^( STATEMENT statement ) )* ) ; public PsimulexParser.block_return block() // throws RecognitionException [1] { PsimulexParser.block_return retval = new PsimulexParser.block_return(); retval.Start = input.LT(1); int block_StartIndex = input.Index(); CommonTree root_0 = null; IToken char_literal172 = null; IToken char_literal174 = null; PsimulexParser.statement_return statement173 = default(PsimulexParser.statement_return); CommonTree char_literal172_tree=null; CommonTree char_literal174_tree=null; RewriteRuleTokenStream stream_144 = new RewriteRuleTokenStream(adaptor,"token 144"); RewriteRuleTokenStream stream_145 = new RewriteRuleTokenStream(adaptor,"token 145"); RewriteRuleSubtreeStream stream_statement = new RewriteRuleSubtreeStream(adaptor,"rule statement"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 63) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:5: ( '{' ( statement )* '}' -> ^( BLOCK ( ^( STATEMENT statement ) )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:9: '{' ( statement )* '}' { char_literal172=(IToken)Match(input,144,FOLLOW_144_in_block2398); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_144.Add(char_literal172); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:13: ( statement )* do { int alt42 = 2; int LA42_0 = input.LA(1); if ( (LA42_0 == StringLiteral || LA42_0 == Identifier || (LA42_0 >= Reference && LA42_0 <= Iterator) || LA42_0 == Minus || (LA42_0 >= LogicalNot && LA42_0 <= If) || (LA42_0 >= For && LA42_0 <= ForEach) || LA42_0 == Loop || LA42_0 == 143 || LA42_0 == 149) ) { alt42 = 1; } switch (alt42) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:0:0: statement { PushFollow(FOLLOW_statement_in_block2400); statement173 = statement(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_statement.Add(statement173.Tree); } break; default: goto loop42; } } while (true); loop42: ; // Stops C# compiler whining that label 'loop42' has no statements char_literal174=(IToken)Match(input,145,FOLLOW_145_in_block2403); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_145.Add(char_literal174); // AST REWRITE // elements: statement // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 497:28: -> ^( BLOCK ( ^( STATEMENT statement ) )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:31: ^( BLOCK ( ^( STATEMENT statement ) )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(BLOCK, "BLOCK"), root_1); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:40: ( ^( STATEMENT statement ) )* while ( stream_statement.HasNext() ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:497:40: ^( STATEMENT statement ) { CommonTree root_2 = (CommonTree)adaptor.GetNilNode(); root_2 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(STATEMENT, "STATEMENT"), root_2); adaptor.AddChild(root_2, stream_statement.NextTree()); adaptor.AddChild(root_1, root_2); } } stream_statement.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 63, block_StartIndex); } } return retval; }
// $ANTLR start "constantArrayInitializer" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:453:1: constantArrayInitializer : New dataType '[' constantData ( ',' constantData )* ']' -> ^( ARRAY_INITIALIZER dataType constantData ( constantData )* ) ; public PsimulexParser.constantArrayInitializer_return constantArrayInitializer() // throws RecognitionException [1] { PsimulexParser.constantArrayInitializer_return retval = new PsimulexParser.constantArrayInitializer_return(); retval.Start = input.LT(1); int constantArrayInitializer_StartIndex = input.Index(); CommonTree root_0 = null; IToken New165 = null; IToken char_literal167 = null; IToken char_literal169 = null; IToken char_literal171 = null; PsimulexParser.dataType_return dataType166 = default(PsimulexParser.dataType_return); PsimulexParser.constantData_return constantData168 = default(PsimulexParser.constantData_return); PsimulexParser.constantData_return constantData170 = default(PsimulexParser.constantData_return); CommonTree New165_tree=null; CommonTree char_literal167_tree=null; CommonTree char_literal169_tree=null; CommonTree char_literal171_tree=null; RewriteRuleTokenStream stream_146 = new RewriteRuleTokenStream(adaptor,"token 146"); RewriteRuleTokenStream stream_147 = new RewriteRuleTokenStream(adaptor,"token 147"); RewriteRuleTokenStream stream_148 = new RewriteRuleTokenStream(adaptor,"token 148"); RewriteRuleTokenStream stream_New = new RewriteRuleTokenStream(adaptor,"token New"); RewriteRuleSubtreeStream stream_constantData = new RewriteRuleSubtreeStream(adaptor,"rule constantData"); RewriteRuleSubtreeStream stream_dataType = new RewriteRuleSubtreeStream(adaptor,"rule dataType"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 62) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:2: ( New dataType '[' constantData ( ',' constantData )* ']' -> ^( ARRAY_INITIALIZER dataType constantData ( constantData )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:4: New dataType '[' constantData ( ',' constantData )* ']' { New165=(IToken)Match(input,New,FOLLOW_New_in_constantArrayInitializer2329); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_New.Add(New165); PushFollow(FOLLOW_dataType_in_constantArrayInitializer2331); dataType166 = dataType(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_dataType.Add(dataType166.Tree); char_literal167=(IToken)Match(input,146,FOLLOW_146_in_constantArrayInitializer2333); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_146.Add(char_literal167); PushFollow(FOLLOW_constantData_in_constantArrayInitializer2335); constantData168 = constantData(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_constantData.Add(constantData168.Tree); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:34: ( ',' constantData )* do { int alt41 = 2; int LA41_0 = input.LA(1); if ( (LA41_0 == 147) ) { alt41 = 1; } switch (alt41) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:36: ',' constantData { char_literal169=(IToken)Match(input,147,FOLLOW_147_in_constantArrayInitializer2339); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_147.Add(char_literal169); PushFollow(FOLLOW_constantData_in_constantArrayInitializer2341); constantData170 = constantData(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_constantData.Add(constantData170.Tree); } break; default: goto loop41; } } while (true); loop41: ; // Stops C# compiler whining that label 'loop41' has no statements char_literal171=(IToken)Match(input,148,FOLLOW_148_in_constantArrayInitializer2346); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_148.Add(char_literal171); // AST REWRITE // elements: constantData, constantData, dataType // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 454:60: -> ^( ARRAY_INITIALIZER dataType constantData ( constantData )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:63: ^( ARRAY_INITIALIZER dataType constantData ( constantData )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(ARRAY_INITIALIZER, "ARRAY_INITIALIZER"), root_1); adaptor.AddChild(root_1, stream_dataType.NextTree()); adaptor.AddChild(root_1, stream_constantData.NextTree()); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:454:106: ( constantData )* while ( stream_constantData.HasNext() ) { adaptor.AddChild(root_1, stream_constantData.NextTree()); } stream_constantData.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 62, constantArrayInitializer_StartIndex); } } return retval; }
// $ANTLR start "constantCollectionInitializer" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:449:1: constantCollectionInitializer : New collectionType '{' constantData ( ',' constantData )* '}' -> ^( COLLECTION_INITIALIZER collectionType constantData ( constantData )* ) ; public PsimulexParser.constantCollectionInitializer_return constantCollectionInitializer() // throws RecognitionException [1] { PsimulexParser.constantCollectionInitializer_return retval = new PsimulexParser.constantCollectionInitializer_return(); retval.Start = input.LT(1); int constantCollectionInitializer_StartIndex = input.Index(); CommonTree root_0 = null; IToken New158 = null; IToken char_literal160 = null; IToken char_literal162 = null; IToken char_literal164 = null; PsimulexParser.collectionType_return collectionType159 = default(PsimulexParser.collectionType_return); PsimulexParser.constantData_return constantData161 = default(PsimulexParser.constantData_return); PsimulexParser.constantData_return constantData163 = default(PsimulexParser.constantData_return); CommonTree New158_tree=null; CommonTree char_literal160_tree=null; CommonTree char_literal162_tree=null; CommonTree char_literal164_tree=null; RewriteRuleTokenStream stream_144 = new RewriteRuleTokenStream(adaptor,"token 144"); RewriteRuleTokenStream stream_145 = new RewriteRuleTokenStream(adaptor,"token 145"); RewriteRuleTokenStream stream_147 = new RewriteRuleTokenStream(adaptor,"token 147"); RewriteRuleTokenStream stream_New = new RewriteRuleTokenStream(adaptor,"token New"); RewriteRuleSubtreeStream stream_collectionType = new RewriteRuleSubtreeStream(adaptor,"rule collectionType"); RewriteRuleSubtreeStream stream_constantData = new RewriteRuleSubtreeStream(adaptor,"rule constantData"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 61) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:2: ( New collectionType '{' constantData ( ',' constantData )* '}' -> ^( COLLECTION_INITIALIZER collectionType constantData ( constantData )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:4: New collectionType '{' constantData ( ',' constantData )* '}' { New158=(IToken)Match(input,New,FOLLOW_New_in_constantCollectionInitializer2282); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_New.Add(New158); PushFollow(FOLLOW_collectionType_in_constantCollectionInitializer2284); collectionType159 = collectionType(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_collectionType.Add(collectionType159.Tree); char_literal160=(IToken)Match(input,144,FOLLOW_144_in_constantCollectionInitializer2286); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_144.Add(char_literal160); PushFollow(FOLLOW_constantData_in_constantCollectionInitializer2288); constantData161 = constantData(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_constantData.Add(constantData161.Tree); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:40: ( ',' constantData )* do { int alt40 = 2; int LA40_0 = input.LA(1); if ( (LA40_0 == 147) ) { alt40 = 1; } switch (alt40) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:42: ',' constantData { char_literal162=(IToken)Match(input,147,FOLLOW_147_in_constantCollectionInitializer2292); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_147.Add(char_literal162); PushFollow(FOLLOW_constantData_in_constantCollectionInitializer2294); constantData163 = constantData(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_constantData.Add(constantData163.Tree); } break; default: goto loop40; } } while (true); loop40: ; // Stops C# compiler whining that label 'loop40' has no statements char_literal164=(IToken)Match(input,145,FOLLOW_145_in_constantCollectionInitializer2299); if (state.failed) return retval; if ( (state.backtracking==0) ) stream_145.Add(char_literal164); // AST REWRITE // elements: constantData, collectionType, constantData // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 450:66: -> ^( COLLECTION_INITIALIZER collectionType constantData ( constantData )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:69: ^( COLLECTION_INITIALIZER collectionType constantData ( constantData )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(COLLECTION_INITIALIZER, "COLLECTION_INITIALIZER"), root_1); adaptor.AddChild(root_1, stream_collectionType.NextTree()); adaptor.AddChild(root_1, stream_constantData.NextTree()); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:450:123: ( constantData )* while ( stream_constantData.HasNext() ) { adaptor.AddChild(root_1, stream_constantData.NextTree()); } stream_constantData.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 61, constantCollectionInitializer_StartIndex); } } return retval; }
// $ANTLR start "globalVariableDeclarations" // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:111:1: globalVariableDeclarations : ( memberDeclaration )* -> ^( GLOBAL_VARIABLE_DECLARATIONS ( memberDeclaration )* ) ; public PsimulexParser.globalVariableDeclarations_return globalVariableDeclarations() // throws RecognitionException [1] { PsimulexParser.globalVariableDeclarations_return retval = new PsimulexParser.globalVariableDeclarations_return(); retval.Start = input.LT(1); int globalVariableDeclarations_StartIndex = input.Index(); CommonTree root_0 = null; PsimulexParser.memberDeclaration_return memberDeclaration8 = default(PsimulexParser.memberDeclaration_return); RewriteRuleSubtreeStream stream_memberDeclaration = new RewriteRuleSubtreeStream(adaptor,"rule memberDeclaration"); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 4) ) { return retval; } // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:112:2: ( ( memberDeclaration )* -> ^( GLOBAL_VARIABLE_DECLARATIONS ( memberDeclaration )* ) ) // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:112:4: ( memberDeclaration )* { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:112:4: ( memberDeclaration )* do { int alt3 = 2; alt3 = dfa3.Predict(input); switch (alt3) { case 1 : // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:0:0: memberDeclaration { PushFollow(FOLLOW_memberDeclaration_in_globalVariableDeclarations442); memberDeclaration8 = memberDeclaration(); state.followingStackPointer--; if (state.failed) return retval; if ( (state.backtracking==0) ) stream_memberDeclaration.Add(memberDeclaration8.Tree); } break; default: goto loop3; } } while (true); loop3: ; // Stops C# compiler whining that label 'loop3' has no statements // AST REWRITE // elements: memberDeclaration // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking==0) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 112:23: -> ^( GLOBAL_VARIABLE_DECLARATIONS ( memberDeclaration )* ) { // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:112:26: ^( GLOBAL_VARIABLE_DECLARATIONS ( memberDeclaration )* ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GLOBAL_VARIABLE_DECLARATIONS, "GLOBAL_VARIABLE_DECLARATIONS"), root_1); // C:\\Works\\Psimulex\\VapeTeam.Psimulex\\VapeTeam.Psimulex.Compiler.Antlr\\Grammar\\Psimulex.g:112:58: ( memberDeclaration )* while ( stream_memberDeclaration.HasNext() ) { adaptor.AddChild(root_1, stream_memberDeclaration.NextTree()); } stream_memberDeclaration.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 4, globalVariableDeclarations_StartIndex); } } return retval; }
// throws RecognitionException [1] // $ANTLR start "numberunit" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:223:1: numberunit : number ( unit )? -> ^( IM_NUMBERUNIT number ( unit )? ) ; public simpletikzParser.numberunit_return numberunit() { simpletikzParser.numberunit_return retval = new simpletikzParser.numberunit_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.number_return number73 = default(simpletikzParser.number_return); simpletikzParser.unit_return unit74 = default(simpletikzParser.unit_return); RewriteRuleSubtreeStream stream_unit = new RewriteRuleSubtreeStream(adaptor,"rule unit"); RewriteRuleSubtreeStream stream_number = new RewriteRuleSubtreeStream(adaptor,"rule number"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:2: ( number ( unit )? -> ^( IM_NUMBERUNIT number ( unit )? ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:4: number ( unit )? { PushFollow(FOLLOW_number_in_numberunit883); number73 = number(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_number.Add(number73.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:11: ( unit )? int alt24 = 2; int LA24_0 = input.LA(1); if ( ((LA24_0 >= 57 && LA24_0 <= 62)) ) { alt24 = 1; } switch (alt24) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:11: unit { PushFollow(FOLLOW_unit_in_numberunit885); unit74 = unit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_unit.Add(unit74.Tree); } break; } // AST REWRITE // elements: number, unit // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 224:17: -> ^( IM_NUMBERUNIT number ( unit )? ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:20: ^( IM_NUMBERUNIT number ( unit )? ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_NUMBERUNIT, "IM_NUMBERUNIT"), root_1); adaptor.AddChild(root_1, stream_number.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:224:43: ( unit )? if ( stream_unit.HasNext() ) { adaptor.AddChild(root_1, stream_unit.NextTree()); } stream_unit.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikz_options" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:167:1: tikz_options : squarebr_start ( option ( ',' option )* ( ',' )? )? ( tikzstring )? squarebr_end -> ^( IM_OPTIONS squarebr_start ( option )* squarebr_end ) ; public simpletikzParser.tikz_options_return tikz_options() { simpletikzParser.tikz_options_return retval = new simpletikzParser.tikz_options_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal28 = null; IToken char_literal30 = null; simpletikzParser.squarebr_start_return squarebr_start26 = default(simpletikzParser.squarebr_start_return); simpletikzParser.option_return option27 = default(simpletikzParser.option_return); simpletikzParser.option_return option29 = default(simpletikzParser.option_return); simpletikzParser.tikzstring_return tikzstring31 = default(simpletikzParser.tikzstring_return); simpletikzParser.squarebr_end_return squarebr_end32 = default(simpletikzParser.squarebr_end_return); object char_literal28_tree=null; object char_literal30_tree=null; RewriteRuleTokenStream stream_47 = new RewriteRuleTokenStream(adaptor,"token 47"); RewriteRuleSubtreeStream stream_squarebr_start = new RewriteRuleSubtreeStream(adaptor,"rule squarebr_start"); RewriteRuleSubtreeStream stream_tikzstring = new RewriteRuleSubtreeStream(adaptor,"rule tikzstring"); RewriteRuleSubtreeStream stream_squarebr_end = new RewriteRuleSubtreeStream(adaptor,"rule squarebr_end"); RewriteRuleSubtreeStream stream_option = new RewriteRuleSubtreeStream(adaptor,"rule option"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:2: ( squarebr_start ( option ( ',' option )* ( ',' )? )? ( tikzstring )? squarebr_end -> ^( IM_OPTIONS squarebr_start ( option )* squarebr_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:5: squarebr_start ( option ( ',' option )* ( ',' )? )? ( tikzstring )? squarebr_end { PushFollow(FOLLOW_squarebr_start_in_tikz_options456); squarebr_start26 = squarebr_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_squarebr_start.Add(squarebr_start26.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:20: ( option ( ',' option )* ( ',' )? )? int alt8 = 2; int LA8_0 = input.LA(1); if ( ((LA8_0 >= IM_PATH && LA8_0 <= 42) || LA8_0 == 46 || LA8_0 == 51 || (LA8_0 >= 57 && LA8_0 <= 94)) ) { alt8 = 1; } switch (alt8) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:21: option ( ',' option )* ( ',' )? { PushFollow(FOLLOW_option_in_tikz_options459); option27 = option(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option.Add(option27.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:28: ( ',' option )* do { int alt6 = 2; int LA6_0 = input.LA(1); if ( (LA6_0 == 47) ) { int LA6_1 = input.LA(2); if ( ((LA6_1 >= IM_PATH && LA6_1 <= 42) || LA6_1 == 46 || LA6_1 == 51 || (LA6_1 >= 57 && LA6_1 <= 94)) ) { alt6 = 1; } } switch (alt6) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:29: ',' option { char_literal28=(IToken)Match(input,47,FOLLOW_47_in_tikz_options462); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal28); PushFollow(FOLLOW_option_in_tikz_options464); option29 = option(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option.Add(option29.Tree); } break; default: goto loop6; } } while (true); loop6: ; // Stops C# compiler whining that label 'loop6' has no statements // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:42: ( ',' )? int alt7 = 2; int LA7_0 = input.LA(1); if ( (LA7_0 == 47) ) { alt7 = 1; } switch (alt7) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:42: ',' { char_literal30=(IToken)Match(input,47,FOLLOW_47_in_tikz_options468); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal30); } break; } } break; } // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:49: ( tikzstring )? int alt9 = 2; int LA9_0 = input.LA(1); if ( (LA9_0 == 43) ) { alt9 = 1; } switch (alt9) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:49: tikzstring { PushFollow(FOLLOW_tikzstring_in_tikz_options473); tikzstring31 = tikzstring(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzstring.Add(tikzstring31.Tree); } break; } PushFollow(FOLLOW_squarebr_end_in_tikz_options476); squarebr_end32 = squarebr_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_squarebr_end.Add(squarebr_end32.Tree); // AST REWRITE // elements: squarebr_end, squarebr_start, option // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 168:75: -> ^( IM_OPTIONS squarebr_start ( option )* squarebr_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:78: ^( IM_OPTIONS squarebr_start ( option )* squarebr_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_OPTIONS, "IM_OPTIONS"), root_1); adaptor.AddChild(root_1, stream_squarebr_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:168:106: ( option )* while ( stream_option.HasNext() ) { adaptor.AddChild(root_1, stream_option.NextTree()); } stream_option.Reset(); adaptor.AddChild(root_1, stream_squarebr_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "option_style" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:196:1: option_style : idd ( '/.style' | ( '/.append' 'style' ) ) '=' '{' ( option_kv ( ',' option_kv )* )? ( ',' )? '}' -> ^( IM_OPTION_STYLE idd ( option_kv )* ) ; public simpletikzParser.option_style_return option_style() { simpletikzParser.option_style_return retval = new simpletikzParser.option_style_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal58 = null; IToken string_literal59 = null; IToken string_literal60 = null; IToken char_literal61 = null; IToken char_literal62 = null; IToken char_literal64 = null; IToken char_literal66 = null; IToken char_literal67 = null; simpletikzParser.idd_return idd57 = default(simpletikzParser.idd_return); simpletikzParser.option_kv_return option_kv63 = default(simpletikzParser.option_kv_return); simpletikzParser.option_kv_return option_kv65 = default(simpletikzParser.option_kv_return); object string_literal58_tree=null; object string_literal59_tree=null; object string_literal60_tree=null; object char_literal61_tree=null; object char_literal62_tree=null; object char_literal64_tree=null; object char_literal66_tree=null; object char_literal67_tree=null; RewriteRuleTokenStream stream_49 = new RewriteRuleTokenStream(adaptor,"token 49"); RewriteRuleTokenStream stream_43 = new RewriteRuleTokenStream(adaptor,"token 43"); RewriteRuleTokenStream stream_45 = new RewriteRuleTokenStream(adaptor,"token 45"); RewriteRuleTokenStream stream_44 = new RewriteRuleTokenStream(adaptor,"token 44"); RewriteRuleTokenStream stream_47 = new RewriteRuleTokenStream(adaptor,"token 47"); RewriteRuleTokenStream stream_51 = new RewriteRuleTokenStream(adaptor,"token 51"); RewriteRuleTokenStream stream_50 = new RewriteRuleTokenStream(adaptor,"token 50"); RewriteRuleSubtreeStream stream_idd = new RewriteRuleSubtreeStream(adaptor,"rule idd"); RewriteRuleSubtreeStream stream_option_kv = new RewriteRuleSubtreeStream(adaptor,"rule option_kv"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:2: ( idd ( '/.style' | ( '/.append' 'style' ) ) '=' '{' ( option_kv ( ',' option_kv )* )? ( ',' )? '}' -> ^( IM_OPTION_STYLE idd ( option_kv )* ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:4: idd ( '/.style' | ( '/.append' 'style' ) ) '=' '{' ( option_kv ( ',' option_kv )* )? ( ',' )? '}' { PushFollow(FOLLOW_idd_in_option_style697); idd57 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd57.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:8: ( '/.style' | ( '/.append' 'style' ) ) int alt17 = 2; int LA17_0 = input.LA(1); if ( (LA17_0 == 49) ) { alt17 = 1; } else if ( (LA17_0 == 50) ) { alt17 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d17s0 = new NoViableAltException("", 17, 0, input); throw nvae_d17s0; } switch (alt17) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:9: '/.style' { string_literal58=(IToken)Match(input,49,FOLLOW_49_in_option_style700); if (state.failed) return retval; if ( state.backtracking==0 ) stream_49.Add(string_literal58); } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:21: ( '/.append' 'style' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:21: ( '/.append' 'style' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:22: '/.append' 'style' { string_literal59=(IToken)Match(input,50,FOLLOW_50_in_option_style705); if (state.failed) return retval; if ( state.backtracking==0 ) stream_50.Add(string_literal59); string_literal60=(IToken)Match(input,51,FOLLOW_51_in_option_style707); if (state.failed) return retval; if ( state.backtracking==0 ) stream_51.Add(string_literal60); } } break; } char_literal61=(IToken)Match(input,45,FOLLOW_45_in_option_style711); if (state.failed) return retval; if ( state.backtracking==0 ) stream_45.Add(char_literal61); char_literal62=(IToken)Match(input,43,FOLLOW_43_in_option_style713); if (state.failed) return retval; if ( state.backtracking==0 ) stream_43.Add(char_literal62); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:51: ( option_kv ( ',' option_kv )* )? int alt19 = 2; int LA19_0 = input.LA(1); if ( ((LA19_0 >= IM_PATH && LA19_0 <= 42) || LA19_0 == 46 || LA19_0 == 51 || (LA19_0 >= 57 && LA19_0 <= 94)) ) { alt19 = 1; } switch (alt19) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:52: option_kv ( ',' option_kv )* { PushFollow(FOLLOW_option_kv_in_option_style716); option_kv63 = option_kv(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option_kv.Add(option_kv63.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:62: ( ',' option_kv )* do { int alt18 = 2; int LA18_0 = input.LA(1); if ( (LA18_0 == 47) ) { int LA18_1 = input.LA(2); if ( ((LA18_1 >= IM_PATH && LA18_1 <= 42) || LA18_1 == 46 || LA18_1 == 51 || (LA18_1 >= 57 && LA18_1 <= 94)) ) { alt18 = 1; } } switch (alt18) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:63: ',' option_kv { char_literal64=(IToken)Match(input,47,FOLLOW_47_in_option_style719); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal64); PushFollow(FOLLOW_option_kv_in_option_style721); option_kv65 = option_kv(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option_kv.Add(option_kv65.Tree); } break; default: goto loop18; } } while (true); loop18: ; // Stops C# compiler whining that label 'loop18' has no statements } break; } // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:82: ( ',' )? int alt20 = 2; int LA20_0 = input.LA(1); if ( (LA20_0 == 47) ) { alt20 = 1; } switch (alt20) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:82: ',' { char_literal66=(IToken)Match(input,47,FOLLOW_47_in_option_style728); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal66); } break; } char_literal67=(IToken)Match(input,44,FOLLOW_44_in_option_style731); if (state.failed) return retval; if ( state.backtracking==0 ) stream_44.Add(char_literal67); // AST REWRITE // elements: idd, option_kv // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 197:92: -> ^( IM_OPTION_STYLE idd ( option_kv )* ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:95: ^( IM_OPTION_STYLE idd ( option_kv )* ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_OPTION_STYLE, "IM_OPTION_STYLE"), root_1); adaptor.AddChild(root_1, stream_idd.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:197:117: ( option_kv )* while ( stream_option_kv.HasNext() ) { adaptor.AddChild(root_1, stream_option_kv.NextTree()); } stream_option_kv.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikz_set" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:236:1: tikz_set : tikz_set_start ( option ( ',' option )* ( ',' )? )? roundbr_end -> ^( IM_TIKZSET tikz_set_start ( option )* roundbr_end ) ; public simpletikzParser.tikz_set_return tikz_set() { simpletikzParser.tikz_set_return retval = new simpletikzParser.tikz_set_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal79 = null; IToken char_literal81 = null; simpletikzParser.tikz_set_start_return tikz_set_start77 = default(simpletikzParser.tikz_set_start_return); simpletikzParser.option_return option78 = default(simpletikzParser.option_return); simpletikzParser.option_return option80 = default(simpletikzParser.option_return); simpletikzParser.roundbr_end_return roundbr_end82 = default(simpletikzParser.roundbr_end_return); object char_literal79_tree=null; object char_literal81_tree=null; RewriteRuleTokenStream stream_47 = new RewriteRuleTokenStream(adaptor,"token 47"); RewriteRuleSubtreeStream stream_tikz_set_start = new RewriteRuleSubtreeStream(adaptor,"rule tikz_set_start"); RewriteRuleSubtreeStream stream_roundbr_end = new RewriteRuleSubtreeStream(adaptor,"rule roundbr_end"); RewriteRuleSubtreeStream stream_option = new RewriteRuleSubtreeStream(adaptor,"rule option"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:2: ( tikz_set_start ( option ( ',' option )* ( ',' )? )? roundbr_end -> ^( IM_TIKZSET tikz_set_start ( option )* roundbr_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:5: tikz_set_start ( option ( ',' option )* ( ',' )? )? roundbr_end { PushFollow(FOLLOW_tikz_set_start_in_tikz_set966); tikz_set_start77 = tikz_set_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_set_start.Add(tikz_set_start77.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:20: ( option ( ',' option )* ( ',' )? )? int alt27 = 2; int LA27_0 = input.LA(1); if ( ((LA27_0 >= IM_PATH && LA27_0 <= 42) || LA27_0 == 46 || LA27_0 == 51 || (LA27_0 >= 57 && LA27_0 <= 94)) ) { alt27 = 1; } switch (alt27) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:21: option ( ',' option )* ( ',' )? { PushFollow(FOLLOW_option_in_tikz_set969); option78 = option(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option.Add(option78.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:28: ( ',' option )* do { int alt25 = 2; int LA25_0 = input.LA(1); if ( (LA25_0 == 47) ) { int LA25_1 = input.LA(2); if ( ((LA25_1 >= IM_PATH && LA25_1 <= 42) || LA25_1 == 46 || LA25_1 == 51 || (LA25_1 >= 57 && LA25_1 <= 94)) ) { alt25 = 1; } } switch (alt25) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:29: ',' option { char_literal79=(IToken)Match(input,47,FOLLOW_47_in_tikz_set972); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal79); PushFollow(FOLLOW_option_in_tikz_set974); option80 = option(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_option.Add(option80.Tree); } break; default: goto loop25; } } while (true); loop25: ; // Stops C# compiler whining that label 'loop25' has no statements // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:42: ( ',' )? int alt26 = 2; int LA26_0 = input.LA(1); if ( (LA26_0 == 47) ) { alt26 = 1; } switch (alt26) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:42: ',' { char_literal81=(IToken)Match(input,47,FOLLOW_47_in_tikz_set978); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal81); } break; } } break; } PushFollow(FOLLOW_roundbr_end_in_tikz_set983); roundbr_end82 = roundbr_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_roundbr_end.Add(roundbr_end82.Tree); // AST REWRITE // elements: option, tikz_set_start, roundbr_end // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 237:61: -> ^( IM_TIKZSET tikz_set_start ( option )* roundbr_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:64: ^( IM_TIKZSET tikz_set_start ( option )* roundbr_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_TIKZSET, "IM_TIKZSET"), root_1); adaptor.AddChild(root_1, stream_tikz_set_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:237:92: ( option )* while ( stream_option.HasNext() ) { adaptor.AddChild(root_1, stream_option.NextTree()); } stream_option.Reset(); adaptor.AddChild(root_1, stream_roundbr_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzcoordinate_ext" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:357:1: tikzcoordinate_ext : coordinate_start ( ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) | ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) | ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) )? ( tikzpath_element )* semicolon_end -> ^( IM_PATH coordinate_start ( tikzcoordinate_core3 )? ( tikzcoordinate_core2 )? ( tikzcoordinate_core1 )? ( tikzpath_element )* semicolon_end ) ; public simpletikzParser.tikzcoordinate_ext_return tikzcoordinate_ext() { simpletikzParser.tikzcoordinate_ext_return retval = new simpletikzParser.tikzcoordinate_ext_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.coordinate_start_return coordinate_start185 = default(simpletikzParser.coordinate_start_return); simpletikzParser.tikzcoordinate_core3_return tikzcoordinate_core3186 = default(simpletikzParser.tikzcoordinate_core3_return); simpletikzParser.tikzcoordinate_core2_return tikzcoordinate_core2187 = default(simpletikzParser.tikzcoordinate_core2_return); simpletikzParser.tikzcoordinate_core1_return tikzcoordinate_core1188 = default(simpletikzParser.tikzcoordinate_core1_return); simpletikzParser.tikzpath_element_return tikzpath_element189 = default(simpletikzParser.tikzpath_element_return); simpletikzParser.semicolon_end_return semicolon_end190 = default(simpletikzParser.semicolon_end_return); RewriteRuleSubtreeStream stream_tikzpath_element = new RewriteRuleSubtreeStream(adaptor,"rule tikzpath_element"); RewriteRuleSubtreeStream stream_tikzcoordinate_core3 = new RewriteRuleSubtreeStream(adaptor,"rule tikzcoordinate_core3"); RewriteRuleSubtreeStream stream_tikzcoordinate_core2 = new RewriteRuleSubtreeStream(adaptor,"rule tikzcoordinate_core2"); RewriteRuleSubtreeStream stream_coordinate_start = new RewriteRuleSubtreeStream(adaptor,"rule coordinate_start"); RewriteRuleSubtreeStream stream_tikzcoordinate_core1 = new RewriteRuleSubtreeStream(adaptor,"rule tikzcoordinate_core1"); RewriteRuleSubtreeStream stream_semicolon_end = new RewriteRuleSubtreeStream(adaptor,"rule semicolon_end"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:358:2: ( coordinate_start ( ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) | ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) | ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) )? ( tikzpath_element )* semicolon_end -> ^( IM_PATH coordinate_start ( tikzcoordinate_core3 )? ( tikzcoordinate_core2 )? ( tikzcoordinate_core1 )? ( tikzpath_element )* semicolon_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:358:4: coordinate_start ( ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) | ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) | ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) )? ( tikzpath_element )* semicolon_end { PushFollow(FOLLOW_coordinate_start_in_tikzcoordinate_ext2110); coordinate_start185 = coordinate_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coordinate_start.Add(coordinate_start185.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:359:5: ( ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) | ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) | ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) )? int alt48 = 4; alt48 = dfa48.Predict(input); switch (alt48) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:359:7: ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:359:7: ( ( tikzcoordinate_core3 )=> tikzcoordinate_core3 ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:359:8: ( tikzcoordinate_core3 )=> tikzcoordinate_core3 { PushFollow(FOLLOW_tikzcoordinate_core3_in_tikzcoordinate_ext2125); tikzcoordinate_core3186 = tikzcoordinate_core3(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzcoordinate_core3.Add(tikzcoordinate_core3186.Tree); } } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:360:11: ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:360:11: ( ( tikzcoordinate_core2 )=> tikzcoordinate_core2 ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:360:12: ( tikzcoordinate_core2 )=> tikzcoordinate_core2 { PushFollow(FOLLOW_tikzcoordinate_core2_in_tikzcoordinate_ext2144); tikzcoordinate_core2187 = tikzcoordinate_core2(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzcoordinate_core2.Add(tikzcoordinate_core2187.Tree); } } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:361:11: ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:361:11: ( ( tikzcoordinate_core1 )=> tikzcoordinate_core1 ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:361:12: ( tikzcoordinate_core1 )=> tikzcoordinate_core1 { PushFollow(FOLLOW_tikzcoordinate_core1_in_tikzcoordinate_ext2164); tikzcoordinate_core1188 = tikzcoordinate_core1(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzcoordinate_core1.Add(tikzcoordinate_core1188.Tree); } } break; } // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:362:6: ( tikzpath_element )* do { int alt49 = 2; int LA49_0 = input.LA(1); if ( ((LA49_0 >= ID && LA49_0 <= COMMAND) || LA49_0 == 43 || LA49_0 == 45 || LA49_0 == 52 || LA49_0 == 54 || LA49_0 == 58 || LA49_0 == 77 || (LA49_0 >= 79 && LA49_0 <= 80) || (LA49_0 >= 82 && LA49_0 <= 91)) ) { alt49 = 1; } switch (alt49) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:362:6: tikzpath_element { PushFollow(FOLLOW_tikzpath_element_in_tikzcoordinate_ext2175); tikzpath_element189 = tikzpath_element(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpath_element.Add(tikzpath_element189.Tree); } break; default: goto loop49; } } while (true); loop49: ; // Stops C# compiler whining that label 'loop49' has no statements PushFollow(FOLLOW_semicolon_end_in_tikzcoordinate_ext2178); semicolon_end190 = semicolon_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_semicolon_end.Add(semicolon_end190.Tree); // AST REWRITE // elements: tikzcoordinate_core1, tikzcoordinate_core3, semicolon_end, tikzpath_element, tikzcoordinate_core2, coordinate_start // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 363:6: -> ^( IM_PATH coordinate_start ( tikzcoordinate_core3 )? ( tikzcoordinate_core2 )? ( tikzcoordinate_core1 )? ( tikzpath_element )* semicolon_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:363:9: ^( IM_PATH coordinate_start ( tikzcoordinate_core3 )? ( tikzcoordinate_core2 )? ( tikzcoordinate_core1 )? ( tikzpath_element )* semicolon_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PATH, "IM_PATH"), root_1); adaptor.AddChild(root_1, stream_coordinate_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:364:6: ( tikzcoordinate_core3 )? if ( stream_tikzcoordinate_core3.HasNext() ) { adaptor.AddChild(root_1, stream_tikzcoordinate_core3.NextTree()); } stream_tikzcoordinate_core3.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:365:6: ( tikzcoordinate_core2 )? if ( stream_tikzcoordinate_core2.HasNext() ) { adaptor.AddChild(root_1, stream_tikzcoordinate_core2.NextTree()); } stream_tikzcoordinate_core2.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:366:6: ( tikzcoordinate_core1 )? if ( stream_tikzcoordinate_core1.HasNext() ) { adaptor.AddChild(root_1, stream_tikzcoordinate_core1.NextTree()); } stream_tikzcoordinate_core1.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:367:6: ( tikzpath_element )* while ( stream_tikzpath_element.HasNext() ) { adaptor.AddChild(root_1, stream_tikzpath_element.NextTree()); } stream_tikzpath_element.Reset(); adaptor.AddChild(root_1, stream_semicolon_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "arc" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:422:1: arc : ( 'arc' ( '(' numberunitorvariable ':' numberunitorvariable ':' numberunitorvariable ( 'and' numberunit )? ')' ) -> ^( IM_ARC ( numberunitorvariable )+ ( numberunit )? ) | 'arc' ( '(' coord_part ':' coord_part ':' coord_part ( 'and' numberunit )? ')' ) -> ^( IM_ARC ( coord_part )+ ( numberunit )? ) | 'arc' tikz_options -> ^( IM_DONTCARE ) ); public simpletikzParser.arc_return arc() { simpletikzParser.arc_return retval = new simpletikzParser.arc_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal223 = null; IToken char_literal224 = null; IToken char_literal226 = null; IToken char_literal228 = null; IToken string_literal230 = null; IToken char_literal232 = null; IToken string_literal233 = null; IToken char_literal234 = null; IToken char_literal236 = null; IToken char_literal238 = null; IToken string_literal240 = null; IToken char_literal242 = null; IToken string_literal243 = null; simpletikzParser.numberunitorvariable_return numberunitorvariable225 = default(simpletikzParser.numberunitorvariable_return); simpletikzParser.numberunitorvariable_return numberunitorvariable227 = default(simpletikzParser.numberunitorvariable_return); simpletikzParser.numberunitorvariable_return numberunitorvariable229 = default(simpletikzParser.numberunitorvariable_return); simpletikzParser.numberunit_return numberunit231 = default(simpletikzParser.numberunit_return); simpletikzParser.coord_part_return coord_part235 = default(simpletikzParser.coord_part_return); simpletikzParser.coord_part_return coord_part237 = default(simpletikzParser.coord_part_return); simpletikzParser.coord_part_return coord_part239 = default(simpletikzParser.coord_part_return); simpletikzParser.numberunit_return numberunit241 = default(simpletikzParser.numberunit_return); simpletikzParser.tikz_options_return tikz_options244 = default(simpletikzParser.tikz_options_return); object string_literal223_tree=null; object char_literal224_tree=null; object char_literal226_tree=null; object char_literal228_tree=null; object string_literal230_tree=null; object char_literal232_tree=null; object string_literal233_tree=null; object char_literal234_tree=null; object char_literal236_tree=null; object char_literal238_tree=null; object string_literal240_tree=null; object char_literal242_tree=null; object string_literal243_tree=null; RewriteRuleTokenStream stream_48 = new RewriteRuleTokenStream(adaptor,"token 48"); RewriteRuleTokenStream stream_78 = new RewriteRuleTokenStream(adaptor,"token 78"); RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleTokenStream stream_84 = new RewriteRuleTokenStream(adaptor,"token 84"); RewriteRuleSubtreeStream stream_numberunit = new RewriteRuleSubtreeStream(adaptor,"rule numberunit"); RewriteRuleSubtreeStream stream_numberunitorvariable = new RewriteRuleSubtreeStream(adaptor,"rule numberunitorvariable"); RewriteRuleSubtreeStream stream_coord_part = new RewriteRuleSubtreeStream(adaptor,"rule coord_part"); RewriteRuleSubtreeStream stream_tikz_options = new RewriteRuleSubtreeStream(adaptor,"rule tikz_options"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:2: ( 'arc' ( '(' numberunitorvariable ':' numberunitorvariable ':' numberunitorvariable ( 'and' numberunit )? ')' ) -> ^( IM_ARC ( numberunitorvariable )+ ( numberunit )? ) | 'arc' ( '(' coord_part ':' coord_part ':' coord_part ( 'and' numberunit )? ')' ) -> ^( IM_ARC ( coord_part )+ ( numberunit )? ) | 'arc' tikz_options -> ^( IM_DONTCARE ) ) int alt60 = 3; alt60 = dfa60.Predict(input); switch (alt60) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:4: 'arc' ( '(' numberunitorvariable ':' numberunitorvariable ':' numberunitorvariable ( 'and' numberunit )? ')' ) { string_literal223=(IToken)Match(input,84,FOLLOW_84_in_arc2595); if (state.failed) return retval; if ( state.backtracking==0 ) stream_84.Add(string_literal223); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:10: ( '(' numberunitorvariable ':' numberunitorvariable ':' numberunitorvariable ( 'and' numberunit )? ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:11: '(' numberunitorvariable ':' numberunitorvariable ':' numberunitorvariable ( 'and' numberunit )? ')' { char_literal224=(IToken)Match(input,52,FOLLOW_52_in_arc2598); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal224); PushFollow(FOLLOW_numberunitorvariable_in_arc2600); numberunitorvariable225 = numberunitorvariable(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunitorvariable.Add(numberunitorvariable225.Tree); char_literal226=(IToken)Match(input,48,FOLLOW_48_in_arc2602); if (state.failed) return retval; if ( state.backtracking==0 ) stream_48.Add(char_literal226); PushFollow(FOLLOW_numberunitorvariable_in_arc2604); numberunitorvariable227 = numberunitorvariable(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunitorvariable.Add(numberunitorvariable227.Tree); char_literal228=(IToken)Match(input,48,FOLLOW_48_in_arc2606); if (state.failed) return retval; if ( state.backtracking==0 ) stream_48.Add(char_literal228); PushFollow(FOLLOW_numberunitorvariable_in_arc2608); numberunitorvariable229 = numberunitorvariable(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunitorvariable.Add(numberunitorvariable229.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:86: ( 'and' numberunit )? int alt58 = 2; int LA58_0 = input.LA(1); if ( (LA58_0 == 78) ) { alt58 = 1; } switch (alt58) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:87: 'and' numberunit { string_literal230=(IToken)Match(input,78,FOLLOW_78_in_arc2611); if (state.failed) return retval; if ( state.backtracking==0 ) stream_78.Add(string_literal230); PushFollow(FOLLOW_numberunit_in_arc2613); numberunit231 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit231.Tree); } break; } char_literal232=(IToken)Match(input,53,FOLLOW_53_in_arc2617); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal232); } // AST REWRITE // elements: numberunitorvariable, numberunit // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 423:111: -> ^( IM_ARC ( numberunitorvariable )+ ( numberunit )? ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:114: ^( IM_ARC ( numberunitorvariable )+ ( numberunit )? ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_ARC, "IM_ARC"), root_1); if ( !(stream_numberunitorvariable.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_numberunitorvariable.HasNext() ) { adaptor.AddChild(root_1, stream_numberunitorvariable.NextTree()); } stream_numberunitorvariable.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:423:145: ( numberunit )? if ( stream_numberunit.HasNext() ) { adaptor.AddChild(root_1, stream_numberunit.NextTree()); } stream_numberunit.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:4: 'arc' ( '(' coord_part ':' coord_part ':' coord_part ( 'and' numberunit )? ')' ) { string_literal233=(IToken)Match(input,84,FOLLOW_84_in_arc2635); if (state.failed) return retval; if ( state.backtracking==0 ) stream_84.Add(string_literal233); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:10: ( '(' coord_part ':' coord_part ':' coord_part ( 'and' numberunit )? ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:11: '(' coord_part ':' coord_part ':' coord_part ( 'and' numberunit )? ')' { char_literal234=(IToken)Match(input,52,FOLLOW_52_in_arc2638); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal234); PushFollow(FOLLOW_coord_part_in_arc2640); coord_part235 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part235.Tree); char_literal236=(IToken)Match(input,48,FOLLOW_48_in_arc2642); if (state.failed) return retval; if ( state.backtracking==0 ) stream_48.Add(char_literal236); PushFollow(FOLLOW_coord_part_in_arc2644); coord_part237 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part237.Tree); char_literal238=(IToken)Match(input,48,FOLLOW_48_in_arc2646); if (state.failed) return retval; if ( state.backtracking==0 ) stream_48.Add(char_literal238); PushFollow(FOLLOW_coord_part_in_arc2648); coord_part239 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part239.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:56: ( 'and' numberunit )? int alt59 = 2; int LA59_0 = input.LA(1); if ( (LA59_0 == 78) ) { alt59 = 1; } switch (alt59) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:57: 'and' numberunit { string_literal240=(IToken)Match(input,78,FOLLOW_78_in_arc2651); if (state.failed) return retval; if ( state.backtracking==0 ) stream_78.Add(string_literal240); PushFollow(FOLLOW_numberunit_in_arc2653); numberunit241 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit241.Tree); } break; } char_literal242=(IToken)Match(input,53,FOLLOW_53_in_arc2657); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal242); } // AST REWRITE // elements: numberunit, coord_part // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 424:81: -> ^( IM_ARC ( coord_part )+ ( numberunit )? ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:84: ^( IM_ARC ( coord_part )+ ( numberunit )? ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_ARC, "IM_ARC"), root_1); if ( !(stream_coord_part.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_coord_part.HasNext() ) { adaptor.AddChild(root_1, stream_coord_part.NextTree()); } stream_coord_part.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:424:105: ( numberunit )? if ( stream_numberunit.HasNext() ) { adaptor.AddChild(root_1, stream_numberunit.NextTree()); } stream_numberunit.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:425:4: 'arc' tikz_options { string_literal243=(IToken)Match(input,84,FOLLOW_84_in_arc2675); if (state.failed) return retval; if ( state.backtracking==0 ) stream_84.Add(string_literal243); PushFollow(FOLLOW_tikz_options_in_arc2677); tikz_options244 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_options.Add(tikz_options244.Tree); // AST REWRITE // elements: // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 425:23: -> ^( IM_DONTCARE ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:425:25: ^( IM_DONTCARE ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DONTCARE, "IM_DONTCARE"), root_1); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzdocument_wo_tikzpicture" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:144:1: tikzdocument_wo_tikzpicture : ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* EOF -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* ) ; public simpletikzParser.tikzdocument_wo_tikzpicture_return tikzdocument_wo_tikzpicture() { simpletikzParser.tikzdocument_wo_tikzpicture_return retval = new simpletikzParser.tikzdocument_wo_tikzpicture_return(); retval.Start = input.LT(1); object root_0 = null; IToken EOF9 = null; simpletikzParser.dontcare_preamble_return dontcare_preamble6 = default(simpletikzParser.dontcare_preamble_return); simpletikzParser.tikz_styleorsetorcmd_return tikz_styleorsetorcmd7 = default(simpletikzParser.tikz_styleorsetorcmd_return); simpletikzParser.otherbegin_return otherbegin8 = default(simpletikzParser.otherbegin_return); // object EOF9_tree=null; RewriteRuleTokenStream stream_EOF = new RewriteRuleTokenStream(adaptor,"token EOF"); RewriteRuleSubtreeStream stream_dontcare_preamble = new RewriteRuleSubtreeStream(adaptor,"rule dontcare_preamble"); RewriteRuleSubtreeStream stream_otherbegin = new RewriteRuleSubtreeStream(adaptor,"rule otherbegin"); RewriteRuleSubtreeStream stream_tikz_styleorsetorcmd = new RewriteRuleSubtreeStream(adaptor,"rule tikz_styleorsetorcmd"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:2: ( ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* EOF -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:4: ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* EOF { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:4: ( dontcare_preamble | tikz_styleorsetorcmd | otherbegin )* do { int alt3 = 4; switch ( input.LA(1) ) { case IM_PATH: case IM_NODE: case IM_COORD: case IM_SIZE: case IM_NODENAME: case IM_NUMBERUNIT: case IM_PICTURE: case IM_DOCUMENT: case IM_SCOPE: case IM_STARTTAG: case IM_ENDTAG: case IM_OPTIONS: case IM_OPTION_STYLE: case IM_OPTION_KV: case IM_ID: case IM_TIKZSET: case IM_USETIKZLIB: case IM_STRING: case IM_STYLE: case IM_CONTROLS: case IM_TIKZEDT_CMD: case IM_DONTCARE: case IM_ARC: case ID: case COMMAND: case FLOAT_WO_EXP: case INT: case WS: case COMMENT: case EXPONENT: case ESC_SEQ: case MATHSTRING: case SOMETHING: case SOMETHING1: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 91: case 92: case 93: case 94: { alt3 = 1; } break; case TIKZEDT_CMD_COMMENT: case 40: case 41: { alt3 = 2; } break; case 39: { alt3 = 3; } break; } switch (alt3) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:5: dontcare_preamble { PushFollow(FOLLOW_dontcare_preamble_in_tikzdocument_wo_tikzpicture296); dontcare_preamble6 = dontcare_preamble(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_dontcare_preamble.Add(dontcare_preamble6.Tree); } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:25: tikz_styleorsetorcmd { PushFollow(FOLLOW_tikz_styleorsetorcmd_in_tikzdocument_wo_tikzpicture300); tikz_styleorsetorcmd7 = tikz_styleorsetorcmd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_styleorsetorcmd.Add(tikz_styleorsetorcmd7.Tree); } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:48: otherbegin { PushFollow(FOLLOW_otherbegin_in_tikzdocument_wo_tikzpicture304); otherbegin8 = otherbegin(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_otherbegin.Add(otherbegin8.Tree); } break; default: goto loop3; } } while (true); loop3: ; // Stops C# compiler whining that label 'loop3' has no statements EOF9=(IToken)Match(input,EOF,FOLLOW_EOF_in_tikzdocument_wo_tikzpicture309); if (state.failed) return retval; if ( state.backtracking==0 ) stream_EOF.Add(EOF9); // AST REWRITE // elements: tikz_styleorsetorcmd // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 145:66: -> ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:69: ^( IM_DOCUMENT ( tikz_styleorsetorcmd )* ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DOCUMENT, "IM_DOCUMENT"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:145:83: ( tikz_styleorsetorcmd )* while ( stream_tikz_styleorsetorcmd.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_styleorsetorcmd.NextTree()); } stream_tikz_styleorsetorcmd.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "controls" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:341:1: controls : controls_start coord ( 'and' coord )? controls_end -> ^( IM_CONTROLS controls_start ( coord )+ controls_end ) ; public simpletikzParser.controls_return controls() { simpletikzParser.controls_return retval = new simpletikzParser.controls_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal171 = null; simpletikzParser.controls_start_return controls_start169 = default(simpletikzParser.controls_start_return); simpletikzParser.coord_return coord170 = default(simpletikzParser.coord_return); simpletikzParser.coord_return coord172 = default(simpletikzParser.coord_return); simpletikzParser.controls_end_return controls_end173 = default(simpletikzParser.controls_end_return); object string_literal171_tree=null; RewriteRuleTokenStream stream_78 = new RewriteRuleTokenStream(adaptor,"token 78"); RewriteRuleSubtreeStream stream_coord = new RewriteRuleSubtreeStream(adaptor,"rule coord"); RewriteRuleSubtreeStream stream_controls_start = new RewriteRuleSubtreeStream(adaptor,"rule controls_start"); RewriteRuleSubtreeStream stream_controls_end = new RewriteRuleSubtreeStream(adaptor,"rule controls_end"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:342:2: ( controls_start coord ( 'and' coord )? controls_end -> ^( IM_CONTROLS controls_start ( coord )+ controls_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:342:4: controls_start coord ( 'and' coord )? controls_end { PushFollow(FOLLOW_controls_start_in_controls1976); controls_start169 = controls_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_controls_start.Add(controls_start169.Tree); PushFollow(FOLLOW_coord_in_controls1978); coord170 = coord(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord.Add(coord170.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:342:25: ( 'and' coord )? int alt44 = 2; int LA44_0 = input.LA(1); if ( (LA44_0 == 78) ) { alt44 = 1; } switch (alt44) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:342:26: 'and' coord { string_literal171=(IToken)Match(input,78,FOLLOW_78_in_controls1981); if (state.failed) return retval; if ( state.backtracking==0 ) stream_78.Add(string_literal171); PushFollow(FOLLOW_coord_in_controls1983); coord172 = coord(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord.Add(coord172.Tree); } break; } PushFollow(FOLLOW_controls_end_in_controls1987); controls_end173 = controls_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_controls_end.Add(controls_end173.Tree); // AST REWRITE // elements: coord, controls_start, controls_end // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 342:53: -> ^( IM_CONTROLS controls_start ( coord )+ controls_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:342:56: ^( IM_CONTROLS controls_start ( coord )+ controls_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_CONTROLS, "IM_CONTROLS"), root_1); adaptor.AddChild(root_1, stream_controls_start.NextTree()); if ( !(stream_coord.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_coord.HasNext() ) { adaptor.AddChild(root_1, stream_coord.NextTree()); } stream_coord.Reset(); adaptor.AddChild(root_1, stream_controls_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikznode_ext" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:345:1: tikznode_ext : node_start tikznode_core ( tikzpath_element )* semicolon_end -> ^( IM_PATH node_start tikznode_core ( tikzpath_element )* semicolon_end ) ; public simpletikzParser.tikznode_ext_return tikznode_ext() { simpletikzParser.tikznode_ext_return retval = new simpletikzParser.tikznode_ext_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.node_start_return node_start174 = default(simpletikzParser.node_start_return); simpletikzParser.tikznode_core_return tikznode_core175 = default(simpletikzParser.tikznode_core_return); simpletikzParser.tikzpath_element_return tikzpath_element176 = default(simpletikzParser.tikzpath_element_return); simpletikzParser.semicolon_end_return semicolon_end177 = default(simpletikzParser.semicolon_end_return); RewriteRuleSubtreeStream stream_tikzpath_element = new RewriteRuleSubtreeStream(adaptor,"rule tikzpath_element"); RewriteRuleSubtreeStream stream_node_start = new RewriteRuleSubtreeStream(adaptor,"rule node_start"); RewriteRuleSubtreeStream stream_tikznode_core = new RewriteRuleSubtreeStream(adaptor,"rule tikznode_core"); RewriteRuleSubtreeStream stream_semicolon_end = new RewriteRuleSubtreeStream(adaptor,"rule semicolon_end"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:2: ( node_start tikznode_core ( tikzpath_element )* semicolon_end -> ^( IM_PATH node_start tikznode_core ( tikzpath_element )* semicolon_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:4: node_start tikznode_core ( tikzpath_element )* semicolon_end { PushFollow(FOLLOW_node_start_in_tikznode_ext2013); node_start174 = node_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_node_start.Add(node_start174.Tree); PushFollow(FOLLOW_tikznode_core_in_tikznode_ext2015); tikznode_core175 = tikznode_core(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikznode_core.Add(tikznode_core175.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:29: ( tikzpath_element )* do { int alt45 = 2; int LA45_0 = input.LA(1); if ( ((LA45_0 >= ID && LA45_0 <= COMMAND) || LA45_0 == 43 || LA45_0 == 45 || LA45_0 == 52 || LA45_0 == 54 || LA45_0 == 58 || LA45_0 == 77 || (LA45_0 >= 79 && LA45_0 <= 80) || (LA45_0 >= 82 && LA45_0 <= 91)) ) { alt45 = 1; } switch (alt45) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:29: tikzpath_element { PushFollow(FOLLOW_tikzpath_element_in_tikznode_ext2017); tikzpath_element176 = tikzpath_element(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpath_element.Add(tikzpath_element176.Tree); } break; default: goto loop45; } } while (true); loop45: ; // Stops C# compiler whining that label 'loop45' has no statements PushFollow(FOLLOW_semicolon_end_in_tikznode_ext2020); semicolon_end177 = semicolon_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_semicolon_end.Add(semicolon_end177.Tree); // AST REWRITE // elements: tikznode_core, node_start, semicolon_end, tikzpath_element // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 346:61: -> ^( IM_PATH node_start tikznode_core ( tikzpath_element )* semicolon_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:64: ^( IM_PATH node_start tikznode_core ( tikzpath_element )* semicolon_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PATH, "IM_PATH"), root_1); adaptor.AddChild(root_1, stream_node_start.NextTree()); adaptor.AddChild(root_1, stream_tikznode_core.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:346:99: ( tikzpath_element )* while ( stream_tikzpath_element.HasNext() ) { adaptor.AddChild(root_1, stream_tikzpath_element.NextTree()); } stream_tikzpath_element.Reset(); adaptor.AddChild(root_1, stream_semicolon_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "coord" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:442:1: coord : ( ( ( coord_modifier )? coord_nodename ) -> ^( IM_COORD ( coord_modifier )? coord_nodename ) | ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) | ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) | ( ( coord_modifier )? '(' ')' ) -> ^( IM_COORD ) ); public simpletikzParser.coord_return coord() { simpletikzParser.coord_return retval = new simpletikzParser.coord_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal257 = null; IToken char_literal261 = null; IToken char_literal263 = null; IToken char_literal267 = null; IToken char_literal269 = null; IToken char_literal270 = null; simpletikzParser.coord_modifier_return coord_modifier254 = default(simpletikzParser.coord_modifier_return); simpletikzParser.coord_nodename_return coord_nodename255 = default(simpletikzParser.coord_nodename_return); simpletikzParser.coord_modifier_return coord_modifier256 = default(simpletikzParser.coord_modifier_return); simpletikzParser.numberunit_return numberunit258 = default(simpletikzParser.numberunit_return); simpletikzParser.coord_sep_return coord_sep259 = default(simpletikzParser.coord_sep_return); simpletikzParser.numberunit_return numberunit260 = default(simpletikzParser.numberunit_return); simpletikzParser.coord_modifier_return coord_modifier262 = default(simpletikzParser.coord_modifier_return); simpletikzParser.coord_part_return coord_part264 = default(simpletikzParser.coord_part_return); simpletikzParser.coord_sep_return coord_sep265 = default(simpletikzParser.coord_sep_return); simpletikzParser.coord_part_return coord_part266 = default(simpletikzParser.coord_part_return); simpletikzParser.coord_modifier_return coord_modifier268 = default(simpletikzParser.coord_modifier_return); object char_literal257_tree=null; object char_literal261_tree=null; object char_literal263_tree=null; object char_literal267_tree=null; object char_literal269_tree=null; object char_literal270_tree=null; RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleSubtreeStream stream_numberunit = new RewriteRuleSubtreeStream(adaptor,"rule numberunit"); RewriteRuleSubtreeStream stream_coord_nodename = new RewriteRuleSubtreeStream(adaptor,"rule coord_nodename"); RewriteRuleSubtreeStream stream_coord_part = new RewriteRuleSubtreeStream(adaptor,"rule coord_part"); RewriteRuleSubtreeStream stream_coord_sep = new RewriteRuleSubtreeStream(adaptor,"rule coord_sep"); RewriteRuleSubtreeStream stream_coord_modifier = new RewriteRuleSubtreeStream(adaptor,"rule coord_modifier"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:2: ( ( ( coord_modifier )? coord_nodename ) -> ^( IM_COORD ( coord_modifier )? coord_nodename ) | ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) | ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) | ( ( coord_modifier )? '(' ')' ) -> ^( IM_COORD ) ) int alt67 = 4; alt67 = dfa67.Predict(input); switch (alt67) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:6: ( ( coord_modifier )? coord_nodename ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:6: ( ( coord_modifier )? coord_nodename ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:8: ( coord_modifier )? coord_nodename { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:8: ( coord_modifier )? int alt63 = 2; int LA63_0 = input.LA(1); if ( ((LA63_0 >= 89 && LA63_0 <= 90)) ) { alt63 = 1; } switch (alt63) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:8: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord2775); coord_modifier254 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier254.Tree); } break; } PushFollow(FOLLOW_coord_nodename_in_coord2778); coord_nodename255 = coord_nodename(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_nodename.Add(coord_nodename255.Tree); } // AST REWRITE // elements: coord_nodename, coord_modifier // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 443:44: -> ^( IM_COORD ( coord_modifier )? coord_nodename ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:47: ^( IM_COORD ( coord_modifier )? coord_nodename ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:443:58: ( coord_modifier )? if ( stream_coord_modifier.HasNext() ) { adaptor.AddChild(root_1, stream_coord_modifier.NextTree()); } stream_coord_modifier.Reset(); adaptor.AddChild(root_1, stream_coord_nodename.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:5: ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:5: ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:7: ( coord_modifier )? '(' numberunit coord_sep numberunit ')' { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:7: ( coord_modifier )? int alt64 = 2; int LA64_0 = input.LA(1); if ( ((LA64_0 >= 89 && LA64_0 <= 90)) ) { alt64 = 1; } switch (alt64) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:7: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord2804); coord_modifier256 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier256.Tree); } break; } char_literal257=(IToken)Match(input,52,FOLLOW_52_in_coord2807); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal257); PushFollow(FOLLOW_numberunit_in_coord2809); numberunit258 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit258.Tree); PushFollow(FOLLOW_coord_sep_in_coord2811); coord_sep259 = coord_sep(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_sep.Add(coord_sep259.Tree); PushFollow(FOLLOW_numberunit_in_coord2813); numberunit260 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit260.Tree); char_literal261=(IToken)Match(input,53,FOLLOW_53_in_coord2815); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal261); } // AST REWRITE // elements: coord_modifier, coord_sep, numberunit // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 444:65: -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:68: ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:444:79: ( coord_modifier )? if ( stream_coord_modifier.HasNext() ) { adaptor.AddChild(root_1, stream_coord_modifier.NextTree()); } stream_coord_modifier.Reset(); if ( !(stream_numberunit.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_numberunit.HasNext() ) { adaptor.AddChild(root_1, stream_numberunit.NextTree()); } stream_numberunit.Reset(); adaptor.AddChild(root_1, stream_coord_sep.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:5: ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:5: ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:7: ( coord_modifier )? '(' coord_part coord_sep coord_part ')' { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:7: ( coord_modifier )? int alt65 = 2; int LA65_0 = input.LA(1); if ( ((LA65_0 >= 89 && LA65_0 <= 90)) ) { alt65 = 1; } switch (alt65) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:7: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord2839); coord_modifier262 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier262.Tree); } break; } char_literal263=(IToken)Match(input,52,FOLLOW_52_in_coord2842); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal263); PushFollow(FOLLOW_coord_part_in_coord2844); coord_part264 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part264.Tree); PushFollow(FOLLOW_coord_sep_in_coord2846); coord_sep265 = coord_sep(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_sep.Add(coord_sep265.Tree); PushFollow(FOLLOW_coord_part_in_coord2848); coord_part266 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part266.Tree); char_literal267=(IToken)Match(input,53,FOLLOW_53_in_coord2850); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal267); } // AST REWRITE // elements: coord_modifier, coord_sep, coord_part // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 445:65: -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:68: ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:445:79: ( coord_modifier )? if ( stream_coord_modifier.HasNext() ) { adaptor.AddChild(root_1, stream_coord_modifier.NextTree()); } stream_coord_modifier.Reset(); if ( !(stream_coord_part.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_coord_part.HasNext() ) { adaptor.AddChild(root_1, stream_coord_part.NextTree()); } stream_coord_part.Reset(); adaptor.AddChild(root_1, stream_coord_sep.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 4 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:5: ( ( coord_modifier )? '(' ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:5: ( ( coord_modifier )? '(' ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:7: ( coord_modifier )? '(' ')' { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:7: ( coord_modifier )? int alt66 = 2; int LA66_0 = input.LA(1); if ( ((LA66_0 >= 89 && LA66_0 <= 90)) ) { alt66 = 1; } switch (alt66) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:7: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord2874); coord_modifier268 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier268.Tree); } break; } char_literal269=(IToken)Match(input,52,FOLLOW_52_in_coord2877); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal269); char_literal270=(IToken)Match(input,53,FOLLOW_53_in_coord2879); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal270); } // AST REWRITE // elements: // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 446:37: -> ^( IM_COORD ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:446:40: ^( IM_COORD ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzpath_element_single" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:325:1: tikzpath_element_single : ( tikz_options | let_cmd_parts -> ^( IM_DONTCARE ( let_cmd_parts )+ ) | arc | ( coord )=> coord | controls | tikznode_int | tikzcoordinate_int | circle | roundbr_start ( tikzpath_element )* roundbr_end -> ^( IM_PATH roundbr_start ( tikzpath_element )* roundbr_end ) | '(' ( tikzpath_element )* ')' -> ^( IM_PATH '(' ( tikzpath_element )* ')' ) | edgeop ); public simpletikzParser.tikzpath_element_single_return tikzpath_element_single() { simpletikzParser.tikzpath_element_single_return retval = new simpletikzParser.tikzpath_element_single_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal165 = null; IToken char_literal167 = null; simpletikzParser.tikz_options_return tikz_options154 = default(simpletikzParser.tikz_options_return); simpletikzParser.let_cmd_parts_return let_cmd_parts155 = default(simpletikzParser.let_cmd_parts_return); simpletikzParser.arc_return arc156 = default(simpletikzParser.arc_return); simpletikzParser.coord_return coord157 = default(simpletikzParser.coord_return); simpletikzParser.controls_return controls158 = default(simpletikzParser.controls_return); simpletikzParser.tikznode_int_return tikznode_int159 = default(simpletikzParser.tikznode_int_return); simpletikzParser.tikzcoordinate_int_return tikzcoordinate_int160 = default(simpletikzParser.tikzcoordinate_int_return); simpletikzParser.circle_return circle161 = default(simpletikzParser.circle_return); simpletikzParser.roundbr_start_return roundbr_start162 = default(simpletikzParser.roundbr_start_return); simpletikzParser.tikzpath_element_return tikzpath_element163 = default(simpletikzParser.tikzpath_element_return); simpletikzParser.roundbr_end_return roundbr_end164 = default(simpletikzParser.roundbr_end_return); simpletikzParser.tikzpath_element_return tikzpath_element166 = default(simpletikzParser.tikzpath_element_return); simpletikzParser.edgeop_return edgeop168 = default(simpletikzParser.edgeop_return); object char_literal165_tree=null; object char_literal167_tree=null; RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleSubtreeStream stream_tikzpath_element = new RewriteRuleSubtreeStream(adaptor,"rule tikzpath_element"); RewriteRuleSubtreeStream stream_roundbr_start = new RewriteRuleSubtreeStream(adaptor,"rule roundbr_start"); RewriteRuleSubtreeStream stream_roundbr_end = new RewriteRuleSubtreeStream(adaptor,"rule roundbr_end"); RewriteRuleSubtreeStream stream_let_cmd_parts = new RewriteRuleSubtreeStream(adaptor,"rule let_cmd_parts"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:326:2: ( tikz_options | let_cmd_parts -> ^( IM_DONTCARE ( let_cmd_parts )+ ) | arc | ( coord )=> coord | controls | tikznode_int | tikzcoordinate_int | circle | roundbr_start ( tikzpath_element )* roundbr_end -> ^( IM_PATH roundbr_start ( tikzpath_element )* roundbr_end ) | '(' ( tikzpath_element )* ')' -> ^( IM_PATH '(' ( tikzpath_element )* ')' ) | edgeop ) int alt43 = 11; alt43 = dfa43.Predict(input); switch (alt43) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:327:5: tikz_options { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_tikz_options_in_tikzpath_element_single1846); tikz_options154 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, tikz_options154.Tree); } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:328:5: let_cmd_parts { PushFollow(FOLLOW_let_cmd_parts_in_tikzpath_element_single1853); let_cmd_parts155 = let_cmd_parts(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_let_cmd_parts.Add(let_cmd_parts155.Tree); // AST REWRITE // elements: let_cmd_parts // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 328:19: -> ^( IM_DONTCARE ( let_cmd_parts )+ ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:328:22: ^( IM_DONTCARE ( let_cmd_parts )+ ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DONTCARE, "IM_DONTCARE"), root_1); if ( !(stream_let_cmd_parts.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_let_cmd_parts.HasNext() ) { adaptor.AddChild(root_1, stream_let_cmd_parts.NextTree()); } stream_let_cmd_parts.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:330:5: arc { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_arc_in_tikzpath_element_single1871); arc156 = arc(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, arc156.Tree); } break; case 4 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:331:5: ( coord )=> coord { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_coord_in_tikzpath_element_single1881); coord157 = coord(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, coord157.Tree); } break; case 5 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:332:5: controls { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_controls_in_tikzpath_element_single1887); controls158 = controls(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, controls158.Tree); } break; case 6 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:333:5: tikznode_int { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_tikznode_int_in_tikzpath_element_single1893); tikznode_int159 = tikznode_int(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, tikznode_int159.Tree); } break; case 7 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:334:5: tikzcoordinate_int { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_tikzcoordinate_int_in_tikzpath_element_single1899); tikzcoordinate_int160 = tikzcoordinate_int(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, tikzcoordinate_int160.Tree); } break; case 8 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:335:5: circle { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_circle_in_tikzpath_element_single1905); circle161 = circle(); state.followingStackPointer--; if (state.failed) return retval; } break; case 9 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:336:5: roundbr_start ( tikzpath_element )* roundbr_end { PushFollow(FOLLOW_roundbr_start_in_tikzpath_element_single1912); roundbr_start162 = roundbr_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_roundbr_start.Add(roundbr_start162.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:336:19: ( tikzpath_element )* do { int alt41 = 2; int LA41_0 = input.LA(1); if ( ((LA41_0 >= ID && LA41_0 <= COMMAND) || LA41_0 == 43 || LA41_0 == 45 || LA41_0 == 52 || LA41_0 == 54 || LA41_0 == 58 || LA41_0 == 77 || (LA41_0 >= 79 && LA41_0 <= 80) || (LA41_0 >= 82 && LA41_0 <= 91)) ) { alt41 = 1; } switch (alt41) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:336:19: tikzpath_element { PushFollow(FOLLOW_tikzpath_element_in_tikzpath_element_single1914); tikzpath_element163 = tikzpath_element(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpath_element.Add(tikzpath_element163.Tree); } break; default: goto loop41; } } while (true); loop41: ; // Stops C# compiler whining that label 'loop41' has no statements PushFollow(FOLLOW_roundbr_end_in_tikzpath_element_single1917); roundbr_end164 = roundbr_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_roundbr_end.Add(roundbr_end164.Tree); // AST REWRITE // elements: roundbr_end, tikzpath_element, roundbr_start // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 336:49: -> ^( IM_PATH roundbr_start ( tikzpath_element )* roundbr_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:336:52: ^( IM_PATH roundbr_start ( tikzpath_element )* roundbr_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PATH, "IM_PATH"), root_1); adaptor.AddChild(root_1, stream_roundbr_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:336:76: ( tikzpath_element )* while ( stream_tikzpath_element.HasNext() ) { adaptor.AddChild(root_1, stream_tikzpath_element.NextTree()); } stream_tikzpath_element.Reset(); adaptor.AddChild(root_1, stream_roundbr_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 10 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:337:6: '(' ( tikzpath_element )* ')' { char_literal165=(IToken)Match(input,52,FOLLOW_52_in_tikzpath_element_single1937); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal165); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:337:10: ( tikzpath_element )* do { int alt42 = 2; int LA42_0 = input.LA(1); if ( ((LA42_0 >= ID && LA42_0 <= COMMAND) || LA42_0 == 43 || LA42_0 == 45 || LA42_0 == 52 || LA42_0 == 54 || LA42_0 == 58 || LA42_0 == 77 || (LA42_0 >= 79 && LA42_0 <= 80) || (LA42_0 >= 82 && LA42_0 <= 91)) ) { alt42 = 1; } switch (alt42) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:337:10: tikzpath_element { PushFollow(FOLLOW_tikzpath_element_in_tikzpath_element_single1939); tikzpath_element166 = tikzpath_element(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzpath_element.Add(tikzpath_element166.Tree); } break; default: goto loop42; } } while (true); loop42: ; // Stops C# compiler whining that label 'loop42' has no statements char_literal167=(IToken)Match(input,53,FOLLOW_53_in_tikzpath_element_single1942); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal167); // AST REWRITE // elements: 53, tikzpath_element, 52 // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 337:32: -> ^( IM_PATH '(' ( tikzpath_element )* ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:337:35: ^( IM_PATH '(' ( tikzpath_element )* ')' ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_PATH, "IM_PATH"), root_1); adaptor.AddChild(root_1, stream_52.NextNode()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:337:49: ( tikzpath_element )* while ( stream_tikzpath_element.HasNext() ) { adaptor.AddChild(root_1, stream_tikzpath_element.NextTree()); } stream_tikzpath_element.Reset(); adaptor.AddChild(root_1, stream_53.NextNode()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 11 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:338:5: edgeop { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_edgeop_in_tikzpath_element_single1961); edgeop168 = edgeop(); state.followingStackPointer--; if (state.failed) return retval; } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "coord_nodename" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:440:1: coord_nodename : '(' ( tikz_options )? idd ')' -> ^( IM_NODENAME idd ( tikz_options )? ) ; public simpletikzParser.coord_nodename_return coord_nodename() { simpletikzParser.coord_nodename_return retval = new simpletikzParser.coord_nodename_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal250 = null; IToken char_literal253 = null; simpletikzParser.tikz_options_return tikz_options251 = default(simpletikzParser.tikz_options_return); simpletikzParser.idd_return idd252 = default(simpletikzParser.idd_return); object char_literal250_tree=null; object char_literal253_tree=null; RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleSubtreeStream stream_idd = new RewriteRuleSubtreeStream(adaptor,"rule idd"); RewriteRuleSubtreeStream stream_tikz_options = new RewriteRuleSubtreeStream(adaptor,"rule tikz_options"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:2: ( '(' ( tikz_options )? idd ')' -> ^( IM_NODENAME idd ( tikz_options )? ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:4: '(' ( tikz_options )? idd ')' { char_literal250=(IToken)Match(input,52,FOLLOW_52_in_coord_nodename2741); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal250); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:8: ( tikz_options )? int alt62 = 2; int LA62_0 = input.LA(1); if ( (LA62_0 == 54) ) { alt62 = 1; } switch (alt62) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:8: tikz_options { PushFollow(FOLLOW_tikz_options_in_coord_nodename2743); tikz_options251 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_options.Add(tikz_options251.Tree); } break; } PushFollow(FOLLOW_idd_in_coord_nodename2746); idd252 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd252.Tree); char_literal253=(IToken)Match(input,53,FOLLOW_53_in_coord_nodename2749); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal253); // AST REWRITE // elements: tikz_options, idd // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 441:32: -> ^( IM_NODENAME idd ( tikz_options )? ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:35: ^( IM_NODENAME idd ( tikz_options )? ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_NODENAME, "IM_NODENAME"), root_1); adaptor.AddChild(root_1, stream_idd.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:441:53: ( tikz_options )? if ( stream_tikz_options.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_options.NextTree()); } stream_tikz_options.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "tikzscope" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:283:1: tikzscope : tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end -> ^( IM_SCOPE tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end ) ; public simpletikzParser.tikzscope_return tikzscope() { simpletikzParser.tikzscope_return retval = new simpletikzParser.tikzscope_return(); retval.Start = input.LT(1); object root_0 = null; simpletikzParser.tikzscope_start_return tikzscope_start144 = default(simpletikzParser.tikzscope_start_return); simpletikzParser.tikz_options_return tikz_options145 = default(simpletikzParser.tikz_options_return); simpletikzParser.tikzbody_return tikzbody146 = default(simpletikzParser.tikzbody_return); simpletikzParser.tikzscope_end_return tikzscope_end147 = default(simpletikzParser.tikzscope_end_return); RewriteRuleSubtreeStream stream_tikzscope_start = new RewriteRuleSubtreeStream(adaptor,"rule tikzscope_start"); RewriteRuleSubtreeStream stream_tikzscope_end = new RewriteRuleSubtreeStream(adaptor,"rule tikzscope_end"); RewriteRuleSubtreeStream stream_tikzbody = new RewriteRuleSubtreeStream(adaptor,"rule tikzbody"); RewriteRuleSubtreeStream stream_tikz_options = new RewriteRuleSubtreeStream(adaptor,"rule tikz_options"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:2: ( tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end -> ^( IM_SCOPE tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end ) ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:4: tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end { PushFollow(FOLLOW_tikzscope_start_in_tikzscope1701); tikzscope_start144 = tikzscope_start(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzscope_start.Add(tikzscope_start144.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:20: ( tikz_options )? int alt37 = 2; int LA37_0 = input.LA(1); if ( (LA37_0 == 54) ) { alt37 = 1; } switch (alt37) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:20: tikz_options { PushFollow(FOLLOW_tikz_options_in_tikzscope1703); tikz_options145 = tikz_options(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikz_options.Add(tikz_options145.Tree); } break; } // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:34: ( tikzbody )? int alt38 = 2; int LA38_0 = input.LA(1); if ( ((LA38_0 >= IM_PATH && LA38_0 <= 53) || (LA38_0 >= 55 && LA38_0 <= 62) || (LA38_0 >= 64 && LA38_0 <= 94)) ) { alt38 = 1; } else if ( (LA38_0 == 63) ) { int LA38_2 = input.LA(2); if ( (LA38_2 == 43) ) { int LA38_3 = input.LA(3); if ( (LA38_3 == ID) ) { alt38 = 1; } } } switch (alt38) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:34: tikzbody { PushFollow(FOLLOW_tikzbody_in_tikzscope1706); tikzbody146 = tikzbody(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzbody.Add(tikzbody146.Tree); } break; } PushFollow(FOLLOW_tikzscope_end_in_tikzscope1709); tikzscope_end147 = tikzscope_end(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_tikzscope_end.Add(tikzscope_end147.Tree); // AST REWRITE // elements: tikzscope_start, tikzbody, tikz_options, tikzscope_end // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 284:59: -> ^( IM_SCOPE tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:62: ^( IM_SCOPE tikzscope_start ( tikz_options )? ( tikzbody )? tikzscope_end ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_SCOPE, "IM_SCOPE"), root_1); adaptor.AddChild(root_1, stream_tikzscope_start.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:89: ( tikz_options )? if ( stream_tikz_options.HasNext() ) { adaptor.AddChild(root_1, stream_tikz_options.NextTree()); } stream_tikz_options.Reset(); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:284:103: ( tikzbody )? if ( stream_tikzbody.HasNext() ) { adaptor.AddChild(root_1, stream_tikzbody.NextTree()); } stream_tikzbody.Reset(); adaptor.AddChild(root_1, stream_tikzscope_end.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "coord_nooption" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:448:1: coord_nooption : ( nodename -> ^( IM_COORD nodename ) | ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) | ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) ); public simpletikzParser.coord_nooption_return coord_nooption() { simpletikzParser.coord_nooption_return retval = new simpletikzParser.coord_nooption_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal273 = null; IToken char_literal277 = null; IToken char_literal279 = null; IToken char_literal283 = null; simpletikzParser.nodename_return nodename271 = default(simpletikzParser.nodename_return); simpletikzParser.coord_modifier_return coord_modifier272 = default(simpletikzParser.coord_modifier_return); simpletikzParser.numberunit_return numberunit274 = default(simpletikzParser.numberunit_return); simpletikzParser.coord_sep_return coord_sep275 = default(simpletikzParser.coord_sep_return); simpletikzParser.numberunit_return numberunit276 = default(simpletikzParser.numberunit_return); simpletikzParser.coord_modifier_return coord_modifier278 = default(simpletikzParser.coord_modifier_return); simpletikzParser.coord_part_return coord_part280 = default(simpletikzParser.coord_part_return); simpletikzParser.coord_sep_return coord_sep281 = default(simpletikzParser.coord_sep_return); simpletikzParser.coord_part_return coord_part282 = default(simpletikzParser.coord_part_return); object char_literal273_tree=null; object char_literal277_tree=null; object char_literal279_tree=null; object char_literal283_tree=null; RewriteRuleTokenStream stream_52 = new RewriteRuleTokenStream(adaptor,"token 52"); RewriteRuleTokenStream stream_53 = new RewriteRuleTokenStream(adaptor,"token 53"); RewriteRuleSubtreeStream stream_numberunit = new RewriteRuleSubtreeStream(adaptor,"rule numberunit"); RewriteRuleSubtreeStream stream_coord_part = new RewriteRuleSubtreeStream(adaptor,"rule coord_part"); RewriteRuleSubtreeStream stream_coord_sep = new RewriteRuleSubtreeStream(adaptor,"rule coord_sep"); RewriteRuleSubtreeStream stream_nodename = new RewriteRuleSubtreeStream(adaptor,"rule nodename"); RewriteRuleSubtreeStream stream_coord_modifier = new RewriteRuleSubtreeStream(adaptor,"rule coord_modifier"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:449:2: ( nodename -> ^( IM_COORD nodename ) | ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) | ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) ) int alt70 = 3; alt70 = dfa70.Predict(input); switch (alt70) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:449:6: nodename { PushFollow(FOLLOW_nodename_in_coord_nooption2907); nodename271 = nodename(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_nodename.Add(nodename271.Tree); // AST REWRITE // elements: nodename // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 449:22: -> ^( IM_COORD nodename ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:449:25: ^( IM_COORD nodename ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); adaptor.AddChild(root_1, stream_nodename.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:5: ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:5: ( ( coord_modifier )? '(' numberunit coord_sep numberunit ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:7: ( coord_modifier )? '(' numberunit coord_sep numberunit ')' { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:7: ( coord_modifier )? int alt68 = 2; int LA68_0 = input.LA(1); if ( ((LA68_0 >= 89 && LA68_0 <= 90)) ) { alt68 = 1; } switch (alt68) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:7: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord_nooption2931); coord_modifier272 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier272.Tree); } break; } char_literal273=(IToken)Match(input,52,FOLLOW_52_in_coord_nooption2934); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal273); PushFollow(FOLLOW_numberunit_in_coord_nooption2936); numberunit274 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit274.Tree); PushFollow(FOLLOW_coord_sep_in_coord_nooption2938); coord_sep275 = coord_sep(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_sep.Add(coord_sep275.Tree); PushFollow(FOLLOW_numberunit_in_coord_nooption2940); numberunit276 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit276.Tree); char_literal277=(IToken)Match(input,53,FOLLOW_53_in_coord_nooption2942); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal277); } // AST REWRITE // elements: coord_sep, numberunit, coord_modifier // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 450:65: -> ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:68: ^( IM_COORD ( coord_modifier )? ( numberunit )+ coord_sep ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:450:79: ( coord_modifier )? if ( stream_coord_modifier.HasNext() ) { adaptor.AddChild(root_1, stream_coord_modifier.NextTree()); } stream_coord_modifier.Reset(); if ( !(stream_numberunit.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_numberunit.HasNext() ) { adaptor.AddChild(root_1, stream_numberunit.NextTree()); } stream_numberunit.Reset(); adaptor.AddChild(root_1, stream_coord_sep.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:5: ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:5: ( ( coord_modifier )? '(' coord_part coord_sep coord_part ')' ) // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:7: ( coord_modifier )? '(' coord_part coord_sep coord_part ')' { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:7: ( coord_modifier )? int alt69 = 2; int LA69_0 = input.LA(1); if ( ((LA69_0 >= 89 && LA69_0 <= 90)) ) { alt69 = 1; } switch (alt69) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:7: coord_modifier { PushFollow(FOLLOW_coord_modifier_in_coord_nooption2966); coord_modifier278 = coord_modifier(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_modifier.Add(coord_modifier278.Tree); } break; } char_literal279=(IToken)Match(input,52,FOLLOW_52_in_coord_nooption2969); if (state.failed) return retval; if ( state.backtracking==0 ) stream_52.Add(char_literal279); PushFollow(FOLLOW_coord_part_in_coord_nooption2971); coord_part280 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part280.Tree); PushFollow(FOLLOW_coord_sep_in_coord_nooption2973); coord_sep281 = coord_sep(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_sep.Add(coord_sep281.Tree); PushFollow(FOLLOW_coord_part_in_coord_nooption2975); coord_part282 = coord_part(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_coord_part.Add(coord_part282.Tree); char_literal283=(IToken)Match(input,53,FOLLOW_53_in_coord_nooption2977); if (state.failed) return retval; if ( state.backtracking==0 ) stream_53.Add(char_literal283); } // AST REWRITE // elements: coord_modifier, coord_part, coord_sep // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 451:65: -> ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:68: ^( IM_COORD ( coord_modifier )? ( coord_part )+ coord_sep ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_COORD, "IM_COORD"), root_1); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:451:79: ( coord_modifier )? if ( stream_coord_modifier.HasNext() ) { adaptor.AddChild(root_1, stream_coord_modifier.NextTree()); } stream_coord_modifier.Reset(); if ( !(stream_coord_part.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_coord_part.HasNext() ) { adaptor.AddChild(root_1, stream_coord_part.NextTree()); } stream_coord_part.Reset(); adaptor.AddChild(root_1, stream_coord_sep.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }
// $ANTLR start "require" // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:93:1: require : ( ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) -> ^( NoMatchClause $s) | ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) -> ^( MatchClause $s) | ^( Require ^( NoMatchClause (e= . )* ) ) -> ^( NoMatchClause ( $e)* ) | ^( Require ^( MatchClause (e= . )* ) ) -> ^( MatchClause ( $e)* ) ); public NadirASTOptimizer.require_return require() // throws RecognitionException [1] { NadirASTOptimizer.require_return retval = new NadirASTOptimizer.require_return(); retval.Start = input.LT(1); NadirAST root_0 = null; NadirAST _first_0 = null; NadirAST _last = null; NadirAST s = null; NadirAST Require23 = null; NadirAST FunctionCall24 = null; NadirAST Name25 = null; NadirAST ID26 = null; NadirAST Require27 = null; NadirAST FunctionCall28 = null; NadirAST Name29 = null; NadirAST ID30 = null; NadirAST Require31 = null; NadirAST NoMatchClause32 = null; NadirAST Require33 = null; NadirAST MatchClause34 = null; NadirAST e = null; NadirAST s_tree=null; NadirAST Require23_tree=null; NadirAST FunctionCall24_tree=null; NadirAST Name25_tree=null; NadirAST ID26_tree=null; NadirAST Require27_tree=null; NadirAST FunctionCall28_tree=null; NadirAST Name29_tree=null; NadirAST ID30_tree=null; NadirAST Require31_tree=null; NadirAST NoMatchClause32_tree=null; NadirAST Require33_tree=null; NadirAST MatchClause34_tree=null; NadirAST e_tree=null; RewriteRuleNodeStream stream_Name = new RewriteRuleNodeStream(adaptor,"token Name"); RewriteRuleNodeStream stream_NoMatchClause = new RewriteRuleNodeStream(adaptor,"token NoMatchClause"); RewriteRuleNodeStream stream_Require = new RewriteRuleNodeStream(adaptor,"token Require"); RewriteRuleNodeStream stream_ID = new RewriteRuleNodeStream(adaptor,"token ID"); RewriteRuleNodeStream stream_MatchClause = new RewriteRuleNodeStream(adaptor,"token MatchClause"); RewriteRuleNodeStream stream_FunctionCall = new RewriteRuleNodeStream(adaptor,"token FunctionCall"); RewriteRuleNodeStream stream_STRING = new RewriteRuleNodeStream(adaptor,"token STRING"); try { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:94:9: ( ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) -> ^( NoMatchClause $s) | ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) -> ^( MatchClause $s) | ^( Require ^( NoMatchClause (e= . )* ) ) -> ^( NoMatchClause ( $e)* ) | ^( Require ^( MatchClause (e= . )* ) ) -> ^( MatchClause ( $e)* ) ) int alt15 = 4; alt15 = dfa15.Predict(input); switch (alt15) { case 1 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:94:17: ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) { _last = (NadirAST)input.LT(1); { NadirAST _save_last_1 = _last; NadirAST _first_1 = null; _last = (NadirAST)input.LT(1); Require23=(NadirAST)Match(input,Require,FOLLOW_Require_in_require1263); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Require.Add(Require23); if ( (state.backtracking == 1) ) if ( _first_0==null ) _first_0 = Require23; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_2 = _last; NadirAST _first_2 = null; _last = (NadirAST)input.LT(1); FunctionCall24=(NadirAST)Match(input,FunctionCall,FOLLOW_FunctionCall_in_require1266); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_FunctionCall.Add(FunctionCall24); if ( (state.backtracking == 1) ) if ( _first_1==null ) _first_1 = FunctionCall24; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_3 = _last; NadirAST _first_3 = null; _last = (NadirAST)input.LT(1); Name25=(NadirAST)Match(input,Name,FOLLOW_Name_in_require1269); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Name.Add(Name25); if ( (state.backtracking == 1) ) if ( _first_2==null ) _first_2 = Name25; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); ID26=(NadirAST)Match(input,ID,FOLLOW_ID_in_require1271); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_ID.Add(ID26); if ( !((ID26.Text=="nomatchregex")) ) { if ( state.backtracking > 0 ) {state.failed = true; return retval;} throw new FailedPredicateException(input, "require", "$ID.Text==\"nomatchregex\""); } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_3; } _last = (NadirAST)input.LT(1); s=(NadirAST)Match(input,STRING,FOLLOW_STRING_in_require1278); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_STRING.Add(s); Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_2; } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_1; } // AST REWRITE // elements: s // token labels: s // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking == 1) ) { retval.Tree = root_0; RewriteRuleNodeStream stream_s = new RewriteRuleNodeStream(adaptor, "token s", s); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (NadirAST)adaptor.GetNilNode(); // 94:97: -> ^( NoMatchClause $s) { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:94:100: ^( NoMatchClause $s) { NadirAST root_1 = (NadirAST)adaptor.GetNilNode(); root_1 = (NadirAST)adaptor.BecomeRoot((NadirAST)adaptor.Create(NoMatchClause, "NoMatchClause"), root_1); adaptor.AddChild(root_1, stream_s.NextNode()); adaptor.AddChild(root_0, root_1); } } retval.Tree = (NadirAST)adaptor.RulePostProcessing(root_0); input.ReplaceChildren(adaptor.GetParent(retval.Start), adaptor.GetChildIndex(retval.Start), adaptor.GetChildIndex(_last), retval.Tree);} } break; case 2 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:95:17: ^( Require ^( FunctionCall ^( Name ID {...}?) s= STRING ) ) { _last = (NadirAST)input.LT(1); { NadirAST _save_last_1 = _last; NadirAST _first_1 = null; _last = (NadirAST)input.LT(1); Require27=(NadirAST)Match(input,Require,FOLLOW_Require_in_require1313); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Require.Add(Require27); if ( (state.backtracking == 1) ) if ( _first_0==null ) _first_0 = Require27; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_2 = _last; NadirAST _first_2 = null; _last = (NadirAST)input.LT(1); FunctionCall28=(NadirAST)Match(input,FunctionCall,FOLLOW_FunctionCall_in_require1316); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_FunctionCall.Add(FunctionCall28); if ( (state.backtracking == 1) ) if ( _first_1==null ) _first_1 = FunctionCall28; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_3 = _last; NadirAST _first_3 = null; _last = (NadirAST)input.LT(1); Name29=(NadirAST)Match(input,Name,FOLLOW_Name_in_require1319); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Name.Add(Name29); if ( (state.backtracking == 1) ) if ( _first_2==null ) _first_2 = Name29; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); ID30=(NadirAST)Match(input,ID,FOLLOW_ID_in_require1321); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_ID.Add(ID30); if ( !((ID30.Text=="matchregex")) ) { if ( state.backtracking > 0 ) {state.failed = true; return retval;} throw new FailedPredicateException(input, "require", "$ID.Text==\"matchregex\""); } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_3; } _last = (NadirAST)input.LT(1); s=(NadirAST)Match(input,STRING,FOLLOW_STRING_in_require1330); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_STRING.Add(s); Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_2; } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_1; } // AST REWRITE // elements: s // token labels: s // rule labels: retval // token list labels: // rule list labels: // wildcard labels: if ( (state.backtracking == 1) ) { retval.Tree = root_0; RewriteRuleNodeStream stream_s = new RewriteRuleNodeStream(adaptor, "token s", s); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (NadirAST)adaptor.GetNilNode(); // 95:97: -> ^( MatchClause $s) { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:95:100: ^( MatchClause $s) { NadirAST root_1 = (NadirAST)adaptor.GetNilNode(); root_1 = (NadirAST)adaptor.BecomeRoot((NadirAST)adaptor.Create(MatchClause, "MatchClause"), root_1); adaptor.AddChild(root_1, stream_s.NextNode()); adaptor.AddChild(root_0, root_1); } } retval.Tree = (NadirAST)adaptor.RulePostProcessing(root_0); input.ReplaceChildren(adaptor.GetParent(retval.Start), adaptor.GetChildIndex(retval.Start), adaptor.GetChildIndex(_last), retval.Tree);} } break; case 3 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:96:17: ^( Require ^( NoMatchClause (e= . )* ) ) { _last = (NadirAST)input.LT(1); { NadirAST _save_last_1 = _last; NadirAST _first_1 = null; _last = (NadirAST)input.LT(1); Require31=(NadirAST)Match(input,Require,FOLLOW_Require_in_require1369); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Require.Add(Require31); if ( (state.backtracking == 1) ) if ( _first_0==null ) _first_0 = Require31; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_2 = _last; NadirAST _first_2 = null; _last = (NadirAST)input.LT(1); NoMatchClause32=(NadirAST)Match(input,NoMatchClause,FOLLOW_NoMatchClause_in_require1372); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_NoMatchClause.Add(NoMatchClause32); if ( (state.backtracking == 1) ) if ( _first_1==null ) _first_1 = NoMatchClause32; if ( input.LA(1) == Token.DOWN ) { Match(input, Token.DOWN, null); if (state.failed) return retval; // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:96:44: (e= . )* do { int alt13 = 2; int LA13_0 = input.LA(1); if ( ((LA13_0 >= TokenFirst && LA13_0 <= 250)) ) { alt13 = 1; } switch (alt13) { case 1 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:0:0: e= . { _last = (NadirAST)input.LT(1); e = (NadirAST)input.LT(1); MatchAny(input); if (state.failed) return retval; if ( (state.backtracking == 1) ) if ( _first_2==null ) _first_2 = e; if ( (state.backtracking == 1) ) { retval.Tree = (NadirAST)_first_0; if ( adaptor.GetParent(retval.Tree)!=null && adaptor.IsNil( adaptor.GetParent(retval.Tree) ) ) retval.Tree = (NadirAST)adaptor.GetParent(retval.Tree);} } break; default: goto loop13; } } while (true); loop13: ; // Stops C# compiler whining that label 'loop13' has no statements Match(input, Token.UP, null); if (state.failed) return retval; }_last = _save_last_2; } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_1; } // AST REWRITE // elements: NoMatchClause, e // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: e if ( (state.backtracking == 1) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_e = new RewriteRuleSubtreeStream(adaptor,"wildcard e",e); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (NadirAST)adaptor.GetNilNode(); // 96:97: -> ^( NoMatchClause ( $e)* ) { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:96:100: ^( NoMatchClause ( $e)* ) { NadirAST root_1 = (NadirAST)adaptor.GetNilNode(); root_1 = (NadirAST)adaptor.BecomeRoot(stream_NoMatchClause.NextNode(), root_1); // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:96:116: ( $e)* while ( stream_e.HasNext() ) { adaptor.AddChild(root_1, stream_e.NextTree()); } stream_e.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = (NadirAST)adaptor.RulePostProcessing(root_0); input.ReplaceChildren(adaptor.GetParent(retval.Start), adaptor.GetChildIndex(retval.Start), adaptor.GetChildIndex(_last), retval.Tree);} } break; case 4 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:97:17: ^( Require ^( MatchClause (e= . )* ) ) { _last = (NadirAST)input.LT(1); { NadirAST _save_last_1 = _last; NadirAST _first_1 = null; _last = (NadirAST)input.LT(1); Require33=(NadirAST)Match(input,Require,FOLLOW_Require_in_require1455); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_Require.Add(Require33); if ( (state.backtracking == 1) ) if ( _first_0==null ) _first_0 = Require33; Match(input, Token.DOWN, null); if (state.failed) return retval; _last = (NadirAST)input.LT(1); { NadirAST _save_last_2 = _last; NadirAST _first_2 = null; _last = (NadirAST)input.LT(1); MatchClause34=(NadirAST)Match(input,MatchClause,FOLLOW_MatchClause_in_require1458); if (state.failed) return retval; if ( (state.backtracking == 1) ) stream_MatchClause.Add(MatchClause34); if ( (state.backtracking == 1) ) if ( _first_1==null ) _first_1 = MatchClause34; if ( input.LA(1) == Token.DOWN ) { Match(input, Token.DOWN, null); if (state.failed) return retval; // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:97:42: (e= . )* do { int alt14 = 2; int LA14_0 = input.LA(1); if ( ((LA14_0 >= TokenFirst && LA14_0 <= 250)) ) { alt14 = 1; } switch (alt14) { case 1 : // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:0:0: e= . { _last = (NadirAST)input.LT(1); e = (NadirAST)input.LT(1); MatchAny(input); if (state.failed) return retval; if ( (state.backtracking == 1) ) if ( _first_2==null ) _first_2 = e; if ( (state.backtracking == 1) ) { retval.Tree = (NadirAST)_first_0; if ( adaptor.GetParent(retval.Tree)!=null && adaptor.IsNil( adaptor.GetParent(retval.Tree) ) ) retval.Tree = (NadirAST)adaptor.GetParent(retval.Tree);} } break; default: goto loop14; } } while (true); loop14: ; // Stops C# compiler whining that label 'loop14' has no statements Match(input, Token.UP, null); if (state.failed) return retval; }_last = _save_last_2; } Match(input, Token.UP, null); if (state.failed) return retval;_last = _save_last_1; } // AST REWRITE // elements: e, MatchClause // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: e if ( (state.backtracking == 1) ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_e = new RewriteRuleSubtreeStream(adaptor,"wildcard e",e); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (NadirAST)adaptor.GetNilNode(); // 97:97: -> ^( MatchClause ( $e)* ) { // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:97:100: ^( MatchClause ( $e)* ) { NadirAST root_1 = (NadirAST)adaptor.GetNilNode(); root_1 = (NadirAST)adaptor.BecomeRoot(stream_MatchClause.NextNode(), root_1); // C:\\nadir\\nadir\\Nadir\\Parsing\\NadirASTOptimizer.g:97:116: ( $e)* while ( stream_e.HasNext() ) { adaptor.AddChild(root_1, stream_e.NextTree()); } stream_e.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = (NadirAST)adaptor.RulePostProcessing(root_0); input.ReplaceChildren(adaptor.GetParent(retval.Start), adaptor.GetChildIndex(retval.Start), adaptor.GetChildIndex(_last), retval.Tree);} } break; } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "coord_part" // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:460:1: coord_part : ( idd -> ^( IM_DONTCARE idd ) | '{' idd '}' -> ^( IM_DONTCARE '{' idd '}' ) | ( idd '=' numberunit ( ',' )? )+ -> ^( IM_DONTCARE ( idd '=' numberunit ( ',' )? )+ ) ); public simpletikzParser.coord_part_return coord_part() { simpletikzParser.coord_part_return retval = new simpletikzParser.coord_part_return(); retval.Start = input.LT(1); object root_0 = null; IToken char_literal285 = null; IToken char_literal287 = null; IToken char_literal289 = null; IToken char_literal291 = null; simpletikzParser.idd_return idd284 = default(simpletikzParser.idd_return); simpletikzParser.idd_return idd286 = default(simpletikzParser.idd_return); simpletikzParser.idd_return idd288 = default(simpletikzParser.idd_return); simpletikzParser.numberunit_return numberunit290 = default(simpletikzParser.numberunit_return); object char_literal285_tree=null; object char_literal287_tree=null; object char_literal289_tree=null; object char_literal291_tree=null; RewriteRuleTokenStream stream_45 = new RewriteRuleTokenStream(adaptor,"token 45"); RewriteRuleTokenStream stream_43 = new RewriteRuleTokenStream(adaptor,"token 43"); RewriteRuleTokenStream stream_44 = new RewriteRuleTokenStream(adaptor,"token 44"); RewriteRuleTokenStream stream_47 = new RewriteRuleTokenStream(adaptor,"token 47"); RewriteRuleSubtreeStream stream_numberunit = new RewriteRuleSubtreeStream(adaptor,"rule numberunit"); RewriteRuleSubtreeStream stream_idd = new RewriteRuleSubtreeStream(adaptor,"rule idd"); try { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:461:2: ( idd -> ^( IM_DONTCARE idd ) | '{' idd '}' -> ^( IM_DONTCARE '{' idd '}' ) | ( idd '=' numberunit ( ',' )? )+ -> ^( IM_DONTCARE ( idd '=' numberunit ( ',' )? )+ ) ) int alt73 = 3; alt73 = dfa73.Predict(input); switch (alt73) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:461:4: idd { PushFollow(FOLLOW_idd_in_coord_part3010); idd284 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd284.Tree); // AST REWRITE // elements: idd // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 461:9: -> ^( IM_DONTCARE idd ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:461:12: ^( IM_DONTCARE idd ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DONTCARE, "IM_DONTCARE"), root_1); adaptor.AddChild(root_1, stream_idd.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 2 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:462:4: '{' idd '}' { char_literal285=(IToken)Match(input,43,FOLLOW_43_in_coord_part3025); if (state.failed) return retval; if ( state.backtracking==0 ) stream_43.Add(char_literal285); PushFollow(FOLLOW_idd_in_coord_part3027); idd286 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd286.Tree); char_literal287=(IToken)Match(input,44,FOLLOW_44_in_coord_part3029); if (state.failed) return retval; if ( state.backtracking==0 ) stream_44.Add(char_literal287); // AST REWRITE // elements: idd, 43, 44 // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 462:16: -> ^( IM_DONTCARE '{' idd '}' ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:462:19: ^( IM_DONTCARE '{' idd '}' ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DONTCARE, "IM_DONTCARE"), root_1); adaptor.AddChild(root_1, stream_43.NextNode()); adaptor.AddChild(root_1, stream_idd.NextTree()); adaptor.AddChild(root_1, stream_44.NextNode()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; case 3 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:4: ( idd '=' numberunit ( ',' )? )+ { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:4: ( idd '=' numberunit ( ',' )? )+ int cnt72 = 0; do { int alt72 = 2; int LA72_0 = input.LA(1); if ( (LA72_0 == 78) ) { int LA72_2 = input.LA(2); if ( ((LA72_2 >= FLOAT_WO_EXP && LA72_2 <= INT)) ) { int LA72_4 = input.LA(3); if ( ((LA72_4 >= 57 && LA72_4 <= 62)) ) { int LA72_5 = input.LA(4); if ( ((LA72_5 >= IM_PATH && LA72_5 <= 42) || (LA72_5 >= 45 && LA72_5 <= 46) || LA72_5 == 51 || (LA72_5 >= 57 && LA72_5 <= 94)) ) { alt72 = 1; } } else if ( ((LA72_4 >= IM_PATH && LA72_4 <= 42) || (LA72_4 >= 45 && LA72_4 <= 46) || LA72_4 == 51 || (LA72_4 >= 63 && LA72_4 <= 94)) ) { alt72 = 1; } } else if ( ((LA72_2 >= IM_PATH && LA72_2 <= COMMAND) || (LA72_2 >= WS && LA72_2 <= 42) || (LA72_2 >= 45 && LA72_2 <= 46) || LA72_2 == 51 || (LA72_2 >= 57 && LA72_2 <= 94)) ) { alt72 = 1; } } else if ( ((LA72_0 >= IM_PATH && LA72_0 <= 42) || LA72_0 == 46 || LA72_0 == 51 || (LA72_0 >= 57 && LA72_0 <= 77) || (LA72_0 >= 79 && LA72_0 <= 94)) ) { alt72 = 1; } switch (alt72) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:5: idd '=' numberunit ( ',' )? { PushFollow(FOLLOW_idd_in_coord_part3047); idd288 = idd(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_idd.Add(idd288.Tree); char_literal289=(IToken)Match(input,45,FOLLOW_45_in_coord_part3049); if (state.failed) return retval; if ( state.backtracking==0 ) stream_45.Add(char_literal289); PushFollow(FOLLOW_numberunit_in_coord_part3051); numberunit290 = numberunit(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_numberunit.Add(numberunit290.Tree); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:24: ( ',' )? int alt71 = 2; int LA71_0 = input.LA(1); if ( (LA71_0 == 47) ) { alt71 = 1; } switch (alt71) { case 1 : // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:24: ',' { char_literal291=(IToken)Match(input,47,FOLLOW_47_in_coord_part3053); if (state.failed) return retval; if ( state.backtracking==0 ) stream_47.Add(char_literal291); } break; } } break; default: if ( cnt72 >= 1 ) goto loop72; if ( state.backtracking > 0 ) {state.failed = true; return retval;} EarlyExitException eee = new EarlyExitException(72, input); throw eee; } cnt72++; } while (true); loop72: ; // Stops C# compiler whinging that label 'loop72' has no statements // AST REWRITE // elements: 47, numberunit, idd, 45 // token labels: // rule labels: retval // token list labels: // rule list labels: if ( state.backtracking==0 ) { retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); root_0 = (object)adaptor.GetNilNode(); // 463:31: -> ^( IM_DONTCARE ( idd '=' numberunit ( ',' )? )+ ) { // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:34: ^( IM_DONTCARE ( idd '=' numberunit ( ',' )? )+ ) { object root_1 = (object)adaptor.GetNilNode(); root_1 = (object)adaptor.BecomeRoot((object)adaptor.Create(IM_DONTCARE, "IM_DONTCARE"), root_1); if ( !(stream_numberunit.HasNext() || stream_idd.HasNext() || stream_45.HasNext()) ) { throw new RewriteEarlyExitException(); } while ( stream_numberunit.HasNext() || stream_idd.HasNext() || stream_45.HasNext() ) { adaptor.AddChild(root_1, stream_idd.NextTree()); adaptor.AddChild(root_1, stream_45.NextNode()); adaptor.AddChild(root_1, stream_numberunit.NextTree()); // C:\\_TUHH\\SVN\\projects\\wsn\\dibus\\SvgMap\\SvgNaviMap\\bargraph\\tikzedt\\TikzParser\\simpletikz.g:463:69: ( ',' )? if ( stream_47.HasNext() ) { adaptor.AddChild(root_1, stream_47.NextNode()); } stream_47.Reset(); } stream_numberunit.Reset(); stream_idd.Reset(); stream_45.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0;} } break; } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException e) { throw e; } finally { } return retval; }