[antlr-interest] C# antlr-dotnet-tool-3.3.1.7705 issue with collected template list

David Daeschler david.daeschler at gmail.com
Fri Feb 25 18:13:21 PST 2011


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 <sharwell at pixelminegames.com>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:david.daeschler at gmail.com]
> *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 <sharwell at pixelminegames.com>
> wrote:
>
> Looks like wordwrap got you. “wildcardTreeLabels” is one word.
>
>
>
> Let me know if that gets it fixed. :)
>
>
>
> Sam
>
>
>
> *From:* David Daeschler [mailto:david.daeschler at gmail.com]
> *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 <sharwell at pixelminegames.com>
> 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: antlr-interest-bounces at antlr.org
> [mailto:antlr-interest-bounces at antlr.org] On Behalf Of David Daeschler
> Sent: Friday, February 25, 2011 1:25 PM
> To: antlr-interest at antlr.org
> 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
>
>
>
>


More information about the antlr-interest mailing list