Sam, Thank you so much. It works!
Sorry for not having the list in the To: field I didn't realize these weren't going to the list until just now. Hopefully this can help someone else. Thanks again for your hard work! - David On Fri, Feb 25, 2011 at 8:15 PM, Sam Harwell <[email protected]>wrote: > Hi David, > > > > This one was my fault. Got an extra set of angle brackets goin’ on. > > > > The part of the template reading this: > > > > List\<<StringTemplate>\> > > > > Should actually be this: > > > > List\<StringTemplate\> > > > > Sam > > > > *From:* David Daeschler [mailto:[email protected]] > *Sent:* Friday, February 25, 2011 3:46 PM > > *To:* Sam Harwell > *Subject:* Re: [antlr-interest] C# antlr-dotnet-tool-3.3.1.7705 issue with > collected template list > > > > Hey Sam, > > > > Sorry I should have noticed that. I removed the errant line break and I got > an even bigger error while it was trying to generate the parser: > > > > error(10): internal error: Gen.g : System.ArgumentException: no such > attribute: > > StringTemplate in template context [outputFile treeParser > genericParser(...) ru > > le ruleLabelDefs anonymous] > > at > Antlr3.ST.StringTemplate.CheckNullAttributeAgainstFormalArguments(StringTe > > mplate self, String attribute) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3 > > .StringTemplate\StringTemplate.cs:line 1656 > > at Antlr3.ST.StringTemplate.GetAttribute(String name) in > c:\dev\stringtemplat > > e_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line 967 > > at > Antlr3.ST.Language.ActionEvaluator.<>c__DisplayClass36.<actionFunctional>b > > __34(ASTExpr chunk, StringTemplate self, IStringTemplateWriter writer) in > c:\dev > > > \stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\obj\Release\ActionEvalua > > tor.cs:line 2091 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.ST.Language.ASTExpr.WriteTemplate(StringTemplate self, > StringTempla > > te stToWrite, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 1111 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1023 > > at Antlr3.ST.Language.ASTExpr.WriteIterableValue(StringTemplate self, > Iterato > > r iter, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\An > > tlr3.StringTemplate\Language\ASTExpr.cs:line 1163 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1029 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.ST.Language.ASTExpr.WriteTemplate(StringTemplate self, > StringTempla > > te stToWrite, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 1111 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1023 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.ST.Language.ASTExpr.WriteTemplate(StringTemplate self, > StringTempla > > te stToWrite, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 1111 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1023 > > at Antlr3.ST.Language.ASTExpr.WriteIterableValue(StringTemplate self, > Iterato > > r iter, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\An > > tlr3.StringTemplate\Language\ASTExpr.cs:line 1163 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1029 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.ST.Language.ASTExpr.WriteTemplate(StringTemplate self, > StringTempla > > te stToWrite, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 1111 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1023 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.ST.Language.ASTExpr.WriteTemplate(StringTemplate self, > StringTempla > > te stToWrite, IStringTemplateWriter out) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 1111 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, Object o, > IStringTem > > plateWriter out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplat > > e\Language\ASTExpr.cs:line 1023 > > at > Antlr3.ST.Language.ASTExpr.HoldsActionFuncAndChunk.Evaluate(StringTemplate > > template, IStringTemplateWriter writer) in > c:\dev\stringtemplate_main\antlrcs\m > > ain\Antlr3.StringTemplate\Language\ASTExpr.cs:line 149 > > at Antlr3.ST.Language.ASTExpr.Write(StringTemplate self, > IStringTemplateWrite > > r out) in > c:\dev\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\Language > > \ASTExpr.cs:line 318 > > at Antlr3.ST.StringTemplate.Write(IStringTemplateWriter writer) in > c:\dev\str > > ingtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line > 992 > > at Antlr3.Codegen.CodeGenerator.Write(StringTemplate code, String > fileName) i > > n > c:\dev\stringtemplate_main\antlrcs\main\Antlr3\Codegen\CodeGenerator.cs:line > 1 > > 604 > > at Antlr3.Targets.CSharp3Target.GenRecognizerFile(AntlrTool tool, > CodeGenerat > > or generator, Grammar grammar, StringTemplate outputFileST) in > c:\dev\stringtemp > > > late_main\antlrcs\main\Antlr3.Targets\Antlr3.Targets.CSharp3\CSharp3Target.cs:li > > ne 86 > > at Antlr3.Codegen.CodeGenerator.GenRecognizer() in > c:\dev\stringtemplate_main > > \antlrcs\main\Antlr3\Codegen\CodeGenerator.cs:line 739 > > at Antlr3.AntlrTool.GenerateRecognizer(Grammar grammar) in > c:\dev\stringtempl > > ate_main\antlrcs\main\Antlr3\AntlrTool.cs:line 762 > > at Antlr3.AntlrTool.Process() in > c:\dev\stringtemplate_main\antlrcs\main\Antl > > r3\AntlrTool.cs:line 561 > > CheckNullAttributeAgainstFormalArguments at offset 225 in file:line:column > c:\de > > > v\stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:1656: > > 17 > > > > GetAttribute at offset 57 in file:line:column > c:\dev\stringtemplate_main\antlrcs > > \main\Antlr3.StringTemplate\StringTemplate.cs:967:13 > > > > <actionFunctional>b__34 at offset 36 in file:line:column > c:\dev\stringtemplate_m > > > ain\antlrcs\main\Antlr3.StringTemplate\obj\Release\ActionEvaluator.cs:2091:37 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > WriteTemplate at offset 305 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1111:17 > > > > Write at offset 204 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1023:21 > > > > WriteIterableValue at offset 484 in file:line:column > c:\dev\stringtemplate_main\ > > antlrcs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1163:29 > > > > Write at offset 268 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1029:21 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > WriteTemplate at offset 305 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1111:17 > > > > Write at offset 204 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1023:21 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > WriteTemplate at offset 305 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1111:17 > > > > Write at offset 204 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1023:21 > > > > WriteIterableValue at offset 484 in file:line:column > c:\dev\stringtemplate_main\ > > antlrcs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1163:29 > > > > Write at offset 268 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1029:21 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > WriteTemplate at offset 305 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1111:17 > > > > Write at offset 204 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1023:21 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > WriteTemplate at offset 305 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\Language\ASTExpr.cs:1111:17 > > > > Write at offset 204 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:1023:21 > > > > Evaluate at offset 28 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3.StringTemplate\Language\ASTExpr.cs:149:17 > > > > Write at offset 445 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\Language\ASTExpr.cs:318:21 > > > > Write at offset 155 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\StringTemplate.cs:992:17 > > > > Write at offset 109 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3\Codegen\CodeGenerator.cs:1604:13 > > > > GenRecognizerFile at offset 132 in file:line:column > c:\dev\stringtemplate_main\a > > ntlrcs\main\Antlr3.Targets\Antlr3.Targets.CSharp3\CSharp3Target.cs:86:13 > > > > GenRecognizer at offset 3139 in file:line:column > c:\dev\stringtemplate_main\antl > > rcs\main\Antlr3\Codegen\CodeGenerator.cs:739:17 > > > > GenerateRecognizer at offset 234 in file:line:column > c:\dev\stringtemplate_main\ > > antlrcs\main\Antlr3\AntlrTool.cs:762:17 > > > > Process at offset 591 in file:line:column > c:\dev\stringtemplate_main\antlrcs\mai > > n\Antlr3\AntlrTool.cs:561:21 > > > > Thanks again, > > -- > David Daeschler > > > > > > On Fri, Feb 25, 2011 at 4:17 PM, Sam Harwell <[email protected]> > wrote: > > Looks like wordwrap got you. “wildcardTreeLabels” is one word. > > > > Let me know if that gets it fixed. :) > > > > Sam > > > > *From:* David Daeschler [mailto:[email protected]] > *Sent:* Friday, February 25, 2011 2:14 PM > *To:* Sam Harwell > *Subject:* Re: [antlr-interest] C# antlr-dotnet-tool-3.3.1.7705 issue with > collected template list > > > > Hi Sam, > > > > Thank you very much for the quick response. > > > > Pasting that to the bottom of ST.stg in the Codegen\Templates\CSharp3 > subdirectory yields the following errors when I run the template, note like > 16t0 is where ruleLabelDefs() ::= << begins: > > > > > > error(10): internal error: action parse error in group ST line 160; > template co > > ntext is [ruleLabelDefs] : MismatchedTokenException(ID!=RBRACK) > > RecoverFromMismatchedToken at offset 381 in file:line:column > c:\dev\stringtempla > > > te_main\antlr\main\runtime\CSharp3\Sources\Antlr3.Runtime\BaseRecognizer.cs:726: > > 13 > > > > Match at offset 149 in file:line:column > c:\dev\stringtemplate_main\antlr\main\ru > > ntime\CSharp3\Sources\Antlr3.Runtime\BaseRecognizer.cs:157:13 > > > > list at offset 773 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\A > > ntlr3.StringTemplate\obj\Release\ActionParser.cs:3036:4 > > > > error(10): internal error: problem parsing template 'ruleLabelDefs' : > System.In > > validCastException: Unable to cast object of type > 'Antlr.Runtime.Tree.CommonErro > > rNode' to type 'Antlr3.ST.Language.StringTemplateAST'. > > at Antlr3.ST.Language.ActionParser.list() in > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:line 3051 > > at Antlr3.ST.Language.ActionParser.primaryExpr() in > c:\dev\stringtemplate_mai > > n\antlrcs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:line 1723 > > at Antlr3.ST.Language.ActionParser.expr() in > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:line 1318 > > at Antlr3.ST.Language.ActionParser.templatesExpr() in > c:\dev\stringtemplate_m > > ain\antlrcs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:line 652 > > at Antlr3.ST.Language.ActionParser.action() in > c:\dev\stringtemplate_main\ant > > lrcs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:line 234 > > at Antlr3.ST.StringTemplate.ParseAction(String action) in > c:\dev\stringtempla > > te_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line 1173 > > at Antlr3.ST.Language.TemplateParser.action(StringTemplate self) in > c:\dev\st > > > ringtemplate_main\antlrcs\main\Antlr3.StringTemplate\obj\Release\TemplateParser. > > cs:line 303 > > at Antlr3.ST.Language.TemplateParser.template(StringTemplate self) in > c:\dev\ > > > stringtemplate_main\antlrcs\main\Antlr3.StringTemplate\obj\Release\TemplateParse > > r.cs:line 171 > > at Antlr3.ST.StringTemplate.BreakTemplateIntoChunks() in > c:\dev\stringtemplat > > e_main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:line 1145 > > list at offset 1221 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\ > > Antlr3.StringTemplate\obj\Release\ActionParser.cs:3051:3 > > > > primaryExpr at offset 2387 in file:line:column > c:\dev\stringtemplate_main\antlrc > > s\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:1723:5 > > > > expr at offset 221 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main\A > > ntlr3.StringTemplate\obj\Release\ActionParser.cs:1318:4 > > > > templatesExpr at offset 419 in file:line:column > c:\dev\stringtemplate_main\antlr > > cs\main\Antlr3.StringTemplate\obj\Release\ActionParser.cs:652:4 > > > > action at offset 493 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main > > \Antlr3.StringTemplate\obj\Release\ActionParser.cs:234:5 > > > > ParseAction at offset 150 in file:line:column > c:\dev\stringtemplate_main\antlrcs > > \main\Antlr3.StringTemplate\StringTemplate.cs:1173:17 > > > > action at offset 388 in file:line:column > c:\dev\stringtemplate_main\antlrcs\main > > \Antlr3.StringTemplate\obj\Release\TemplateParser.cs:303:8 > > > > template at offset 564 in file:line:column > c:\dev\stringtemplate_main\antlrcs\ma > > in\Antlr3.StringTemplate\obj\Release\TemplateParser.cs:171:6 > > > > BreakTemplateIntoChunks at offset 227 in file:line:column > c:\dev\stringtemplate_ > > main\antlrcs\main\Antlr3.StringTemplate\StringTemplate.cs:1145:17 > > > > > > On Fri, Feb 25, 2011 at 3:01 PM, Sam Harwell <[email protected]> > wrote: > > Hi David, > > Can you add the following template to the CSharp3 target's ST.stg which is > used for generating code. Let me know if it resolves the issue for you. If > this works, I'll clean it up (only overriding the necessary portion) and > get > it checked in for the next release. > > ruleLabelDefs() ::= << > > <[ruleDescriptor.tokenLabels,ruleDescriptor.tokenListLabels,ruleDescriptor.w > ildcardTreeLabels,ruleDescriptor.wildcardTreeListLabels] > :{<labelType> <it.label.text> = default(<labelType>);}; separator="\n" > > > <ruleDescriptor.tokenListLabels > :{List\<<labelType>\> list_<it.label.text> = null;}; separator="\n" > > > <ruleDescriptor.ruleListLabels > :{List\<<StringTemplate>\> list_<it.label.text> = null;}; separator="\n" > > > <ruleDescriptor.wildcardTreeListLabels > :{List\<<ASTLabelType>\> list_<it.label.text> = null;}; separator="\n" > > > <ruleDescriptor.ruleLabels:ruleLabelDef(label=it); separator="\n"> > <ruleDescriptor.ruleListLabels:ruleLabelDef(label=it); separator="\n"> > >> > > > Thanks, > Sam > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of David Daeschler > Sent: Friday, February 25, 2011 1:25 PM > To: [email protected] > Subject: [antlr-interest] C# antlr-dotnet-tool-3.3.1.7705 issue with > collected template list > > Hello, > > I am using antlr-dotnet-tool-3.3.1.7705 and beginning work on a template to > translate from a high level language to bytecode. > > One of my rules looks something like this: > > script : (g+=globalVar)+ > -> file(globalVars={$g}) > > globalVar > : ^(VAR_DECL TYPE ID .?) > -> vardec(type={$TYPE.text}, id={$ID.text}) > ; > > It appears that the code being generated in this case to collect the > templates is slightly off. The type of list to hold the returned result is: > > List<MyAST> list_g = null; > > But when the collection is done, it is expecting the list to hold a > stringtemplate: > > if (list_g==null) list_g=new List<StringTemplate>(); > list_g.Add(g.Template); > > I have confirmed my output is set correctly: > > options { > language = 'CSharp3'; > tokenVocab = MyVocab; > ASTLabelType = MyAST; > output = template; > } > > > Is there anything else I need to do? > > Thank you very much for any help. > -- > David Daeschler > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > > > > > -- > David Daeschler > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
