[antlr-interest] "prog : .+ ; " ==> "no viable alternative at character" (antlr-3.1.2)

Kirby Bohling kirby.bohling at gmail.com
Sun Jan 31 15:44:38 PST 2010


On Sun, Jan 31, 2010 at 4:46 PM, Valery Khamenya <khamenya at gmail.com> wrote:
> Hi,
>
> what's wrong with the following trivial lexer grammar?
>
>  grammar Grammar;
>  options {
> language=Python;
>  output=AST;
> ASTLabelType=CommonTree;
>  }
>  prog : .+  ;
>
> I am getting "no viable alternative at character ..." at every character of
> input stream.

In this case, I'm pretty sure it's because you don't have a lexer rule...

Just as an aside, I'm pretty sure this is a combined grammar, as you
didn't spec it to be a lexer only.

Uppercase prog to PROG, and it should generate exactly one token.
You'll probably want to add a parser rule if you make that change
otherwise it will lex, but not parse.

Kirby

>
> antlr-3.1.2
>
> Of course I don't really need a 1-char chopping lexer. It is just a relevant
> extraction from a real case grammar.
>
> Comments and hints are welcome!
>
> Best regards
> --
> Valery
>
> 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