Mercurial > repos > tabletprog
annotate scripttags.js @ 17:7400bb42e0c9
Add direct file edit link support
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 25 Mar 2012 15:31:10 -0700 |
parents | 37d7f60a8ea1 |
children | 4d87c38404d6 |
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); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 var js = ast.toJSModule(); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 mainModule = eval(js)(); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 mainModule.main(); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 } |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 onReady(function() { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 var tags = qall('script[type="text/tabletprog"]'); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 for (var i = 0; i < tags.length; ++i) { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 if (tags[i].src) { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 get(tags[i].src, function(req) { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 compileAndRun(req.responseText); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 }); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 } else { |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 compileAndRun(tags[i].innerHTML); |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 } |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 } |
37d7f60a8ea1
Allow use of tabletproglang programs in script tags
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 }); |