Antlr3.Tool.Grammar.AddArtificialMatchTokensRule C# (CSharp) Method

AddArtificialMatchTokensRule() public method

public AddArtificialMatchTokensRule ( Antlr3.Tool.GrammarAST grammarAST, IList ruleNames, IList delegateNames, bool filterMode ) : Antlr3.Tool.GrammarAST
grammarAST Antlr3.Tool.GrammarAST
ruleNames IList
delegateNames IList
filterMode bool
return Antlr3.Tool.GrammarAST
        public GrammarAST AddArtificialMatchTokensRule( GrammarAST grammarAST,
                                                       IList<string> ruleNames,
                                                       IList<string> delegateNames,
                                                       bool filterMode )
        {
            StringTemplate matchTokenRuleST = null;
            if ( filterMode )
            {
                matchTokenRuleST = new StringTemplate(
                        ArtificialTokensRuleName +
                        " options {k=1; backtrack=true;} : <rules; separator=\"|\">;");
            }
            else
            {
                matchTokenRuleST = new StringTemplate(
                        ArtificialTokensRuleName + " : <rules; separator=\"|\">;");
            }

            // Now add token rule references
            for ( int i = 0; i < ruleNames.Count; i++ )
            {
                string rname = (string)ruleNames[i];
                matchTokenRuleST.SetAttribute( "rules", rname );
            }
            for ( int i = 0; i < delegateNames.Count; i++ )
            {
                string dname = (string)delegateNames[i];
                matchTokenRuleST.SetAttribute( "rules", dname + ".Tokens" );
            }

            GrammarAST r = ParseArtificialRule(matchTokenRuleST.Render());
            AddRule(grammarAST, r);
            //addRule((GrammarAST)parser.getAST());
            //return (GrammarAST)parser.getAST();
            return r;
        }
Grammar