Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Alexander Muylaert-Gelein
I know we are sponsoring This... But it sounds to me like so much work and so little gain. Sure, the current parse thing is slow and buggy, but only a few minor bugs and performance gain Will be limited as well. I think looking at 3th party parsers isn,'t a bad idea at All. Sent from my

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Jiří Činčura
On Mon, Oct 5, 2015, at 21:32, Michał Ziemski wrote: > IMHO you won't be able to handle all the corner cases without full > grammar > parser. Well, the cases we need are not that wide. But it's tedious anyway. > For example consider a "SET TERM" inside an "EXECUTE BLOCK". > Lacking the grammar

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Michał Ziemski
Hi! IMHO you won't be able to handle all the corner cases without full grammar parser. For example consider a "SET TERM" inside an "EXECUTE BLOCK". Lacking the grammar understnding you won't recognize that as an invalid term in the execute block and you'll simply cut the block in half. So the

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Amro El-Fakharany
I would be very careful taking a dependency on an external library like yacc or antlr and would recommend to avoid such a path. If at all a standalone "light weight" tokenizer should be preferable although, unfortunately, I don’t know any. Libraries like antlr and yacc are simply awesome but

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Геннадий Забула
http://entityframework.codeplex.com/SourceControl/latest#src/EntityFramework/Core/Common/EntitySql/GenerateParser.cmd On 5 October 2015 at 17:22, Геннадий Забула wrote: > EF uses yacc and lex for EntityTree parsing. > They both produce C# class that can be compiled into the

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Геннадий Забула
EF uses yacc and lex for EntityTree parsing. They both produce C# class that can be compiled into the assembly. On 5 October 2015 at 16:30, Jiří Činčura wrote: > Hi, > > I'm working on a bug fix for DNET-266. And the more and more I tweak the > parser I wrote this morning to

Re: [Firebird-net-provider] Parser class/library

2015-10-05 Thread Amro El-Fakharany
True, but in order for yacc (or antlr) to generate C# code you have to use their syntax. This syntax is used to provide the so called grammar mentioned by Jiri. In General those kind of tools are basically small "compilers" which parses a given piece of "grammar" and then construct lexical

[Firebird-net-provider] Parser class/library

2015-10-05 Thread Jiří Činčura
Hi, I'm working on a bug fix for DNET-266. And the more and more I tweak the parser I wrote this morning to properly handle all the edge cases I'm wondering whether it would make sense to take a dependency on some library or class that can do some basic parsing. We don't need full grammar