[antlr-interest] Additional tokens not being passed to Create(IToken token) ?
Dejas Ninethousand
dejas9000 at gmail.com
Tue Oct 21 13:31:07 PDT 2008
I attached the whole parser file last reply, but here is the namespace_decl
production:
// $ANTLR start namespace_decl
//
D:\\projects\\AGLDoc\\COM\\CONTINENTAL\\WWW\\Technology\\Library\\Language\\Parsers\\CSharp\\CommentParser\\CSharpDoc.g:38:1:
namespace_decl : NAMESPACE IDENT -> NAMESPACE IDENT
NAMESPACE_COMPLETE[\"blort\"] ;
public namespace_decl_return namespace_decl() // throws
RecognitionException [1]
{
namespace_decl_return retval = new namespace_decl_return();
retval.start = input.LT(1);
object root_0 = null;
IToken NAMESPACE19 = null;
IToken IDENT20 = null;
object NAMESPACE19_tree=null;
object IDENT20_tree=null;
RewriteRuleTokenStream stream_NAMESPACE = new
RewriteRuleTokenStream(adaptor,"token NAMESPACE");
RewriteRuleTokenStream stream_IDENT = new
RewriteRuleTokenStream(adaptor,"token IDENT");
try
{
//
D:\\projects\\AGLDoc\\COM\\CONTINENTAL\\WWW\\Technology\\Library\\Language\\Parsers\\CSharp\\CommentParser\\CSharpDoc.g:39:2:
( NAMESPACE IDENT -> NAMESPACE IDENT NAMESPACE_COMPLETE[\"blort\"] )
//
D:\\projects\\AGLDoc\\COM\\CONTINENTAL\\WWW\\Technology\\Library\\Language\\Parsers\\CSharp\\CommentParser\\CSharpDoc.g:39:4:
NAMESPACE IDENT
{
NAMESPACE19 = (IToken)input.LT(1);
Match(input,NAMESPACE,FOLLOW_NAMESPACE_in_namespace_decl172); if (failed)
return retval;
if ( backtracking==0 ) stream_NAMESPACE.Add(NAMESPACE19);
IDENT20 = (IToken)input.LT(1);
Match(input,IDENT,FOLLOW_IDENT_in_namespace_decl174); if
(failed) return retval;
if ( backtracking==0 ) stream_IDENT.Add(IDENT20);
// AST REWRITE
// elements: NAMESPACE, IDENT
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
if ( backtracking==0 ) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new
RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ?
retval.Tree : null));
root_0 = (object)adaptor.GetNilNode();
// 39:20: -> NAMESPACE IDENT NAMESPACE_COMPLETE[\"blort\"]
{
adaptor.AddChild(root_0, stream_NAMESPACE.Next());
adaptor.AddChild(root_0, stream_IDENT.Next());
adaptor.AddChild(root_0,
adaptor.Create(NAMESPACE_COMPLETE, "blort"));
}
}
}
retval.stop = input.LT(-1);
if ( backtracking==0 )
{ retval.tree = (object)adaptor.RulePostProcessing(root_0);
adaptor.SetTokenBoundaries(retval.Tree, retval.start,
retval.stop);
}
}
catch (RecognitionException re)
{
ReportError(re);
Recover(input,re);
}
finally
{
}
return retval;
}
// $ANTLR end namespace_decl
On Tue, Oct 21, 2008 at 2:44 PM, Terence Parr <parrt at cs.usfca.edu> wrote:
>
> On Oct 21, 2008, at 12:03 PM, Dejas Ninethousand wrote:
>
>
>>
>> On Tue, Oct 21, 2008 at 1:51 PM, Terence Parr <parrt at cs.usfca.edu> wrote:
>> Can we have the generated code for:
>>
>> namespace_decl
>> : NAMESPACE IDENT -> NAMESPACE IDENT NAMESPACE_COMPLETE;
>>
>> ?
>>
>> I'm not sure what you mean for generated code for that production.
>> Wouldn't that be in the parser?
>>
>
> yes, please post just that part to save us trouble :)
>
> the gen'd code should tell us what's happening.
> Ter
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20081021/dd849eba/attachment.html
More information about the antlr-interest
mailing list