Obtaining a DynFlags is difficult, making using the lexer/parser
for pure parsing/lexing unreasonably difficult, even with mkPStatePure.
This is despite the fact that we only really need
- language extension flags
- warning flags
- a handful of boolean options
The new mkParserFlags' function makes is easier to directly construct a
ParserFlags. Furthermore, since pExtsBitmap is just a footgun, I've gone
ahead and made ParserFlags an abstract type.
Also, we now export ExtBits and getBit instead of defining/exporting a
bunch of boilerplate functions that test for a particular 'ExtBits'.
In the process, I also
- cleaned up an unneeded special case for ITstatic
- made UsePosPrags another variant of ExtBits
- made the logic in reservedSymsFM match that of reservedWordsFM