• simonmar's avatar
    [project @ 1999-06-01 16:40:41 by simonmar] · 904f158f
    simonmar authored
    This commit replaces the old yacc parser with a Happy-generated one.
    	- The generated .hs file is *big*.  Best to use a recent
    	  version of Happy, and even better to add the -c flag
    	  to use unsafeCoerce# with ghc (versions 4.02+ please).
    	- The lexer has grown all sorts of unsightly growths and
    	  should be put down as soon as possible.
    	- Parse errors may result in strange diagnostics.  I'm looking
    	  into this.
    	- HsSyn now contains a few extra constructors due to the way
    	  patterns are parsed as expressions in the parser.
    	- The layout rule is implemented according to the Haskell
    	  report.  I found a couple of places in the libraries where
    	  we previously weren't adhering to this - in particular the
    	  rule about "nested contexts must be more indented than
    	  outer contexts".  The rule is necessary to disambiguate
    	  in the presence of empty declaration lists.