diff options
Diffstat (limited to 'backend/backend.dcl')
-rw-r--r-- | backend/backend.dcl | 78 |
1 files changed, 36 insertions, 42 deletions
diff --git a/backend/backend.dcl b/backend/backend.dcl index 695d76c..e396d98 100644 --- a/backend/backend.dcl +++ b/backend/backend.dcl @@ -6,31 +6,31 @@ from StdString import String; :: CPtr :== Int; :: *UWorld :== Int; -:: *BackEnd :== Int; -:: BESymbolP :== CPtr; -:: BETypeNodeP :== CPtr; -:: BETypeArgP :== CPtr; -:: BETypeAltP :== CPtr; -:: BENodeP :== CPtr; -:: BEArgP :== CPtr; -:: BERuleAltP :== CPtr; -:: BEImpRuleP :== CPtr; -:: BETypeP :== CPtr; -:: BEFlatTypeP :== CPtr; -:: BETypeVarP :== CPtr; -:: BETypeVarListP :== CPtr; -:: BEConstructorListP :== CPtr; -:: BEFieldListP :== CPtr; -:: BENodeIdP :== CPtr; -:: BENodeDefP :== CPtr; -:: BEStrictNodeIdP :== CPtr; -:: BECodeParameterP :== CPtr; -:: BECodeBlockP :== CPtr; -:: BEStringListP :== CPtr; -:: BENodeIdListP :== CPtr; -:: BENodeIdRefCountListP :== CPtr; -:: BEUniVarEquations :== CPtr; -:: BEAttributeKindList :== CPtr; +:: *BackEnd; // :== CPtr; +:: BESymbolP; // :== CPtr; +:: BETypeNodeP; // :== CPtr; +:: BETypeArgP; // :== CPtr; +:: BETypeAltP; // :== CPtr; +:: BENodeP; // :== CPtr; +:: BEArgP; // :== CPtr; +:: BERuleAltP; // :== CPtr; +:: BEImpRuleP; // :== CPtr; +:: BETypeP; // :== CPtr; +:: BEFlatTypeP; // :== CPtr; +:: BETypeVarP; // :== CPtr; +:: BETypeVarListP; // :== CPtr; +:: BEConstructorListP; // :== CPtr; +:: BEFieldListP; // :== CPtr; +:: BENodeIdP; // :== CPtr; +:: BENodeDefP; // :== CPtr; +:: BEStrictNodeIdP; // :== CPtr; +:: BECodeParameterP; // :== CPtr; +:: BECodeBlockP; // :== CPtr; +:: BEStringListP; // :== CPtr; +:: BENodeIdListP; // :== CPtr; +:: BENodeIdRefCountListP; // :== CPtr; +:: BEUniVarEquations; // :== CPtr; +:: BEAttributeKindList; // :== CPtr; :: BEAnnotation :== Int; :: BEAttribution :== Int; :: BESymbKind :== Int; @@ -206,14 +206,10 @@ 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); @@ -272,16 +268,14 @@ BEDefineRules :: !BEImpRuleP !BackEnd -> BackEnd; // void BEDefineRules (BEImpRuleP rules); BEGenerateCode :: !String !BackEnd -> (!Bool,!BackEnd); // int BEGenerateCode (CleanString outputFile); -BEExportType :: !Int !Int !BackEnd -> BackEnd; -// void BEExportType (int dclTypeIndex,int iclTypeIndex); -BESwapTypes :: !Int !Int !BackEnd -> BackEnd; -// void BESwapTypes (int frm,int to); -BEExportConstructor :: !Int !Int !BackEnd -> BackEnd; -// void BEExportConstructor (int dclConstructorIndex,int iclConstructorIndex); -BEExportField :: !Int !Int !BackEnd -> BackEnd; -// void BEExportField (int dclTypeIndex,int iclTypeIndex); -BEExportFunction :: !Int !Int !BackEnd -> BackEnd; -// void BEExportFunction (int dclFunctionIndex,int iclFunctionIndex); +BEExportType :: !Bool !Int !BackEnd -> BackEnd; +// void BEExportType (int isDictionary,int typeIndex); +BEExportConstructor :: !Int !BackEnd -> BackEnd; +// void BEExportConstructor (int constructorIndex); +BEExportField :: !Bool !Int !BackEnd -> BackEnd; +// void BEExportField (int isDictionaryField,int fieldIndex); +BEExportFunction :: !Int !BackEnd -> BackEnd; +// void BEExportFunction (int functionIndex); BEDefineImportedObjsAndLibs :: !BEStringListP !BEStringListP !BackEnd -> BackEnd; // void BEDefineImportedObjsAndLibs (BEStringListP objs,BEStringListP libs); BESetMainDclModuleN :: !Int !BackEnd -> BackEnd; @@ -294,9 +288,9 @@ BEDeclareDynamicTypeSymbol :: !Int !Int !BackEnd -> BackEnd; // void BEDeclareDynamicTypeSymbol (int typeIndex,int moduleIndex); BEDynamicTempTypeSymbol :: !BackEnd -> (!BESymbolP,!BackEnd); // BESymbolP BEDynamicTempTypeSymbol (); -kBEVersionCurrent:==0x02010801; -kBEVersionOldestDefinition:==0x02000213; -kBEVersionOldestImplementation:==0x02010801; +kBEVersionCurrent:==0x02030407; +kBEVersionOldestDefinition:==0x02030407; +kBEVersionOldestImplementation:==0x02030407; kBEDebug:==1; kPredefinedModuleIndex:==1; BENoAnnot:==0; |