'DynFlag'-free version of 'mkParserFlags'
authorAlec Theriault <alec.theriault@gmail.com>
Thu, 22 Nov 2018 19:39:41 +0000 (14:39 -0500)
committerBen Gamari <ben@smart-cactus.org>
Thu, 22 Nov 2018 21:07:00 +0000 (16:07 -0500)
commit5aa29231ab7603537284eff5e4caff3a73dba6d2
treec12d4e20ab2c3e65136621f8ab1fdb6ca09b660e
parenta1bbb56f40b679f4841f0b044c0f5445ff6d3c5b
'DynFlag'-free version of 'mkParserFlags'

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.

Reviewers: bgamari, alanz, sjakobi

Reviewed By: bgamari, sjakobi

Subscribers: mpickering, sjakobi, rwbarton, carter

GHC Trac Issues: #11301

Differential Revision: https://phabricator.haskell.org/D5269
compiler/parser/Lexer.x
compiler/parser/Parser.y
compiler/parser/RdrHsSyn.hs