Conversion from JavaScript to Python code?
Conversion from JavaScript to Python code?
You can translate JavaScript to Python using Js2Py. It supports whole JavaScript and you can use it to translate large JavaScript modules like esprima.js
(a JavaScript 6 parser).
Short demo:
>>> import js2py
>>> f = js2py.eval_js( function $(a) {return a + arguments[1]} )
>>> f
function $(a) { [python code] }
>>> f(1, 2, 3)
3
This is how the translated function looks like internally (its rather ugly):
>>> print js2py.translate_js( function $(a) {return a + arguments[1]} )
from js2py.pyjs import *
var = Scope( JS_BUILTINS )
set_global_object(var)
# Code follows:
var.registers([u$])
@Js
def PyJsHoistedNonPyName(a, this, arguments, var=var):
var = Scope({ua:a, uthis:this, uarguments:arguments}, var)
var.registers([ua])
return (var.get(ua)+var.get(uarguments).get(u1))
PyJsHoistedNonPyName.func_name = u$
var.put(u$, PyJsHoistedNonPyName)
Updated
Now several (4) years later this (almost certainly) can be done; though certainly not with RegEx.
I suggest future readers look to @Piotr Dabkowskis answer..
Or some of the other answers. (I dont know having not tried them)
Original Answer
Hm this is a hard one.
The definition of a compiler is translates from a higher level language to a lower level language.
eg python to machine-code.
or java to javascript (google has a rather famous compiler for this somewhere – its what makes google doc easier to make)
Python to javascript compilers abound.
technically javascript to python would be a decompiler. (afaik)
I found some speculation about a javascript-python converter here: follow the tread through. it mostly speaks of how it wouldnt be too hard to do.
I cant find anything , but that doesnt mean its no out there.
Regex is not suitable, regex is suitable only for regular languages.
programming languages are not normally regular languages. see this
Conversion from JavaScript to Python code?
This answer might be about 2 years late but how about js -> CoffeeScript -> python? If you use something like http://js2.coffee/ to convert to cs, then things like indentation and lists are already done for you.
Related posts:
- html – Javascript SecurityError: DOM Exception 18 while accessing cookies
- javascript – Possible to extend types in Typescript?
- javascript – Simple MongoDB query find item age > 10 learnyoumongo find function
- Javascript Src Path
- asp.net ajax – Javascript Sys.Application.add_init
- JSON.stringify (Javascript) and json.dumps (Python) not equivalent on a list?
- javascript – Using Angular 2 without TypeScript Transpiler
- freeCodeCamp Title Case a Sentence Using JavaScript
- webstorm – JavaScript Program Path Not Specified Error
- Javascript Twitch API Json Data