OK, thanks Ian. Using pragState on only the pragma line gives me the proper token types, but on the whole Haskell input it fails, obviously I need to combine the two lexer states to get the full lexing, but I can achieve what I want anyway, I just wanted to understand. Thank you JP On Sat, Dec 29, 2012 at 12:15 PM, Ian Lynagh <igloo@earth.li> wrote:
On Sat, Dec 29, 2012 at 11:24:23AM +0100, JP Moresmau wrote:
let prTS = lexTokenStream sb lexLoc flg
This prints: ["ITblockComment \" CPP #\"","ITmodule","ITconid \"Main\"","ITwhere","ITvocurly","ITvarid \"main\"","ITequal","ITvarid \"undefined\""]
Why is the first token ITblockComment and not ITlanguage_prag? Do I need
to
enable something special to get pragma tokens?
lexTokenStream uses mkPState, but I think you need to use pragState to get the language pragmas. (see Lexer.x).
Thanks Ian
-- JP Moresmau http://jpmoresmau.blogspot.com/