[antlr-interest] Please Help: Simple C Parsing Problem

JonFroehlich jfroehli at ics.uci.edu
Sun Jul 25 02:28:56 PDT 2004


I'm using the John Mitchell and Monty Zukowski GNU C Grammar from 
antlr.org. I can run the test input .c files fine; however, when I 
create my own simple tests, the parser fails.

For example, testfile.c contains two lines

#include <stdio.h>
FILE *filePtr;

When I parse this, I get the following error:

ANTLR Parsing Error: line 2:26: unexpected token: * token name:STAR
line 2:26: unexpected token: *
	at GnuCParser.initDecl(GnuCParser.java:3454)
	at GnuCParser.initDeclList(GnuCParser.java:1107)
	at GnuCParser.typelessDeclaration(GnuCParser.java:832)
	at GnuCParser.externalDef(GnuCParser.java:496)
	at GnuCParser.externalList(GnuCParser.java:233)
	at GnuCParser.translationUnit(GnuCParser.java:193)
	at Test.main(Test.java:55)


So, I realize the issue revolves around the notion of "typeless 
declaration." E.g. if we change testfile.c to read the following, 
there is no problem.

#include <stdio.h>
int *filePtr;

How do I change the grammar file (if this is even necessary) to be 
able to detect new types so that a non-primitive type variable 
declaration, like FILE, is treated the same way as an int 
declaration.  This seems like such an easy thing but unfortunately I 
can't figure it out.

j







 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/antlr-interest/

<*> To unsubscribe from this group, send an email to:
    antlr-interest-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



More information about the antlr-interest mailing list