Exemple #1
0
        private static TemplateGroup LoadPrecRuleTemplates(AntlrTool tool)
        {
            string        templateDirs = tool.TemplatesDirectory;
            TemplateGroup group;

            if (!recRuleTemplatesCache.TryGetValue(templateDirs, out group))
            {
                string fileName = CodeGenerator.FindTemplateFile(templateDirs.Split(':'), "LeftRecursiveRules.stg");
                group = new ToolTemplateGroupFile(fileName);
                if (!group.IsDefined("recRuleName"))
                {
                    recRuleTemplatesCache[templateDirs] = group;
                }
                else
                {
                    ErrorManager.Error(ErrorManager.MSG_MISSING_CODE_GEN_TEMPLATES, "PrecRules");
                    return(null);
                }
            }

            return(group);
        }
        private static TemplateGroup LoadPrecRuleTemplates(AntlrTool tool)
        {
            string templateDirs = tool.TemplatesDirectory;
            TemplateGroup group;
            if (!recRuleTemplatesCache.TryGetValue(templateDirs, out group))
            {
                string fileName = CodeGenerator.FindTemplateFile(templateDirs.Split(':'), "LeftRecursiveRules.stg");
                group = new ToolTemplateGroupFile(fileName);
                if (!group.IsDefined("recRuleName"))
                {
                    recRuleTemplatesCache[templateDirs] = group;
                }
                else
                {
                    ErrorManager.Error(ErrorManager.MSG_MISSING_CODE_GEN_TEMPLATES, "PrecRules");
                    return null;
                }
            }

            return group;
        }