25 |
val lconLexp = phase "Compiler 052 lcontract" LContract.lcontract |
val lconLexp = phase "Compiler 052 lcontract" LContract.lcontract |
26 |
val specLexp = phase "Compiler 053 specLexp" Specialize.specialize |
val specLexp = phase "Compiler 053 specLexp" Specialize.specialize |
27 |
val wrapLexp = phase "Compiler 054 wrapLexp" Wrapping.wrapLexp |
val wrapLexp = phase "Compiler 054 wrapLexp" Wrapping.wrapLexp |
28 |
|
val wrapLexpN = phase "Compiler 054 wrapLexpN" WrappingNEW.wrapping |
29 |
val ltyComp = phase "Compiler 055 ltyComp" Reify.ltyComp |
val ltyComp = phase "Compiler 055 ltyComp" Reify.ltyComp |
30 |
|
val reify = phase "Compiler 055 ltyCompN" ReifyNEW.reify |
31 |
val narrow = phase "Compiler 056 ltNarrow" LtNarrow.narrow |
val narrow = phase "Compiler 056 ltNarrow" LtNarrow.narrow |
32 |
(* val lambdaopt = phase "Compiler 057 lambdaopt" LContract.lcontract *) |
(* val lambdaopt = phase "Compiler 057 lambdaopt" LContract.lcontract *) |
33 |
|
|
86 |
o prFlint "Specialization" o specLexp) flint |
o prFlint "Specialization" o specLexp) flint |
87 |
else flint |
else flint |
88 |
|
|
89 |
|
(* |
90 |
|
(*** explicit FLINT checking phase ***) |
91 |
|
val flint = chkFlint (ref true, 3, "3") flint |
92 |
|
|
93 |
|
(*** check out the new wrapping function *) |
94 |
|
val nflint1 = (prFlint "NewWrapping" o wrapLexpN) flint |
95 |
|
val nflint2 = chkFlint (ref true, 4, "4") nflint1 |
96 |
|
val nflint3 = |
97 |
|
(chkFlint (ref false, 5, "5") o prFlint "NewReify" o reify) nflint2 |
98 |
|
val nlambda = Flint2Lambda.transFundec(nflint3) |
99 |
|
val nlambda = |
100 |
|
(chkLexp (CGC.checklty1,21,"4") o prLexp "NarrowingN" o narrow) nlambda |
101 |
|
val (nfunction,ntable) = convert nlambda |
102 |
|
*) |
103 |
|
|
104 |
val lambda = |
val lambda = |
105 |
(chkLexp (CGC.checklty1,1,"1") |
(chkLexp (CGC.checklty1,1,"1") |
106 |
o prLexp "Translation-To-Lambda" |
o prLexp "Translation-To-Lambda" |
121 |
*) |
*) |
122 |
|
|
123 |
val (function,table) = convert lambda |
val (function,table) = convert lambda |
124 |
|
local exception ZZZ |
125 |
|
in val table : FLINT.lty Intmap.intmap = Intmap.new(32, ZZZ) |
126 |
|
end |
127 |
val _ = prCps "convert" function |
val _ = prCps "convert" function |
128 |
|
|
129 |
val function = (prCps "cpstrans" o cpstrans) function |
val function = (prCps "cpstrans" o cpstrans) function |