Added support for list categories.

This commit is contained in:
bringert
2005-05-25 09:41:59 +00:00
parent 4690a23538
commit 65bc1948d4
10 changed files with 1947 additions and 1102 deletions

View File

@@ -79,10 +79,10 @@ data Included =
deriving (Eq,Ord,Show)
data Def =
DDecl [Ident] Exp
| DDef [Ident] Exp
| DPatt Ident [Patt] Exp
| DFull [Ident] Exp Exp
DDecl [Name] Exp
| DDef [Name] Exp
| DPatt Name [Patt] Exp
| DFull [Name] Exp Exp
deriving (Eq,Ord,Show)
data TopDef =
@@ -109,7 +109,9 @@ data TopDef =
deriving (Eq,Ord,Show)
data CatDef =
CatDef Ident [DDecl]
SimpleCatDef Ident [DDecl]
| ListCatDef Ident [DDecl]
| ListSizeCatDef Ident [DDecl] Integer
deriving (Eq,Ord,Show)
data FunDef =
@@ -136,13 +138,18 @@ data ParConstr =
deriving (Eq,Ord,Show)
data PrintDef =
PrintDef [Ident] Exp
PrintDef [Name] Exp
deriving (Eq,Ord,Show)
data FlagDef =
FlagDef Ident Ident
deriving (Eq,Ord,Show)
data Name =
IdentName Ident
| ListName Ident
deriving (Eq,Ord,Show)
data LocDef =
LDDecl [Ident] Exp
| LDDef [Ident] Exp
@@ -159,6 +166,7 @@ data Exp =
| EMeta
| EEmpty
| EData
| EList Ident Exps
| EStrings String
| ERecord [LocDef]
| ETuple [TupleComp]
@@ -169,8 +177,8 @@ data Exp =
| EQCons Ident Ident
| EApp Exp Exp
| ETable [Case]
| EVTable Exp [Exp]
| ETTable Exp [Case]
| EVTable Exp [Exp]
| ECase Exp [Case]
| EVariants [Exp]
| EPre Exp [Altern]
@@ -193,6 +201,11 @@ data Exp =
| ELin Ident
deriving (Eq,Ord,Show)
data Exps =
NilExp
| ConsExp Exp Exps
deriving (Eq,Ord,Show)
data Patt =
PW
| PV Ident