[antlr-interest] Places where Antlr can be used ....

Prashant Deva prashant.deva at gmail.com
Thu Jun 23 20:40:12 PDT 2005


Terrence,
I heard you are about to write a book 'Using Antlr in the wild'.. Does
it in anyway concern using antlr for 'other' stuff than the usual?
Have you any good ideas?

PRASHANT

On 6/24/05, Chris Black <chris at lotuscat.com> wrote:
> Prashant Deva wrote:
> 
> >What situations other than the normal compiler and translator
> >construction can you come up with where Antlr can be used?
> >
> >
> I use ANTLR almost exclusively for parsing data output by scientific
> instruments. Many instruments generate the same data (such as a curve of
> some value over time for example) but they all export it in their own
> non-standard, usually undocumented format. Some file formats group by
> sample, some by type of data, some by time, etc. I use antlr to get the
> information I actually want to look at into my own standardized data
> structures so the analysis can work the same on any instrument.
> Instrument output files tend to be of the form:
> Some: foo
> Header: bar
> Fields: baz
> 
> Stanza Header wibble
> column,headers,here
> datavalue,datavalue,datavalue
> .
> .
> .
> 
> Stanza Header pootie
> column,headers
> datavalue,datavalue
> 
> And are almost always field-based with a delimiter of a comma or a tab
> (sometimes it is column based or uses spaces).
> 
> Complications are that often different versions of the instrument
> software slightly change the format, but I want to be able to use the
> same parser for all versions. So I have alternatives in the parser that
> build the same type of AST, then the AST walker doesn't need to change
> for slight variations in input file (such as changing the names of
> header fields, etc). I use generic CSV and Tab separated value lexers
> that are shared across all parsers, these lexers generate a stream of
> FIELDs, DELIMs, and NEWLINEs and also handle double-quoted values. All
> real complexity is handled in the parser and treeparser.
> 
> If anyone has any advice or insight on this type of ANTLR grammer let me
> know :)
> 
> Chris
>


More information about the antlr-interest mailing list