Mercurial > repos > tabletprog
diff cbackend.js @ 66:25b697c91629
Finish implementation of external module access
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 14 Jul 2012 12:30:25 -0700 |
parents | a6addd8c6bd4 |
children | 42d5660b30b4 |
line wrap: on
line diff
--- a/cbackend.js Sat Jul 14 04:56:05 2012 -0700 +++ b/cbackend.js Sat Jul 14 12:30:25 2012 -0700 @@ -709,14 +709,22 @@ toplevel.names['os'] = os; } +modulefile.prototype.toC = function(){ + var ast = parseFile(this.path + '/' + this.file); + ast.populateSymbols(toplevel); + return ast.toCModuleInstance(); +}; + function processUsedToplevel(toplevel) { var ret = ''; var modulenum = 0; for (var symbol in toplevel.used) { - ret += '\tmodule_' + (modulenum) + ' = ' + toplevel.names[symbol].toC() + ';\n'; - toplevelcode += 'object * module_' + modulenum + ';\n'; toplevel.names[symbol].modulevar = 'module_' + (modulenum++); + toplevelcode += 'object * ' + toplevel.names[symbol].modulevar + ';\n'; + } + for (var symbol in toplevel.used) { + ret += '\t' + toplevel.names[symbol].modulevar + ' = ' + toplevel.names[symbol].toC() + ';\n'; } return ret; }