diff options
author | ronny | 2004-03-17 12:26:47 +0000 |
---|---|---|
committer | ronny | 2004-03-17 12:26:47 +0000 |
commit | a613de0b391f5f95b0496515ec73ac41639af7b2 (patch) | |
tree | aef2a99b4618c4c8d6588ca53d3f039f6defe9f0 /frontend/syntax.dcl | |
parent | ignore rank > 1 quantors in type_io (diff) |
reification of type definitions
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1465 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 0c4f25d..41eb1dd 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -444,6 +444,7 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex} , td_attribute :: !TypeAttribute , td_pos :: !Position , td_used_types :: ![GlobalIndex] + , td_fun_index :: !Index } :: TypeDefInfo = @@ -936,6 +937,7 @@ cNonRecursiveAppl :== False | TVI_AttrAndRefCount !TypeAttribute !Int | TVI_CorrespondenceNumber !Int /* auxiliary used in module comparedefimp */ | TVI_AType !AType /* auxiliary used in module comparedefimp */ + | TVI_Reify !Int | TVI_Used /* to administer that this variable is encountered (in checkOpenTypes) */ | TVI_TypeCode !TypeCodeExpression | TVI_CPSLocalTypeVar !Int /* MdM - the index of the variable as generated by the theorem prover */ @@ -1278,7 +1280,11 @@ instance == OverloadedListType | TCE_UniType ![VarInfoPtr] !TypeCodeExpression | TCE_UnqType !TypeCodeExpression -:: GlobalTCType = GTT_Basic !BasicType | GTT_Constructor !SymbIdent | GTT_PredefTypeConstructor !(Global Index) | GTT_Function +:: GlobalTCType + = GTT_Basic !BasicType + | GTT_Constructor !SymbIdent !SymbIdent // type_cons type_fun + | GTT_PredefTypeConstructor !(Global Index) + | GTT_Function :: AlgebraicPattern = { ap_symbol :: !(Global DefinedSymbol) @@ -1417,7 +1423,8 @@ ParsedInstanceToClassInstance pi members :== MakeTypeDef name lhs rhs attr contexts pos :== { td_ident = name, td_index = -1, td_arity = length lhs, td_args = lhs, td_attrs = [], td_attribute = attr, td_context = contexts, - td_pos = pos, td_rhs = rhs, td_used_types = [] } + td_pos = pos, td_rhs = rhs, td_used_types = [], td_fun_index = NoIndex + } MakeDefinedSymbol ident index arity :== { ds_ident = ident, ds_arity = arity, ds_index = index } |