aboutsummaryrefslogtreecommitdiff
path: root/backend/backend.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'backend/backend.dcl')
-rw-r--r--backend/backend.dcl78
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;