[erlang-questions] Parsing C with leex and yecc

Joe Armstrong erlang@REDACTED
Tue Jul 20 20:39:47 CEST 2010


On Tue, Jul 20, 2010 at 7:34 PM, Tony Arcieri <tony.arcieri@REDACTED> wrote:
> On Tue, Jul 20, 2010 at 3:28 AM, Joe Armstrong <erlang@REDACTED> wrote:
>>
>>   The traditional yacc/lex approach solves this with a context
>>   sensitive lex and feedback between yacc and lex. But the Erlang
>>   leex and yacc seem to be written as separated passes, are there some
>>   internal functions that allow feedback between leex and yacc?
>
> I've run into the need for lexer/parser feedback myself, specifically
> processing interpolated strings (that contain expressions from the outer
> language) in Reia.  I haven't found a good solution.  Interpolation works
> but only on a subset of expressions... for example you can't nest strings
> within strings.
> Have you thought about using neotoma?

Yes - I've also been playing with my own peg combinator library :-).
The problem is that LALR(1) parsers can give you pretty good automatic error
diagnostics on faulty input. Peg grammars just fail - period - and you
have to write
your own error recovery in the grammar - on the other hand the peg grammar
is much nicer than the yacc grammar

/Joe


>
> --
> Tony Arcieri
> Medioh! A Kudelski Brand
>


More information about the erlang-questions mailing list