[antlr-interest] C backend problems with 3.1

Jason Nielsen jdn at math.carleton.ca
Fri Aug 15 14:14:07 PDT 2008


Hello,

I just updated to ANTLR 3.1 and I am having problems with the C backend. 
My grammar works with the java backend but with C I get a bunch of errors. 
Here is an example of the errors (using the Simple C grammar):

java org.antlr.Tool *.g
ANTLR Parser Generator  Version 3.1 (August 12, 2008)  1989-2008
SimpleC.g
Generating SimpleCParser.c
Generating SimpleCParser.h
Generating SimpleCLexer.c
Generating SimpleCLexer.h
SimpleCWalker.g
Generating SimpleCWalker.c
Generating SimpleCWalker.h
gcc -O2 main.c *Lexer.c *Parser.c *Walker.c 
/usr/local/antlr/lib/libantlr3c.a -I/usr/local/antlr/include -I 
/home/jdn/SimpleC
In file included from main.c:36:
/home/jdn/SimpleC/SimpleCParser.h:95: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:106: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:117: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:128: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:139: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:150: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:161: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:172: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:183: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:194: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:205: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:216: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:227: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:238: error: expected specifier-qualifier-list before ?tree?
/home/jdn/SimpleC/SimpleCParser.h:249: error: expected specifier-qualifier-list before ?tree?
main.c: In function ?main?:
main.c:219: error: ?SimpleCParser_program_return? has no member named ?tree?
main.c:221: error: ?SimpleCParser_program_return? has no member named ?tree?
.
.
.

I was previously using antlr-3.1b2 and this wasn't happening (I haven't 
changed anything between the update and put the 3.1 C runtime in the same 
location as before).

Jason


More information about the antlr-interest mailing list