summaryrefslogtreecommitdiff
path: root/sci2jsyacc.py
diff options
context:
space:
mode:
authorSunil Shetye2018-08-17 12:16:12 +0530
committerSunil Shetye2018-08-24 10:42:26 +0530
commitf5bdd141a4fd73a98e98523fb6531d48ed5d9904 (patch)
treeb0bccf2c5506766939e4aa0f7f5f0fc51ab9441a /sci2jsyacc.py
parent975ae6706b4ac868425193cf25bcbbb268051b5d (diff)
downloadsci2js-f5bdd141a4fd73a98e98523fb6531d48ed5d9904.tar.gz
sci2js-f5bdd141a4fd73a98e98523fb6531d48ed5d9904.tar.bz2
sci2js-f5bdd141a4fd73a98e98523fb6531d48ed5d9904.zip
code to generate common js
Diffstat (limited to 'sci2jsyacc.py')
-rwxr-xr-xsci2jsyacc.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/sci2jsyacc.py b/sci2jsyacc.py
index 7c8b1846..d31c4fe8 100755
--- a/sci2jsyacc.py
+++ b/sci2jsyacc.py
@@ -1364,6 +1364,11 @@ def getblocktype(module):
'''return a block type for a module'''
return BLOCK_TYPE.get(module, 'BasicBlock')
+def printblocktypejs(module):
+ blocktype = getblocktype(module)
+ print('%s.prototype.importset = function %s() {\n /* TODO */\n}' % (module, module))
+ print('%s.prototype.getContainer = function %s() { return new %s(this.x); }' % (module, module, blocktype))
+
def add_local_var(var, force=False):
'''If a variable is not global, add it to local list
@@ -1489,6 +1494,16 @@ def processfile(filename, picklefilename, passnumber):
print(result)
if __name__ == '__main__':
+ if len(sys.argv) > 10:
+ regex1 = re.compile(r'.*/')
+ regex2 = re.compile(r'\.js$')
+ for i in range(1, len(sys.argv)):
+ module = sys.argv[i]
+ module = regex1.sub('', module)
+ module = regex2.sub('', module)
+ printblocktypejs(module);
+ sys.exit(0)
+
if len(sys.argv) <= 3:
print('Usage:', sys.argv[0], 'filename.sci filename.pickle pass-number')
sys.exit(1)