Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
7e3d54c3
Commit
7e3d54c3
authored
Aug 31, 2001
by
John van Groningen
Browse files
new functions for strict and unboxed lists
parent
e5de072f
Changes
2
Hide whitespace changes
Inline
Side-by-side
backend/backend.dcl
View file @
7e3d54c3
...
...
@@ -67,6 +67,22 @@ BEBoolSymbol :: !Bool !BackEnd -> (!BESymbolP,!BackEnd);
// BESymbolP BEBoolSymbol (int value);
BELiteralSymbol
::
!
BESymbKind
!
String
!
BackEnd
->
(!
BESymbolP
,!
BackEnd
);
// BESymbolP BELiteralSymbol (BESymbKind kind,CleanString value);
BEPredefineListConstructorSymbol
::
!
Int
!
Int
!
BESymbKind
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEPredefineListConstructorSymbol(int constructorIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness);
BEPredefineListTypeSymbol
::
!
Int
!
Int
!
BESymbKind
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEPredefineListTypeSymbol(int typeIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness);
BEAdjustStrictListConsInstance
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEAdjustStrictListConsInstance(int functionIndex,int moduleIndex);
BEAdjustUnboxedListDeconsInstance
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEAdjustUnboxedListDeconsInstance(int functionIndex,int moduleIndex);
BEAdjustOverloadedNilFunction
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
// void BEAdjustOverloadedNilFunction(int functionIndex,int moduleIndex);
BEOverloadedConsSymbol
::
!
Int
!
Int
!
Int
!
Int
!
BackEnd
->
(!
BESymbolP
,!
BackEnd
);
// BESymbolP BEOverloadedConsSymbol (int constructorIndex,int moduleIndex,int deconsIndex,int deconsModuleIndex);
BEOverloadedPushNode
::
!
Int
!
BESymbolP
!
BEArgP
!
BENodeIdListP
!
BENodeP
!
BackEnd
->
(!
BENodeP
,!
BackEnd
);
// BENodeP BEOverloadedPushNode (int arity,BESymbolP symbol,BEArgP arguments,BENodeIdListP nodeIds,BENodeP decons_node);
BEPredefineConstructorSymbol
::
!
Int
!
Int
!
Int
!
BESymbKind
!
BackEnd
->
BackEnd
;
// void BEPredefineConstructorSymbol (int arity,int constructorIndex,int moduleIndex,BESymbKind symbolKind);
BEPredefineTypeSymbol
::
!
Int
!
Int
!
Int
!
BESymbKind
!
BackEnd
->
BackEnd
;
...
...
backend/backend.icl
View file @
7e3d54c3
...
...
@@ -128,6 +128,50 @@ BELiteralSymbol a0 a1 a2 = code {
}
;
// BESymbolP BELiteralSymbol (BESymbKind kind,CleanString value);
BEPredefineListConstructorSymbol
::
!
Int
!
Int
!
BESymbKind
!
Int
!
Int
!
BackEnd
->
BackEnd
;
BEPredefineListConstructorSymbol
a0
a1
a2
a3
a4
a5
=
code {
ccall
BEPredefineListConstructorSymbol
"IIIII:V:I"
}
;
// void BEPredefineListConstructorSymbol(int constructorIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness);
BEPredefineListTypeSymbol
::
!
Int
!
Int
!
BESymbKind
!
Int
!
Int
!
BackEnd
->
BackEnd
;
BEPredefineListTypeSymbol
a0
a1
a2
a3
a4
a5
=
code {
ccall
BEPredefineListTypeSymbol
"IIIII:V:I"
}
;
// void BEPredefineListTypeSymbol(int typeIndex,int moduleIndex,BESymbKind symbolKind,int head_strictnes,int tail_stricness);
BEAdjustStrictListConsInstance
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
BEAdjustStrictListConsInstance
a0
a1
a2
=
code {
ccall
BEAdjustStrictListConsInstance
"II:V:I"
}
;
// void BEAdjustStrictListConsInstance(int functionIndex,int moduleIndex);
BEAdjustUnboxedListDeconsInstance
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
BEAdjustUnboxedListDeconsInstance
a0
a1
a2
=
code {
ccall
BEAdjustUnboxedListDeconsInstance
"II:V:I"
}
;
// void BEAdjustUnboxedListDeconsInstance(int functionIndex,int moduleIndex);
BEAdjustOverloadedNilFunction
::
!
Int
!
Int
!
BackEnd
->
BackEnd
;
BEAdjustOverloadedNilFunction
a0
a1
a2
=
code {
ccall
BEAdjustOverloadedNilFunction
"II:V:I"
}
;
// void BEAdjustOverloadedNilFunction(int functionIndex,int moduleIndex);
BEOverloadedConsSymbol
::
!
Int
!
Int
!
Int
!
Int
!
BackEnd
->
(!
BESymbolP
,!
BackEnd
);
BEOverloadedConsSymbol
a0
a1
a2
a3
a4
=
code {
ccall
BEOverloadedConsSymbol
"IIII:I:I"
}
;
// BESymbolP BEOverloadedConsSymbol (int constructorIndex,int moduleIndex,int deconsIndex,int deconsModuleIndex);
BEOverloadedPushNode
::
!
Int
!
BESymbolP
!
BEArgP
!
BENodeIdListP
!
BENodeP
!
BackEnd
->
(!
BENodeP
,!
BackEnd
);
BEOverloadedPushNode
a0
a1
a2
a3
a4
a5
=
code {
ccall
BEOverloadedPushNode
"IIIII:I:I"
}
;
// BENodeP BEOverloadedPushNode (int arity,BESymbolP symbol,BEArgP arguments,BENodeIdListP nodeIds,BENodeP decons_node);
BEPredefineConstructorSymbol
::
!
Int
!
Int
!
Int
!
BESymbKind
!
BackEnd
->
BackEnd
;
BEPredefineConstructorSymbol
a0
a1
a2
a3
a4
=
code {
ccall
BEPredefineConstructorSymbol
"IIII:V:I"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment