Mercurial > repos > tabletprog
view tpc.js @ 48:18ab96287c3a
Add builtin module os containing some baisc POSIX file IO
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 13 Jul 2012 10:46:27 -0700 |
parents | 2a9c6eed0c70 |
children | 3e8d2a91102c |
line wrap: on
line source
var module = {exports: {}}; var PEG; if (arguments.length < 1) { print('usage: d8 tpc.js -- filename'); os.exit(); } else { compileFile(arguments[0]); } function compileFile(filename) { var text = read(filename); load('peg.js'); PEG = module.exports; load('parser.js'); load('compiler.js'); load('cbackend.js'); try { var parsed = parser.parse(text); } catch (e) { print('SyntaxError on at', error.line, ',', error.column, ':', error.message); var lines = text.split('\n'); print(lines[error.line-1]); var spacer = ''; for (var i = 1; i < error.column; i++) { if (lines[error.line-1].charAt(i-1) == '\t') { spacer += ' '; } else { spacer += ' '; } } print(spacer + '^'); exit(1); } var c = parsed.toCModule(); print(c); }