Skip to content
Snippets Groups Projects
Commit 904f158f authored by Simon Marlow's avatar Simon Marlow
Browse files

[project @ 1999-06-01 16:40:41 by simonmar]

This commit replaces the old yacc parser with a Happy-generated one.
Notes:

	- 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.
parent 6ee2f67e
No related merge requests found
Showing
with 2956 additions and 698 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment