[antlr-interest] Non-LL(*) Resolution / impact

Miguel Ping mblp at mega.ist.utl.pt
Mon Mar 19 05:14:16 PDT 2007

Greetings, antlranians

I'm continuing my sql saga and I currently have some doubts:

1. What is the impact of a non-LL(*) rule? Does the parsing becomes
(much) less efficient?
I am finding that SQL is a bit hard of a language to make a grammar
with no ambiguites, and I want to get rid of backtracking.

2. I need to process semantic information about table names, table
alias and column names and alias, as I am creating a translator. What
is the best way to do this? currently I am grouping them in imaginary
tokens/nodes, and I am processing them by walking the tree in plain
java code. Is it better to process them with code in the grammar? My
goal is to parse an sql select statement and tell what columns belong
to what tables.

Thanks in advance,
Miguel Ping

More information about the antlr-interest mailing list