Hello, Le samedi 26 juillet 2014, Richard Hipp <d...@sqlite.org> a écrit : > > Historical note: I wrote Lemon back in the 80s (on a Sun3, IIRC)
You were a visionary, Lemon is probably the only viable option for a parser generator in C/C++ at this moment. because > the $1,$2,$3 notation of Yacc wasn't working for me and also because Yacc > wanted the parser to call the lexer, not the other way around, and because > it was difficult to stop memory leaks in Yacc when there was a syntax > error. There was a companion LL(1) parser generator called "Lime" which > has been lost. Lemon was originally a bunch of separate source files, > many of which were automatically generated. But at some point I > concatenated them all together into the single "lemon.c" file. All that > happened prior to the beginning of SQLite. Anyhow, the current lemon.c > code is a mess, for which I apologize. But it does mostly work, so I've > never gotten around to rewriting it from scratch, which is what it > desperately needs. Lemon is a master piece, it deserves it. I propose my help, I am interested in the domain, but I might not be capable enough. However I would be highly motivated if I am guided by someone like you. > > The %wildcard token matches any token that cannot be matched by another > rule in the current context. > > It is exactly what I needed, I tried it and it is wonderful. I try to parse some plsql code, but I only need to be superficial, then everything between begin / end will be eaten by the wildcar > I had to add the %wildcard feature to the parser generator when we added > virtual tables to SQLite back in 2006 - in order to support the full text > search extension. The virtual table syntax allows one put any arbitrary > sequence of tokens as the argument, as long as parentheses match up. > Keywords, literals, operators - any tokens are allowed. And the most > memory-efficient way to do that was to enhance the parser generate with > some special features to support it. Hence: "%wildcard". > > I am lucky ;-) > The lack of documentation is probably just because we never got around to > it.... > > if yes, could it be added in the documentation? > > > > Do you have a patch :-) > > Your documentation is among the best, I can help also there I think, how do you want the patch to be done, I just need a little bit of explanation to start. (I am on MacOS X) > > > > > ps: I am pretty impressed by lemon, I am really having fun. > > > > Best regards, > > Sylvain > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org <javascript:;> > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > > > -- > D. Richard Hipp > d...@sqlite.org <javascript:;> > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org <javascript:;> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > Best regards, Sylvain _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users