Mercurial > repos > tabletprog
diff tpc.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 | 976a0924e1d4 |
children | 3a169ebb3224 |
line wrap: on
line diff
--- a/tpc.js Sat Jul 14 04:56:05 2012 -0700 +++ b/tpc.js Sat Jul 14 12:30:25 2012 -0700 @@ -3,7 +3,7 @@ var file = null; var argtype = 'normal'; -var includes = []; +var includes = ['.']; var basedir = ''; var debugmode = false; for (var i = 0; i < arguments.length; i++) { @@ -53,14 +53,9 @@ compileFile(file, basedir, includes, debugmode); -function compileFile(filename, basedir, includes, debugmode) +function parseFile(filename) { var text = read(filename); - load(basedir + 'peg.js'); - PEG = module.exports; - load(basedir + 'parser.js'); - load(basedir + 'compiler.js'); - load(basedir + 'cbackend.js'); try { var parsed = parser.parse(text); } catch (error) { @@ -78,9 +73,23 @@ print(spacer + '^'); quit(1); } + return parsed; +} + + +function compileFile(filename, basedir, includes, debugmode) +{ + + load(basedir + 'peg.js'); + PEG = module.exports; + load(basedir + 'parser.js'); + load(basedir + 'compiler.js'); + load(basedir + 'cbackend.js'); + var parsed = parseFile(filename); if (debugmode) { debugprint = print; } + toplevel = new topsymbols(includes); var c = parsed.toCModule(); print(c); }