> Greetings,
>
> I am trying to use an ANTLR parser to parse a huge file but runs into a
> Java Error indicating out of heap space. The grammar (as follows) itself
> is relatively simple. After going over some posts, I do not believe that
> UnbufferedTokenStream is an option because white-space is to be ignored
> in the input file...Also, UnbufferedTokenStream is not available in
> ANTLRv3.2 which is what I am using...Any advise is greatly appreciated....
In ANTLR 3.2, UnbufferedTokenStream has been renamed into CommonTokenStream and
CommonTokenStream into BufferedTokenStream, as people expect the unbuffered
behaviour as default.
Johannes
>
> file : line+
> ;
> line : STRING ID data ';'
> ;
> data : primitive | sequence
> ;
> primitive
> : INTEGER
> ;
> sequence
> : '{' data? (',' data?)* '}'
> ;
>
> INTEGER : ('0'..'9')+
> ;
>
> STRING : '"' ~('"')* '"'
> ;
>
> ID : ('a'..'z'|'A'..'Z') ('a'..'z'|'A'..'Z'|'0'..'9'|'-')*
> ;
>
> COMMENT : '!' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
> ;
>
> WS : ( ' '
> | '\t'
> | '\r'
> | '\n' ) {$channel=HIDDEN;}
> ;
>
> Following is the Java error:
>
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at org.antlr.runtime.Lexer.emit(Lexer.java:151)
> at org.antlr.runtime.Lexer.nextToken(Lexer.java:86)
> at
> org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119)
> at
> org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238)
> at
> org.antlr.runtime.CommonTokenStream.LA(CommonTokenStream.java:300)
> at parser.FileImportParser.file(FileImportParser.java:56)
> at test.FileImport.main(FileImport.java:42)
>
> -mahesh
--
GMX DSL: Internet-, Telefon- und Handy-Flat ab 19,99 EUR/mtl.
Bis zu 150 EUR Startguthaben inklusive! http://portal.gmx.net/de/go/dsl
_______________________________________________
antlr-dev mailing list
[email protected]
http://www.antlr.org/mailman/listinfo/antlr-dev