aboutsummaryrefslogtreecommitdiff
path: root/frontend/predef.icl
diff options
context:
space:
mode:
authormartijnv2001-02-15 10:59:50 +0000
committermartijnv2001-02-15 10:59:50 +0000
commit896a57f96db5602861f61f5fcb858c70a461c8ed (patch)
treedb26fd0d3fbffa34de4de9524eaa5ffe4f71293c /frontend/predef.icl
parentbugfix: the algorithm couldn't handle applications that were (curried) (diff)
DynamicTemp added to the compiler. You will be needing a new
StdEnv 2.0 in which DynamicTemp is added. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@297 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/predef.icl')
-rw-r--r--frontend/predef.icl29
1 files changed, 24 insertions, 5 deletions
diff --git a/frontend/predef.icl b/frontend/predef.icl
index c9dc1eb..68e1697 100644
--- a/frontend/predef.icl
+++ b/frontend/predef.icl
@@ -32,7 +32,12 @@ PD_Arity32TupleSymbol :== 69
PD_TypeVar_a0 :== 70
PD_TypeVar_a31 :== 101
+/* Dynamics */
+
PD_TypeCodeMember :== 123
+PD_DynamicTemp :== 131
+PD_DynamicValue :== 132
+PD_DynamicType :== 133
/* identifiers present in the hastable */
@@ -79,12 +84,12 @@ PD_variablePlaceholder :== 128
PD_StdDynamics :== 129
PD_undo_indirections :== 130
-PD_Start :== 131
+PD_Start :== 134
// MW..
-PD_DummyForStrictAliasFun :== 132
+PD_DummyForStrictAliasFun :== 135
-PD_NrOfPredefSymbols :== 133
+PD_NrOfPredefSymbols :== 136
// ..MW
@@ -134,7 +139,8 @@ where
= build_variables (inc var_number) max_arity (tables <<= (var_name, PD_TypeVar_a0 + var_number))
fill_table_with_hashing tables
- = tables <<- ("StdArray", IC_Module, PD_StdArray) <<- ("StdEnum", IC_Module, PD_StdEnum) <<- ("StdBool", IC_Module, PD_StdBool)
+ # tables = tables
+ <<- ("StdArray", IC_Module, PD_StdArray) <<- ("StdEnum", IC_Module, PD_StdEnum) <<- ("StdBool", IC_Module, PD_StdBool)
<<- ("&&", IC_Expression, PD_AndOp) <<- ("||", IC_Expression, PD_OrOp)
<<- ("Array", IC_Class, PD_ArrayClass)
<<- ("createArray", IC_Expression, PD_CreateArrayFun)
@@ -157,8 +163,21 @@ where
<<- ("_coerce", IC_Expression, PD_coerce) /* MV */
<<- ("StdDynamic", IC_Module, PD_StdDynamics)
<<- ("_undo_indirections", IC_Expression, PD_undo_indirections)
+// MV ...
+ <<- ("DynamicTemp", IC_Type, PD_DynamicTemp)
+
+ # (predef_symbol_table,hash_table)
+ = tables
+ # ({pds_ident},predef_symbol_table)
+ = predef_symbol_table![PD_DynamicTemp]
+
+ # tables = (predef_symbol_table,hash_table)
+ <<- ("type", IC_Field pds_ident, PD_DynamicType)
+ <<- ("value", IC_Field pds_ident, PD_DynamicValue)
<<- ("Start", IC_Expression, PD_Start)
-
+
+ = tables
+// ... MV
MakeTupleConsSymbIndex arity :== arity - 2 + cArity2TupleConsSymbIndex
MakeTupleTypeSymbIndex arity :== arity - 2 + cArity2TupleTypeSymbIndex