[Haskell-cafe] monadic parser with Happy and Alex
manlio_perillo at libero.it
Wed Oct 8 11:10:21 EDT 2008
Timothy Goddard ha scritto:
> On Sun, 05 Oct 2008 04:05:51 Manlio Perillo wrote:
>> I have completed a draft of a CSS lexer, using Alex.
>> The lexer use the posn wrapper.
>> Now I'm starting to write the parser with Happy, however for the final
>> product I would like to:
>> 1) Be able to do I/O in the lexer, for stylesheets inclusion
>> (@import rule)
>> 2) be able to keep state in the parser (or lexer?), for character
>> transcoding (@charset rule)
>> This should be possible with Happy (and there are some example), however
>> I don't find examples that make use of a lexer written with Alex.
>> Should I write a lexer using only the Alex basic interface (without
>> Thanks Manlio Perillo
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
> Hi Manlio,
> You may be better off separating the parsing from the import process. You
> would first parse it in to internal data structures (including an option for
> import) then go through that and replace import statements with the parsed
> content of those files.
Thanks, this seems the best solution.
> Producing a list which is then consumed by an IO
> procedure is almost exactly equivalent to threading IO through the entire
> parser and is a lot tidier, more flexible and should be easier to maintain.
More information about the Haskell-Cafe