• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# StringTemplate.StringTemplateGroup类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Antlr.StringTemplate.StringTemplateGroup的典型用法代码示例。如果您正苦于以下问题:C# Antlr.StringTemplate.StringTemplateGroup类的具体用法?C# Antlr.StringTemplate.StringTemplateGroup怎么用?C# Antlr.StringTemplate.StringTemplateGroup使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Antlr.StringTemplate.StringTemplateGroup类属于命名空间,在下文中一共展示了Antlr.StringTemplate.StringTemplateGroup类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: SetUp

 public void SetUp()
 {
     group = new StringTemplateGroup(new System.IO.StringReader(gString));
     /*
     // warm up the on-the-fly compiler
     for (int i=1; i<=2*N; i++) {
     testBaselineLiteral();
     testSingleLocalAttributeReference();
     testApplyTemplateToList();
     }
     */
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:12,代码来源:TestEvalSpeed.cs


示例2: Main

        public static void Main(string[] args)
        {
            StringTemplateGroup group = new StringTemplateGroup("dummy");
            StringTemplate bold = group.DefineTemplate("bold", "<b>$attr$</b>");
            StringTemplate banner = group.DefineTemplate("banner", "the banner");
            StringTemplate st = new StringTemplate(group,
                "<html>\n" +
                "$banner(a=b)$" +
                "<p><b>$name$:$email$</b>" +
                "$if(member)$<i>$fontTag$member</font></i>$endif$");
            st.SetAttribute("name", "Terence");
            st.SetAttribute("name", "Tom");
            st.SetAttribute("email", "[email protected]");
            st.SetAttribute("templateAttr", bold);

            StringTemplateTreeView frame =
                new StringTemplateTreeView("StringTemplateTreeView Example", st);
            Application.Run(frame);
        }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:19,代码来源:StringTemplateViewer.cs


示例3: Main

        public static void Main(string[] args)
        {
            // choose a skin or site "look" to present
            string skin = "blue";

            // allow overrides for language and skin from arguments on command line
            string language = null;
            if ( args.Length > 0 )
            {
                language = args[0];
            }
            if ( args.Length > 1)
            {
                if ( "blue".Equals(args[1]) || "red".Equals(args[1]) )
                    skin = args[1];
            }

            TryToSetRequestedLocale(language);

            // load strings from a properties files like en.strings
            ResourceManager resMgr = new ResourceManager("ST.Examples.i18n.Content.Strings", typeof(ResourceWrapper).Assembly);
            ResourceWrapper strings = new ResourceWrapper(resMgr);

            // get a template group rooted at appropriate skin
            string absoluteSkinRootDirectoryName = Path.Combine(new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Parent.FullName, skin);
            StringTemplateGroup templates = new StringTemplateGroup("test", absoluteSkinRootDirectoryName);

            // generate some pages; every page gets strings table to pull strings from
            StringTemplate page1ST = templates.GetInstanceOf("page1");
            page1ST.SetAttribute("strings", strings);
            StringTemplate page2ST = templates.GetInstanceOf("page2");
            page2ST.SetAttribute("strings", strings);

            // render to text
            Console.Out.WriteLine(page1ST);
            Console.Out.WriteLine(page2ST);
        }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:37,代码来源:Test.cs


示例4: Initialize

		public void Initialize()
		{
			config = STViewEngineConfiguration.GetConfig(ConfigConstants.ELEMENT_stview_sectionname);

			StringTemplateGroup componentGroup = new ViewComponentStringTemplateGroup(
				ConfigConstants.STGROUP_NAME_PREFIX + "_components", 
				config.TemplateLexerType);

			StringTemplateGroup helpersSTGroup = new BasicStringTemplateGroup(
				ConfigConstants.STGROUP_NAME_PREFIX + "_helpersST", 
				new EmbeddedResourceTemplateLoader(this.GetType().Assembly, ConfigConstants.HELPER_RESOURCE_NAMESPACE, false),
				config.TemplateLexerType);
			helpersSTGroup.SuperGroup = componentGroup;

			templateGroup = new BasicStringTemplateGroup(
				ConfigConstants.STGROUP_NAME_PREFIX, 
				new FileSystemTemplateLoader(ViewSourceLoader.ViewRootDir, false),
				config.TemplateLexerType);
			templateGroup.SuperGroup = helpersSTGroup;

			if (config.TemplateWriterTypeName != null)
			{
				componentGroup.SetTemplateWriterType(config.TemplateWriterType);
				helpersSTGroup.SetTemplateWriterType(config.TemplateWriterType);
				templateGroup.SetTemplateWriterType(config.TemplateWriterType);
			}

			IEnumerator globalRenderersEnumerator = config.GetGlobalAttributeRenderers();
			while (globalRenderersEnumerator.MoveNext())
			{
				RendererInfo renderInfo = (RendererInfo)globalRenderersEnumerator.Current;
				componentGroup.RegisterAttributeRenderer(renderInfo.AttributeType, renderInfo.GetRendererInstance());
				helpersSTGroup.RegisterAttributeRenderer(renderInfo.AttributeType, renderInfo.GetRendererInstance());
				templateGroup.RegisterAttributeRenderer(renderInfo.AttributeType, renderInfo.GetRendererInstance());
			}
		}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:36,代码来源:StringTemplateViewEngine.cs


示例5: testEmbeddedMultiLineIF

            public virtual void testEmbeddedMultiLineIF()
            {
            StringTemplateGroup group = new StringTemplateGroup("test");
            StringTemplate main = new StringTemplate(group, "$sub$");
            StringTemplate sub = new StringTemplate(
                group, ""
                + "begin" + NL
                + "$if(foo)$" + NL
                + "$foo$" + NL
                + "$else$" + NL
                + "blort" + NL
                + "$endif$" + NL
                );
            sub.SetAttribute("foo", "stuff");
            main.SetAttribute("sub", sub);
            string expecting = "begin" + NL
                + "stuff";
            Assert.AreEqual(expecting, main.ToString());

            main = new StringTemplate(group, "$sub$");
            sub = sub.GetInstanceOf();
            main.SetAttribute("sub", sub);
            expecting = "begin" + NL
                + "blort";
            Assert.AreEqual(expecting, main.ToString());
            }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:26,代码来源:TestStringTemplate.cs


示例6: testImplicitRegionRedefError

 public void testImplicitRegionRedefError()
 {
     // cannot define an implicitly-defined template more than once
     string templates = ""
         + "group test;" + NL
         + "a() ::= \"X<@r()>Y\"" + NL
         + "@a.r() ::= \"foo\"" + NL
         + "@a.r() ::= \"bar\"" + NL;
     IStringTemplateErrorListener errors = new ErrorBuffer();
     StringTemplateGroup group =
         new StringTemplateGroup(new StringReader(templates), errors);
     StringTemplate st = group.GetInstanceOf("a");
     st.ToString();
     string result = errors.ToString();
     string expecting = "group test line 4: redefinition of template region: @a.r";
     Assert.AreEqual(expecting, result);
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:17,代码来源:TestStringTemplate.cs


示例7: testIFTemplate

 public virtual void testIFTemplate()
 {
     StringTemplateGroup group = new StringTemplateGroup("dummy", ".", typeof(AngleBracketTemplateLexer));
     StringTemplate t = new StringTemplate(group, "SELECT <column> FROM PERSON " + "<if(cond)>WHERE ID=<id><endif>;");
     t.SetAttribute("column", "name");
     t.SetAttribute("cond", "true");
     t.SetAttribute("id", "231");
     Assert.AreEqual(t.ToString(), "SELECT name FROM PERSON WHERE ID=231;");
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:9,代码来源:TestStringTemplate.cs


示例8: testIFCondWithParensDollarDelimsTemplate

 public virtual void testIFCondWithParensDollarDelimsTemplate()
 {
     StringTemplateGroup group = new StringTemplateGroup("dummy", ".");
     StringTemplate t = new StringTemplate(group, "$if(map.(type))$$type$ $prop$=$map.(type)$;$endif$");
     Hashtable map = new Hashtable();
     map["int"] = "0";
     t.SetAttribute("map", map);
     t.SetAttribute("prop", "x");
     t.SetAttribute("type", "int");
     Assert.AreEqual("int x=0;", t.ToString());
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:11,代码来源:TestStringTemplate.cs


示例9: testGroupSatisfiesSingleInterface

        public virtual void testGroupSatisfiesSingleInterface()
        {
            // this also tests the group loader
            IStringTemplateErrorListener errors = new ErrorBuffer();
            StringTemplateGroup.RegisterGroupLoader(new CommonGroupLoader(errors, TEMPDIR));
            string groupIStr = ""
                + "interface testI;" + NL
                + "t();" + NL
                + "bold(item);" + NL
                + "optional duh(a,b,c);" + NL;
            WriteFile(TEMPDIR, "testI.sti", groupIStr);

            string templates = ""
                + "group testG implements testI;" + NL
                + "t() ::= <<foo>>" + NL
                + "bold(item) ::= <<foo>>" + NL
                + "duh(a,b,c) ::= <<foo>>" + NL;

            WriteFile(TEMPDIR, "testG.stg", templates);

            file1 = new StreamReader(Path.Combine(TEMPDIR, "testG.stg"));
            StringTemplateGroup group = new StringTemplateGroup(file1, errors);

            string expecting = ""; // should be no errors
            Assert.AreEqual(expecting, errors.ToString());
        }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:26,代码来源:TestStringTemplate.cs


示例10: testGroupExtendsSuperGroup

        public virtual void testGroupExtendsSuperGroup()
        {
            // this also tests the group loader
            IStringTemplateErrorListener errors = new ErrorBuffer();
            StringTemplateGroup.RegisterGroupLoader(
                new CommonGroupLoader(errors, TEMPDIR)
                );
            string superGroup = ""
                + "group superG;" + NL
                + "bold(item) ::= <<*<item>*>>;\n" + NL;
            WriteFile(TEMPDIR, "superG.stg", superGroup);

            string templates = ""
                + "group testG : superG;" + NL
                + "main(x) ::= <<$bold(x)$>>" + NL;

            WriteFile(TEMPDIR, "testG.stg", templates);

            file1 = new StreamReader(Path.Combine(TEMPDIR, "testG.stg"));
            StringTemplateGroup group = new StringTemplateGroup(file1, typeof(DefaultTemplateLexer), errors);
            StringTemplate st = group.GetInstanceOf("main");
            st.SetAttribute("x", "foo");

            string expecting = "*foo*";
            Assert.AreEqual(expecting, st.ToString());
        }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:26,代码来源:TestStringTemplate.cs


示例11: testComplicatedSeparatorExpr

 public virtual void testComplicatedSeparatorExpr()
 {
     StringTemplateGroup group = new StringTemplateGroup("test");
     StringTemplate bold = group.DefineTemplate("bulletSeparator", "</li>$foo$<li>");
     // make separator a complicated expression with args passed to included template
     StringTemplate t = new StringTemplate(
         group, @"<ul>$name; separator=bulletSeparator(foo="" "")+""&nbsp;""$</ul>"
         );
     t.SetAttribute("name", "Ter");
     t.SetAttribute("name", "Tom");
     t.SetAttribute("name", "Mel");
     //System.out.println(t);
     string expecting = "<ul>Ter</li> <li>&nbsp;Tom</li> <li>&nbsp;Mel</ul>";
     Assert.AreEqual(expecting, t.ToString());
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:15,代码来源:TestStringTemplate.cs


示例12: testComplicatedInheritance

 public void testComplicatedInheritance()
 {
     // in super: decls invokes labels
     // in sub:   overridden decls which calls super.decls
     //           overridden labels
     // Bug: didn't see the overridden labels.  In other words,
     // the overridden decls called super which called labels, but
     // didn't get the subgroup overridden labels--it calls the
     // one in the superclass.  Ouput was "DL" not "DSL"; didn't
     // invoke sub's labels().
     string basetemplates = ""
         + "group base;" + NL
         + "decls() ::= \"D<labels()>\"" + NL
         + "labels() ::= \"L\"" + NL
         ;
     StringTemplateGroup @base = new StringTemplateGroup(
         new StringReader(basetemplates),
         typeof(AngleBracketTemplateLexer));
     string subtemplates = ""
         + "group sub;" + NL
         + "decls() ::= \"<super.decls()>\"" + NL
         + "labels() ::= \"SL\"" + NL
         ;
     StringTemplateGroup sub = new StringTemplateGroup(
         new StringReader(subtemplates),
         typeof(AngleBracketTemplateLexer));
     sub.SuperGroup = @base;
     StringTemplate st = sub.GetInstanceOf("decls");
     string expecting = "DSL";
     string result = st.ToString();
     Assert.AreEqual(expecting, result);
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:32,代码来源:TestStringTemplate.cs


示例13: TestFirstThenRestTwiceOnIEnumeratorResultsInNoOutputFor2ndRef

            public virtual void TestFirstThenRestTwiceOnIEnumeratorResultsInNoOutputFor2ndRef()
            {
            string templates = ""
                + "group TestIEnum ;" + NL
                + "FirstThenRest(Arg) ::=<<" + NL
                + "Iteration 1: " + NL
                + "FIRST:  $first(Arg):{X=$it$ # }$" + NL
                + "REST :  $rest(Arg):{X=$it$ # }$" + NL
                + "-------------" + NL
                + "Iteration 2: " + NL
                + "FIRST:  $first(Arg):{X=$it$ # }$" + NL
                + "REST :  $rest(Arg):{X=$it$ # }$" + NL
                + "-------------" + NL
                + ">>"
                ;

            StringTemplateGroup group = new StringTemplateGroup(
                new StringReader(templates),
                typeof(DefaultTemplateLexer));
            StringTemplate actionST = group.GetInstanceOf("FirstThenRest");
            int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
            actionST.SetAttribute("Arg", myIntArray.GetEnumerator());
            string expected = ""
                + "Iteration 1: " + NL
                + "FIRST:  X=1 # " + NL
                + "REST :  X=2 # X=3 # X=4 # X=5 # " + NL
                + "-------------" + NL
                + "Iteration 2: " + NL
                + "FIRST:  X=1 # " + NL
                + "REST :  X=2 # X=3 # X=4 # X=5 # " + NL
                + "-------------" + NL
                ;
            string actual = actionST.ToString();
            Assert.AreEqual(expected, actual,
                "IEnumerators have side-effects. Can't just Reset() and reuse because it may be \"deliberately positioned\".");
            }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:36,代码来源:TestStringTemplate.cs


示例14: TestMultipleRefsToIEnumeratorGivesEmptyOutput

            public virtual void TestMultipleRefsToIEnumeratorGivesEmptyOutput()
            {
            string templates = ""
                + "group TestIEnum ;" + NL
                + "Action(Arg) ::=<<" + NL
                + "Ref 1: " + NL
                + "  $Arg:{X=$it$ # }$" + NL
                + "Ref 2: " + NL
                + "  $Arg:{X=$it$ # }$" + NL
                + ">>"
                ;

            StringTemplateGroup group = new StringTemplateGroup(
                new StringReader(templates),
                typeof(DefaultTemplateLexer));
            StringTemplate actionST = group.GetInstanceOf("Action");
            int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
            actionST.SetAttribute("Arg", myIntArray.GetEnumerator());
            string expected = ""
                + "Ref 1: " + NL
                + "  X=1 # X=2 # X=3 # X=4 # X=5 # " + NL
                + "Ref 2: " + NL
                + "  X=1 # X=2 # X=3 # X=4 # X=5 # " + NL
                ;
            string actual = actionST.ToString();
            Assert.AreEqual(expected, actual,
                "IEnumerators have side-effects. Can't just Reset() and reuse because it may be \"deliberately positioned\".");
            }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:28,代码来源:TestStringTemplate.cs


示例15: TestIfTestingDoesNotAdvanceIEnumeratorPosition2

            public virtual void TestIfTestingDoesNotAdvanceIEnumeratorPosition2()
            {
            string templates = ""
                + "group TestIEnum ;" + NL
                + "ActionWithIfTest(Arg) ::=<<" + NL
                + "$if( Arg )$" + NL
                + "$Arg:{X=$it$ # }$" + NL
                + "$endif$" + NL
                + ">>" + NL
                + "ActionWithoutIfTest(Arg) ::=<<" + NL
                + "$Arg:{X=$it$ # }$" + NL
                + ">>"
                ;

            StringTemplateGroup group = new StringTemplateGroup(
                new StringReader(templates),
                typeof(DefaultTemplateLexer));
            StringTemplate actionWithIfTestST = group.GetInstanceOf("ActionWithIfTest");
            StringTemplate actionWithoutIfTestST = group.GetInstanceOf("ActionWithoutIfTest");
            int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
            actionWithIfTestST.SetAttribute("Arg", myIntArray.GetEnumerator());
            actionWithoutIfTestST.SetAttribute("Arg", myIntArray.GetEnumerator());
            string resultWithIfTestST = actionWithIfTestST.ToString();
            string resultWithoutIfTestST = actionWithoutIfTestST.ToString();
            Assert.AreEqual(resultWithIfTestST, resultWithoutIfTestST);
            }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:26,代码来源:TestStringTemplate.cs


示例16: testFormalArgumentAssignment

 public virtual void testFormalArgumentAssignment()
 {
     string templates = ""
         + "group test;" + NL
         + @"page() ::= <<$body(font=""Times"")$>>" + NL
         + @"body(font) ::= ""<font face=$font$>my body</font>""" + NL;
     StringTemplateGroup group = new StringTemplateGroup(new StringReader(templates), typeof(DefaultTemplateLexer));
     StringTemplate t = group.GetInstanceOf("page");
     string expecting = "<font face=Times>my body</font>";
     Assert.AreEqual(expecting, t.ToString());
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:11,代码来源:TestStringTemplate.cs


示例17: testFormalArgumentAssignmentInApply

 public virtual void testFormalArgumentAssignmentInApply()
 {
     string templates = ""
         + "group test;" + NL
         + @"page(name) ::= <<$name:bold(font=""Times"")$>>" + NL
         + @"bold(font) ::= ""<font face=$font$><b>$it$</b></font>""" + NL;
     StringTemplateGroup group = new StringTemplateGroup(new StringReader(templates), typeof(DefaultTemplateLexer));
     StringTemplate t = group.GetInstanceOf("page");
     t.SetAttribute("name", "Ter");
     string expecting = "<font face=Times><b>Ter</b></font>";
     Assert.AreEqual(expecting, t.ToString());
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:12,代码来源:TestStringTemplate.cs


示例18: testEmbeddedRegionRedefError

 public void testEmbeddedRegionRedefError()
 {
     // cannot define an embedded template within group
     string templates = ""
         + "group test;" + NL
         + "a() ::= \"X<@r>dork<@end>Y\""
         + "@a.r() ::= \"foo\"" + NL;
     IStringTemplateErrorListener errors = new ErrorBuffer();
     StringTemplateGroup group = new StringTemplateGroup(new StringReader(templates), errors);
     StringTemplate st = group.GetInstanceOf("a");
     st.ToString();
     string result = errors.ToString();
     string expecting = "group test line 2: redefinition of template region: @a.r";
     Assert.AreEqual(expecting, result);
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:15,代码来源:TestStringTemplate.cs


示例19: testGroupFileFormat

        public virtual void testGroupFileFormat()
        {
            string templates = ""
                + "group test;" + NL
                + @"t() ::= ""literal template""" + NL
                + @"bold(item) ::= ""<b>$item$</b>""" + NL
                + "duh() ::= <<" + NL
                + "xx" + NL
                + ">>" + NL;
            StringTemplateGroup group = new StringTemplateGroup(new StringReader(templates), typeof(DefaultTemplateLexer));

            string expecting = ""
                + "group test;" + NL
                + "bold(item) ::= <<<b>$item$</b>>>" + NL
                + "duh() ::= <<xx>>" + NL
                + "t() ::= <<literal template>>" + NL;

            Assert.AreEqual(expecting, group.ToString());

            StringTemplate a = group.GetInstanceOf("t");
            expecting = "literal template";
            Assert.AreEqual(expecting, a.ToString());

            StringTemplate b = group.GetInstanceOf("bold");
            b.SetAttribute("item", "dork");
            expecting = "<b>dork</b>";
            Assert.AreEqual(expecting, b.ToString());
        }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:28,代码来源:TestStringTemplate.cs


示例20: testEmbeddedRegionRef

 public void testEmbeddedRegionRef()
 {
     string templates = ""
         + "group test;" + NL
         + "a() ::= \"[email protected][email protected]$Y\"" + NL;
     StringTemplateGroup group =
         new StringTemplateGroup(new StringReader(templates), typeof(DefaultTemplateLexer));
     StringTemplate st = group.GetInstanceOf("a");
     string result = st.ToString();
     string expecting = "XblortY";
     Assert.AreEqual(expecting, result);
 }
开发者ID:david-mcneil,项目名称:stringtemplate,代码行数:12,代码来源:TestStringTemplate.cs



注:本文中的Antlr.StringTemplate.StringTemplateGroup类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Codegen.CodeGenerator类代码示例发布时间:2022-05-24
下一篇:
C# Runtime.IToken类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap