Mercurial > repos > tabletprog
annotate scripttags.js @ 193:4293c725394c
Mostly complete register allocation in il module with a register source in the x86 module
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 26 Aug 2013 19:53:16 -0700 |
parents | da7f585bf626 |
children |
rev | line source |
---|---|
9
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 function compileAndRun(src) |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 var ast = parser.parse(src); |
104 | 5 asyncProcessTopLevelJS(toplevel, function() { |
6 var js = makeJSProg(ast); | |
7 eval(js); | |
8 }); | |
9 /*.toJSModule(); | |
10 mainModule = eval(js); | |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
11 if (mainModule.strue) { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
12 each(mainModule.strue, function(key, val) { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
13 if(val instanceof Function) { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
14 Boolean.prototype[key] = function() { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
15 return this.valueOf() ? mainModule.strue[key].apply(mainModule.strue, arguments) : mainModule.sfalse[key].apply(mainModule.sfalse, arguments); |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
16 }; |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
17 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
18 }); |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
9
diff
changeset
|
19 } |
104 | 20 mainModule.main();*/ |
9
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 } |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
23 onReady(function() { |
104 | 24 toplevel.onReady( function() { |
25 var tags = qall('script[type="text/tabletprog"]'); | |
123
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
26 |
104 | 27 for (var i = 0; i < tags.length; ++i) { |
28 if (tags[i].src) { | |
123
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
29 (function() { |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
30 var src = tags[i].src; |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
31 get(src, function(req) { |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
32 console.log('Compiling ' + src); |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
33 compileAndRun(req.responseText); |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
34 }); |
da7f585bf626
Add debug logging for compiling scripts in the browser
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
35 })(); |
104 | 36 } else { |
37 compileAndRun(tags[i].innerHTML); | |
38 } | |
9
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
39 } |
104 | 40 }); |
9
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
41 }); |