// $ANTLR start "ruleContents" // D:\\lesscss.g:84:10: fragment ruleContents : ( property -> ^( PROPERTY property ) | ( ( selectors ';' ) -> ^( MIXIN selectors ) ) | ruleset ); public lesscssParser.ruleContents_return ruleContents() // throws RecognitionException [1] { lesscssParser.ruleContents_return retval = new lesscssParser.ruleContents_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal43 = null; lesscssParser.property_return property41 = null; lesscssParser.selectors_return selectors42 = null; lesscssParser.ruleset_return ruleset44 = null; CommonTree char_literal43_tree=null; RewriteRuleTokenStream stream_32 = new RewriteRuleTokenStream(adaptor,"token 32"); RewriteRuleSubtreeStream stream_selectors = new RewriteRuleSubtreeStream(adaptor,"rule selectors"); RewriteRuleSubtreeStream stream_property = new RewriteRuleSubtreeStream(adaptor,"rule property"); try { // D:\\lesscss.g:85:2: ( property -> ^( PROPERTY property ) | ( ( selectors ';' ) -> ^( MIXIN selectors ) ) | ruleset ) int alt12 = 3; alt12 = dfa12.Predict(input); switch (alt12) { case 1 : // D:\\lesscss.g:85:4: property { PushFollow(FOLLOW_property_in_ruleContents473); property41 = property(); state.followingStackPointer--; stream_property.Add(property41.Tree); // AST REWRITE // elements: property // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 85:13: -> ^( PROPERTY property ) { // D:\\lesscss.g:85:16: ^( PROPERTY property ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(PROPERTY, "PROPERTY"), root_1); adaptor.AddChild(root_1, stream_property.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0; } break; case 2 : // D:\\lesscss.g:85:39: ( ( selectors ';' ) -> ^( MIXIN selectors ) ) { // D:\\lesscss.g:85:39: ( ( selectors ';' ) -> ^( MIXIN selectors ) ) // D:\\lesscss.g:85:40: ( selectors ';' ) { // D:\\lesscss.g:85:40: ( selectors ';' ) // D:\\lesscss.g:85:41: selectors ';' { PushFollow(FOLLOW_selectors_in_ruleContents487); selectors42 = selectors(); state.followingStackPointer--; stream_selectors.Add(selectors42.Tree); char_literal43=(IToken)Match(input,32,FOLLOW_32_in_ruleContents489); stream_32.Add(char_literal43); } // AST REWRITE // elements: selectors // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); root_0 = (CommonTree)adaptor.GetNilNode(); // 85:56: -> ^( MIXIN selectors ) { // D:\\lesscss.g:85:59: ^( MIXIN selectors ) { CommonTree root_1 = (CommonTree)adaptor.GetNilNode(); root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(MIXIN, "MIXIN"), root_1); adaptor.AddChild(root_1, stream_selectors.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0;retval.Tree = root_0; } } break; case 3 : // D:\\lesscss.g:85:81: ruleset { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_ruleset_in_ruleContents503); ruleset44 = ruleset(); state.followingStackPointer--; adaptor.AddChild(root_0, ruleset44.Tree); } break; } retval.Stop = input.LT(-1); 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 { } return retval; }
// $ANTLR start "ruleContents" // D:\\development\\Less.Net\\lesscss.g:85:10: fragment ruleContents : ( property | mixin | ruleset ); public lesscssParser.ruleContents_return ruleContents() // throws RecognitionException [1] { lesscssParser.ruleContents_return retval = new lesscssParser.ruleContents_return(); retval.Start = input.LT(1); CommonTree root_0 = null; lesscssParser.property_return property41 = default(lesscssParser.property_return); lesscssParser.mixin_return mixin42 = default(lesscssParser.mixin_return); lesscssParser.ruleset_return ruleset43 = default(lesscssParser.ruleset_return); try { // D:\\development\\Less.Net\\lesscss.g:86:2: ( property | mixin | ruleset ) int alt12 = 3; alt12 = dfa12.Predict(input); switch (alt12) { case 1 : // D:\\development\\Less.Net\\lesscss.g:86:4: property { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_property_in_ruleContents486); property41 = property(); state.followingStackPointer--; adaptor.AddChild(root_0, property41.Tree); } break; case 2 : // D:\\development\\Less.Net\\lesscss.g:86:15: mixin { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_mixin_in_ruleContents490); mixin42 = mixin(); state.followingStackPointer--; adaptor.AddChild(root_0, mixin42.Tree); } break; case 3 : // D:\\development\\Less.Net\\lesscss.g:86:23: ruleset { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_ruleset_in_ruleContents494); ruleset43 = ruleset(); state.followingStackPointer--; adaptor.AddChild(root_0, ruleset43.Tree); } break; } retval.Stop = input.LT(-1); 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 { } return retval; }