The original question was about a lexer do use with buffalo. PEG parsers do the equivalent of yacc + lex but it should be possible to use a PEG parser to do only the lexer part to use with buffalo.
Optima (and optima.ppcre) is another library that can be used for lexers.

Marc

On 2/14/15 17:31, Paul Tarvydas wrote:
I wish that I’d had PEG 20 years ago,

PEG parses a wider set of grammars than YACC can.

PEG is backtracking, but, it uses a trick, memoizing, that minimizes the cost of backtracking.

Given the hardware we have these days, I don’t see why anyone would use anything but PEG and packrat parsing.

Google phrase “bryan ford peg”

Building a PEG parser is way, way easier than dealing with Lex and YACC.

I’m not sure if I’ve answered all of your questions … please feel free to ask again....

pt



On Feb 14, 2015, at 4:47 PM, Gary King <garywarrenking@gmail.com> wrote:

Hi Paul,

What is the performance of Esrap vis-a-vis something like cl-yac? Given a BN grammar, how hard is it to build up a PEG parser?

thanks,


On Feb 13, 2015, at 10:04 AM, Paul Tarvydas <paultarvydas@gmail.com> wrote:

Esrap is a PEG parser.  PEG is Lex and Yacc combined.  I'm sure that you could use esrap as a lexer-only, if you wish to.

http://nikodemus.github.io/esrap/

On my github there's an experimental PEG syntax overlaid over esrap syntax, if you care.  https://github.com/guitarvydas

Ping me if you need ref's to papers about PEG.

pt


_______________________________________________
pro mailing list
pro@common-lisp.net
https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/pro
--
Gary Warren King, metabang.com 
Cell: (413) 559 8738
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM * gwking on twitter


_______________________________________________
pro mailing list
pro@common-lisp.net
https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/pro

_______________________________________________
pro mailing list
pro@common-lisp.net
https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/pro