Mercurial > repos > tabletprog
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 } |