import abstracttool
import analysis
+import program
private import compiling
private import syntax
if clibdir == null then
var dir = once ("NIT_DIR".to_symbol).environ
if dir.is_empty then
- var dir = "{sys.program_name.dirname}/../lib"
+ dir = "{sys.program_name.dirname}/../clib"
if dir.file_exists then clibdir = dir
else
- dir = "{dir}/lib"
+ dir = "{dir}/clib"
if dir.file_exists then clibdir = dir
end
if clibdir == null then
if bindir == null then
var dir = once ("NIT_DIR".to_symbol).environ
if dir.is_empty then
- var dir = "{sys.program_name.dirname}/../bin"
+ dir = "{sys.program_name.dirname}/../bin"
if dir.file_exists then bindir = dir
else
dir = "{dir}/bin"
var icd = new ICodeDumper
routine.dump(icd)
print "**** OPTIMIZE {p.full_name} ****"
- routine.optimize
+ routine.optimize(mod)
icd = new ICodeDumper
routine.dump(icd)
end
dump_intermediate_code(mods)
end
for mod in mods do
- mod.compile_prog_to_c(self)
+ var p = new Program(mod)
+ p.do_table_computation(self)
+ p.generate_classes_init_to_icode
+ p.compile_prog_to_c(self)
end
-
end
end