Correct - I've ported the hql.g grammer from ANTLR2, which is what H3 are using over to ANTLR3. Although it's now obviously different (the tree-rewriting syntax in particular has completely changed), the overall grammar is identical. It should make it easier to pick up the second phase, which is where all the hard work is done.

On 3 Feb 2009, at 17:24, Fabio Maulo wrote:

So you have changed the grammar+lexer from H3 because H3 are using an old version of ANTLR, right ?

Do you want host the prj in uNhAddIns ?

2009/2/3 Steve Strong <[email protected]>
ANTLR 3.1

On 3 Feb 2009, at 17:13, Fabio Maulo wrote:

Which ANTLR version are you using ?

2009/2/3 Steve <[email protected]>

Hi All,

Thought you might appreciate a quick update on what I've been up to.
The last couple of weeks have been a pretty steep learning curve, and
although I'm sure there's a long way to go, I think I've also made
some progress.

As discussed a week or two back, I am going down the path of initially getting a robust AST implementation of the HQL parser. Once complete, the LINQ integration should be somewhat easier and cleaner, since it's
just(!) a mapping from LINQ expressions to HQL ASTs.  I've had a good
look at both the Artorius code and the original Hibernate
implementation, and before heading off down the Artorius route I
decided to have a go at porting the ANTLR code over from Hibernate to
C#.  If successful, this should mean that this area of NHibernate
would be closely in sync with Hibernate 3.1, and hence it should be
easier for us to pick up bug fixes, enhancements etc.

Hibernate has a two phase approach - the first is to parse to HQL
strings into an AST and the second is to do a transform of the HQL- AST
into a SQL-AST.  Right now, I'm just working on the first bit, and
although I've still got a bunch to do, it has started to come to
life.  For the simple query of "from Animal", I've now got the same
AST being created in C# as in Java :)

I'll keep you posted with further progress, and also let you know
where you can take a look at the code once I get it hosted somewhere.

Cheers,

Steve





--
Fabio Maulo




--
Fabio Maulo

Reply via email to