aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2012-10-24 12:55:27 +0000
committerjohnvg2012-10-24 12:55:27 +0000
commit7626b3295651046b1d0f61ea37be27db6c046ab2 (patch)
tree41be1d082afdcf1444681927528270965fdd9882 /frontend/syntax.dcl
parentreport a parse error if a strictness annotation or uniqueness attribute is us... (diff)
in the generic representation use RECORD instead of OBJECT and CONS for records,
change GenericInfo git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2191 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl12
1 files changed, 7 insertions, 5 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index c935783..a8cdd97 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -412,13 +412,14 @@ cNameLocationDependent :== True
:: GenericInfo =
{ gen_classes :: !GenericClassInfos
, gen_var_kinds :: ![TypeKind] // kinds of all st_vars of the gen_type
- , gen_OBJECT_CONS_FIELD_indices :: !{#OBJECT_CONS_FIELD_index}
+ , gen_rep_conses :: !{#GenericRepresentationConstructor}
+ // OBJECT, CONS, RECORD, FIELD
}
-:: OBJECT_CONS_FIELD_index =
- { ocf_module :: !Int
- , ocf_index :: !Int
- , ocf_ident :: !Ident
+:: GenericRepresentationConstructor =
+ { gcf_module :: !Int
+ , gcf_index :: !Int
+ , gcf_ident :: !Ident
}
:: GenericInfoPtr :== Ptr GenericInfo
@@ -576,6 +577,7 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
| GTSAppVar TypeVar [GenTypeStruct]
| GTSVar TypeVar
| GTSCons DefinedSymbol GenTypeStruct
+ | GTSRecord DefinedSymbol GenTypeStruct
| GTSField DefinedSymbol GenTypeStruct
| GTSObject DefinedSymbol GenTypeStruct
| GTSPair !GenTypeStruct !GenTypeStruct // for optimizing bimaps