summaryrefslogtreecommitdiff
path: root/ghc/compiler/parser/Parser.y
diff options
context:
space:
mode:
authorsimonmar <unknown>1999-06-28 16:42:24 +0000
committersimonmar <unknown>1999-06-28 16:42:24 +0000
commitc52f850d362bc16fc616c08d84f3c83fbbdea464 (patch)
tree832eaeada0fb16eb375956f878179f0837d9b51a /ghc/compiler/parser/Parser.y
parent9a734fe7d3d782dbce16b7f2b629f18f7b8a01cd (diff)
downloadhaskell-c52f850d362bc16fc616c08d84f3c83fbbdea464.tar.gz
[project @ 1999-06-28 16:42:22 by simonmar]
Back out changes for "specialid"s. It didn't work this way: there was a conflict in the grammar.
Diffstat (limited to 'ghc/compiler/parser/Parser.y')
-rw-r--r--ghc/compiler/parser/Parser.y19
1 files changed, 13 insertions, 6 deletions
diff --git a/ghc/compiler/parser/Parser.y b/ghc/compiler/parser/Parser.y
index f97ff966db..3348da9d3c 100644
--- a/ghc/compiler/parser/Parser.y
+++ b/ghc/compiler/parser/Parser.y
@@ -1,6 +1,6 @@
{-
-----------------------------------------------------------------------------
-$Id: Parser.y,v 1.8 1999/06/28 15:42:33 simonmar Exp $
+$Id: Parser.y,v 1.9 1999/06/28 16:42:23 simonmar Exp $
Haskell grammar.
@@ -61,6 +61,7 @@ Conflicts: 14 shift/reduce
%token
'_' { ITunderscore } -- Haskell keywords
+ 'as' { ITas }
'case' { ITcase }
'class' { ITclass }
'data' { ITdata }
@@ -68,6 +69,7 @@ Conflicts: 14 shift/reduce
'deriving' { ITderiving }
'do' { ITdo }
'else' { ITelse }
+ 'hiding' { IThiding }
'if' { ITif }
'import' { ITimport }
'in' { ITin }
@@ -79,6 +81,7 @@ Conflicts: 14 shift/reduce
'module' { ITmodule }
'newtype' { ITnewtype }
'of' { ITof }
+ 'qualified' { ITqualified }
'then' { ITthen }
'type' { ITtype }
'where' { ITwhere }
@@ -857,6 +860,9 @@ qvarid :: { RdrName }
varid :: { RdrName }
: VARID { mkSrcUnqual varName $1 }
+ | 'as' { as_var_RDR }
+ | 'qualified' { qualified_var_RDR }
+ | 'hiding' { hiding_var_RDR }
| 'forall' { forall_var_RDR }
| 'export' { export_var_RDR }
| 'label' { label_var_RDR }
@@ -865,16 +871,14 @@ varid :: { RdrName }
varid_no_unsafe :: { RdrName }
: VARID { mkSrcUnqual varName $1 }
+ | 'as' { as_var_RDR }
+ | 'qualified' { qualified_var_RDR }
+ | 'hiding' { hiding_var_RDR }
| 'forall' { forall_var_RDR }
| 'export' { export_var_RDR }
| 'label' { label_var_RDR }
| 'dynamic' { dynamic_var_RDR }
--- ``special'' Ids
-'as' :: { () } : VARID {% checkAs $1 }
-'qualified' :: { () } : VARID {% checkQualified $1 }
-'hiding' :: { () } : VARID {% checkHiding $1 }
-
-----------------------------------------------------------------------------
-- ConIds
@@ -966,6 +970,9 @@ qtycls :: { RdrName }
tyvar :: { RdrName }
: VARID { mkSrcUnqual tvName $1 }
+ | 'as' { as_tyvar_RDR }
+ | 'qualified' { qualified_tyvar_RDR }
+ | 'hiding' { hiding_tyvar_RDR }
| 'export' { export_var_RDR }
| 'label' { label_var_RDR }
| 'dynamic' { dynamic_var_RDR }