New SQL parser, mostly done (was: V4RB Bug in SQL-Statement?
Ruslan Zasukhin
sunshine at public.kherson.ua
Sat Feb 1 21:15:36 CST 2003
on 2/1/03 7:18 PM, Claudius Sailer at Claudius at sailer-online.de wrote:
> Valentina ignores in the second SQL-Statement
>
> AND ZK.AnfangsZeit>=01.01.2003
> AND ZK.AnfangsZeit<01.01.2004
Hi Guys,
And I want inform you about good news.
We here mostly done new SQL parser.
This was huge tasks that include few phases.
-- GRAMMAR of SQL for ANTL
This is set of rules for lexer and parser.
As I have told we use ANTLR, superior of old known YACC.
-- TREE GRAMMAR
the first grammar transform stream of chars of SQL query,
into stream of tokes that create Tree of parsing.
The Tree Grammar now walk by that tree, and create
our own C++ nodes of SQL Engine.
-- SQL Engine Nodes
This includes several hundreds small C++ classes
which do one action for each SQL command.
This part include old our nodes that we use in BaseObject
methods (operators, comparison, string, date, math functions).
And we have add more new nodes to support rest SQL commands
such CREAT/ALTER/DROP TABLE, INSERT, SUBSELECTS, TRANSACTIONs,..
So we have practically finish these 2 phases !!! :-)
Of course exists yet few thousands of glitches ... Joking...
And now we move to 4th last phase -- implementation of action for new nodes.
In fact this is already not task of Parser but the task of SQL Engine.
--
Best regards,
Ruslan Zasukhin [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com
To subscribe to the Valentina mail list go to:
http://listserv.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------
More information about the Valentina
mailing list