[antlr-interest] AST OFF OPTION OF ANTLR

Bryan Ewbank ewbank at gmail.com
Fri Apr 1 07:14:55 PST 2005


Here's a few choices (C++ mode "on" :-)

    /****************************************
     * Use a return value
     */
    name
    { string myName; }
    :
        myName=identifier { ...  = myName; }
    ;

    identifier
    returning [string s]
    : id:IDENT { s = id->getText(); }
    ;


    /****************************************
     * Use a reference'd argument
     */
    name
    { string myName; }
    : identifier[myName] { ...  = myName; }
    ;

    identifier [string & s]
    : id:IDENT { s = id->getText(); }
    ;

    /****************************************
     * Bleah ;-)
     * Use a class member - requires definition
     * of myName in the definitions block just
     * after the
     *      XX extends YY
     * statement.
     *
     * This does mean only one at a time, so you
     * need to be careful of something that has two
     * identifiers in one production.
     */
    name
    : identifier { ... = myName; }
    ;

    identifier
    : id:IDENT { myName = id->getText(); }
    ;


On Apr 1, 2005 7:58 AM, Shalini Sharma <shalini.sh at gmail.com> wrote:
> I am using AST off option of ANTLR .
> name : identifier ;
>   i want to extract identifier name here i want to know how
> identifier : IDENT ;


More information about the antlr-interest mailing list