[antlr-interest] [C target] ANTLR 3.1 issues with token offsets and generated AST return types

Sven Van Echelpoel sven.van.echelpoel at empolis.com
Wed Aug 20 05:29:33 PDT 2008



On Wed, 2008-08-20 at 23:48 +1200, Gavin Lambert wrote:
> At 21:13 20/08/2008, Sven Van Echelpoel wrote:
>  >Naturally I was working with 3.1b2 and not the official release, 
> so
>  >when I saw that 3.1 was released I went ahead and tried that 
> one.
>  >This was even worse! 3.1 with the C target does not even 
> generate
>  >the type of the AST in the return structs of the rules. This is
>  >what comes out:
>  >
>  >typedef struct WarpParser_translation_unit_return_struct
>  >{
>  >    /** Generic return elements for ANTLR3 rules that are not in 
> 
>  >        tree parsers or returning trees
>  >     */
>  >    pANTLR3_COMMON_TOKEN    start;
>  >    pANTLR3_COMMON_TOKEN    stop;
>  >    	tree;   <----------------  No type here!
>  >
>  >}
>  >    WarpParser_translation_unit_return;
> 
> To fix that one, I think you need to include:
> 
>       ASTLabelType = pANTLR3_BASE_TREE;
> 
> in the options block at the top of your grammar.  (I'm not sure 
> why it wouldn't default to this any more, but it's been mentioned 
> a few times recently on the list.)
> 

Hmm... that worked for the AST problem at least. But now I'm still left
with a huge amount of compilation errors that just weren't there before.
I have attached the output of the compiler.

Some of the errors are:

------
error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for
argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct
*
      , uint8_t *
    )'
------

The signature of the function has changed from 3.1b2's

antlr3RewriteRuleSubtreeStreamNewAE(
   pANTLR3_BASE_TREE_ADAPTOR adaptor,
   pANTLR3_UINT8 description
);

to 3.1's

 antlr3RewriteRuleSubtreeStreamNewAE(
    pANTLR3_BASE_TREE_ADAPTOR adaptor,
    pANTLR3_BASE_RECOGNIZER rec,
    pANTLR3_UINT8 description
 );

Yet, the parser keep emitting the same code.

-----
error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
-----

The struct does have a nilNode function pointer


-----
error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
-----
This is probably due to the fact that I compile the C file as a C++
file. According to the docs, the C code should be C++ compatible and
this worked with the 3.1b2 build.


The rest is more of the same.

Sven




-------------- next part --------------
.../MyParser.cpp: In function 
   `MyParser_translation_unit_return translation_unit(
        MyParser_Ctx_struct *
    )':
.../MyParser.cpp:546: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:606: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:608: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:614: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:615: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:650: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:658: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_return rule(MyParser_Ctx_struct *)':
.../MyParser.cpp:715: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:716: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:717: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:718: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:719: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:841: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:843: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:849: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:856: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:860: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:861: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:878: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:879: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:896: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:897: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:935: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:946: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_attributes_return rule_attributes(MyParser_Ctx_struct
        *
    )':
.../MyParser.cpp:989: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:990: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:991: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1072: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1074: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1112: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1121: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_attribute_decl_return attribute_decl(MyParser_Ctx_struct *)':
.../MyParser.cpp:1164: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1165: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1166: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1198: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1199: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1200: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1202: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1208: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1215: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1244: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1254: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_identifier_return rule_identifier(MyParser_Ctx_struct
        *
    )':
.../MyParser.cpp:1288: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1310: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1312: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1337: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1345: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_body_return rule_body(MyParser_Ctx_struct *)':
.../MyParser.cpp:1385: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1413: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1415: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1440: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1448: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_group_expression_return group_expression(
        MyParser_Ctx_struct *
    )':
.../MyParser.cpp:1524: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1525: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1526: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1527: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1528: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1529: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1530: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1531: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1532: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1533: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1572: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1574: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1638: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1640: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1646: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1653: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1688: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1690: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1696: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1703: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1738: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1740: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1746: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1753: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1828: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1829: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1830: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1832: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1838: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:1845: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1890: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:1906: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_or_expression_return or_expression(MyParser_Ctx_struct *)':
.../MyParser.cpp:1952: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1953: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:1984: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:1986: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2055: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2056: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEV(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, ANTLR3_VECTOR_struct *
    )'
.../MyParser.cpp:2057: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2063: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2064: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2114: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2122: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_expression_list_return rule_expression_list(
        MyParser_Ctx_struct *
    )':
.../MyParser.cpp:2166: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2256: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2264: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_element_return rule_element(MyParser_Ctx_struct *)':
.../MyParser.cpp:2374: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2392: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2410: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2428: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2446: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2474: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2482: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_arc_symbols_return arc_symbols(MyParser_Ctx_struct *)':
.../MyParser.cpp:2524: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2525: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2579: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2580: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2581: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2583: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2589: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2596: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2634: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2643: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_range_return range(MyParser_Ctx_struct *)':
.../MyParser.cpp:2676: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2699: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2700: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2702: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2708: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2715: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2742: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2750: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_any_char_return any_char(MyParser_Ctx_struct *)':
.../MyParser.cpp:2783: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2805: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2807: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2838: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2846: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_numeric_id_return numeric_id(MyParser_Ctx_struct *)':
.../MyParser.cpp:2879: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2902: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2903: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:2905: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2911: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:2918: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2945: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:2953: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp: In function 
   `MyParser_rule_reference_return rule_reference(MyParser_Ctx_struct *)':
.../MyParser.cpp:2997: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2998: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleTOKENStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:2999: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *
    )'
.../MyParser.cpp:3036: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:3037: error: cannot
    convert `uint8_t *' to `ANTLR3_BASE_RECOGNIZER_struct *' for argument `2'
    to 
   `ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *
    antlr3RewriteRuleSubtreeStreamNewAEE(
        ANTLR3_BASE_TREE_ADAPTOR_struct *, ANTLR3_BASE_RECOGNIZER_struct *
      , uint8_t *, void *
    )'
.../MyParser.cpp:3039: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:3045: error:
    'ANTLR3_BASE_TREE_ADAPTOR_struct' has no member named 'nil'
.../MyParser.cpp:3052: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:3079: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'
.../MyParser.cpp:3088: error: invalid
    conversion from `void *' to `ANTLR3_BASE_TREE_struct *'



More information about the antlr-interest mailing list