[antlr-interest] Little grammar specification problem

Nick Vlassopoulos nvlassopoulos at gmail.com
Tue Feb 1 09:19:12 PST 2011


Hello Andrius,

Without being entirely sure, I noted the following two:
First, the ' (quote) should appear as follows in the lexer rules: '\''
Second, you are defining the rString, rChar as tokens. Is this what
you meant to do?

I am not sure if the following grammar matches what you want,
but it works for your example:


grammar loggram;

rVal : CO STRING CO;

CHAR_FOO: 'a'..'z';
STRING : CHAR_FOO+ '_' CHAR_FOO+;
CO : '\'';

HTH,

Nikos

On Tue, Feb 1, 2011 at 3:59 PM, Andrius Bentkus
<andrius.bentkus at gmail.com>wrote:

> Hello,
>
> I'm trying to write a very simple log parser with ANTLR to compare it to my
> current one (which is just a bunch of regexes).
> The problem that I'm facing is that I don't know how to parse random input.
> In my case the input looks something like this: "word1_word2"
>
>
> What I came by so far is this:
>  rVal: CO rString CO;
>  rString: rChar | rChar rString;
>  rChar: ( 'a'..'z' | '/' | '_' | '0'..'9' | '.' );
>  CO: '"';
>
> rVal should match the rule (imo), but I just get the error line 1:1 no
> viable alternative at input 'de_dust'.
> Maybe you guys got some better ideas, or could explain me why it doesn't.
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>


More information about the antlr-interest mailing list