31 lines
583 B
Python
31 lines
583 B
Python
import _ast
|
|
import ast
|
|
import sys
|
|
|
|
from py2wasm.wasm import Module
|
|
from py2wasm.python import Visitor
|
|
|
|
def process(input: str, input_name: str) -> str:
|
|
res = ast.parse(input, input_name)
|
|
|
|
module = Module()
|
|
|
|
visitor = Visitor(module)
|
|
visitor.visit(res)
|
|
|
|
return module.generate()
|
|
|
|
def main(source: str, sink: str) -> int:
|
|
with open(source, 'r') as fil:
|
|
code_py = fil.read()
|
|
|
|
code_wat = process(code_py, source)
|
|
|
|
with open(sink, 'w') as fil:
|
|
fil.write(code_wat)
|
|
|
|
return 0
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(*sys.argv[1:]))
|