{-
-----------------------------------------------------------------------------
-$Id: Parser.y,v 1.52 2001/02/11 09:36:00 qrczak Exp $
+$Id: Parser.y,v 1.54 2001/02/20 15:36:55 simonpj Exp $
Haskell grammar.
import Lex
import ParseUtil
import RdrName
-import PrelNames
-import OccName ( UserFS, varName, ipName, tcName, dataName, tcClsName, tvName )
+import PrelNames ( mAIN_Name, unitTyCon_RDR, funTyCon_RDR, listTyCon_RDR,
+ tupleTyCon_RDR, unitCon_RDR, nilCon_RDR, tupleCon_RDR
+ )
+import OccName ( UserFS, varName, tcName, dataName, tcClsName, tvName )
import SrcLoc ( SrcLoc )
import Module
import CallConv
: ipvar { HsIPVar $1 }
| var_or_con { $1 }
| literal { HsLit $1 }
- | INTEGER { HsOverLit (HsIntegral $1 fromInteger_RDR) }
- | RATIONAL { HsOverLit (HsFractional $1 fromRational_RDR) }
+ | INTEGER { HsOverLit (HsIntegral $1) }
+ | RATIONAL { HsOverLit (HsFractional $1) }
| '(' exp ')' { HsPar $2 }
| '(' exp ',' texps ')' { ExplicitTuple ($2 : reverse $4) Boxed}
| '(#' texps '#)' { ExplicitTuple (reverse $2) Unboxed }
-- *after* we see the close paren.
ipvar :: { RdrName }
- : IPVARID { (mkUnqual ipName (tailFS $1)) }
+ : IPVARID { (mkUnqual varName (tailFS $1)) }
qcon :: { RdrName }
: qconid { $1 }