diff options
-rw-r--r-- | backend/backend.dcl | 4 | ||||
-rw-r--r-- | backend/backend.icl | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/backend/backend.dcl b/backend/backend.dcl index 62759ac..695d76c 100644 --- a/backend/backend.dcl +++ b/backend/backend.dcl @@ -206,10 +206,14 @@ BENoTypes :: !BackEnd -> (!BETypeP,!BackEnd); // BETypeP BENoTypes (); BEFlatType :: !BESymbolP !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd); // BEFlatTypeP BEFlatType (BESymbolP symbol,BETypeVarListP arguments); +//BEFlatTypeX :: !BESymbolP !BEAttribution !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd); +// BEFlatTypeP BEFlatTypeX (BESymbolP symbol,BEAttribution attribute,BETypeVarListP arguments); BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd; // void BEAlgebraicType (BEFlatTypeP lhs,BEConstructorListP constructors); BERecordType :: !Int !BEFlatTypeP !BETypeNodeP !BEFieldListP !BackEnd -> BackEnd; // void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields); +//BERecordTypeX :: !Int !BEFlatTypeP !BETypeNodeP !Int !BEFieldListP !BackEnd -> BackEnd; +// void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,int is_boxoed_record,BEFieldListP fields); BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd; // void BEAbsType (BEFlatTypeP lhs); BEConstructors :: !BEConstructorListP !BEConstructorListP !BackEnd -> (!BEConstructorListP,!BackEnd); diff --git a/backend/backend.icl b/backend/backend.icl index 3d3184c..bf10159 100644 --- a/backend/backend.icl +++ b/backend/backend.icl @@ -542,6 +542,13 @@ BEFlatType a0 a1 a2 = code { ccall BEFlatType "II:I:I" } // BEFlatTypeP BEFlatType (BESymbolP symbol,BETypeVarListP arguments); +/* +BEFlatTypeX :: !BESymbolP !BEAttribution !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd); +BEFlatTypeX a0 a1 a2 a3 = code { + ccall BEFlatTypeX "III:I:I" +} +*/ +// BEFlatTypeP BEFlatTypeX (BESymbolP symbol,BETypeVarListP arguments,BEAttribution attribute); BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd; BEAlgebraicType a0 a1 a2 = code { @@ -554,6 +561,13 @@ BERecordType a0 a1 a2 a3 a4 = code { ccall BERecordType "IIII:V:I" } // void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields); +/* +BERecordTypeX :: !Int !BEFlatTypeP !BETypeNodeP !Int !BEFieldListP !BackEnd -> BackEnd; +BERecordTypeX a0 a1 a2 a3 a4 a5 = code { + ccall BERecordTypeX "IIIII:V:I" +} +*/ +// void BERecordTypeX (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,int is_boxed_record,BEFieldListP fields); BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd; BEAbsType a0 a1 = code { |