[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