On Sun, 05 Oct 2008 04:05:51 Manlio Perillo wrote:
> Hi.
>
> I have completed a draft of a CSS lexer, using Alex.
> http://hg.mperillo.ath.cx/haskell/webtools/file/tip/src/CSS/Lexer.x
>
> 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
> wrappers)?
>
>
>
> Thanks   Manlio Perillo
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe

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. 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.

Cheers,

Tim
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to