comparison tpc.js @ 54:976a0924e1d4

Fix closure over self var
author Mike Pavone <pavone@retrodev.com>
date Fri, 13 Jul 2012 19:22:39 -0700
parents 3e8d2a91102c
children 25b697c91629
comparison
equal deleted inserted replaced
53:9482a0afe07c 54:976a0924e1d4
3 3
4 var file = null; 4 var file = null;
5 var argtype = 'normal'; 5 var argtype = 'normal';
6 var includes = []; 6 var includes = [];
7 var basedir = ''; 7 var basedir = '';
8 var debugmode = false;
8 for (var i = 0; i < arguments.length; i++) { 9 for (var i = 0; i < arguments.length; i++) {
9 switch (argtype) { 10 switch (argtype) {
10 case 'normal': 11 case 'normal':
11 switch (arguments[i]) { 12 switch (arguments[i]) {
12 case '-basedir': 13 case '-basedir':
13 case '-i': 14 case '-i':
14 argtype = arguments[i]; 15 argtype = arguments[i];
16 break;
17 case '-compilerdebug':
18 debugmode = true;
15 break; 19 break;
16 default: 20 default:
17 if (arguments[i].charAt(0) == '-') { 21 if (arguments[i].charAt(0) == '-') {
18 print("unrecognized switch", arguments[i]); 22 print("unrecognized switch", arguments[i]);
19 quit(1); 23 quit(1);
44 if (!file) { 48 if (!file) {
45 print('usage: d8 tpc.js -- filename'); 49 print('usage: d8 tpc.js -- filename');
46 quit(1); 50 quit(1);
47 } 51 }
48 52
49 compileFile(file, basedir, includes); 53 compileFile(file, basedir, includes, debugmode);
50 54
51 55
52 function compileFile(filename, basedir, includes) 56 function compileFile(filename, basedir, includes, debugmode)
53 { 57 {
54 var text = read(filename); 58 var text = read(filename);
55 load(basedir + 'peg.js'); 59 load(basedir + 'peg.js');
56 PEG = module.exports; 60 PEG = module.exports;
57 load(basedir + 'parser.js'); 61 load(basedir + 'parser.js');
72 } 76 }
73 } 77 }
74 print(spacer + '^'); 78 print(spacer + '^');
75 quit(1); 79 quit(1);
76 } 80 }
81 if (debugmode) {
82 debugprint = print;
83 }
77 var c = parsed.toCModule(); 84 var c = parsed.toCModule();
78 print(c); 85 print(c);
79 } 86 }