It is impractical, i would go so far as to say a doomed effort, to try and convert one language to another across a wide range of languages. There are concepts in one language that don't exist in another. In my Beads language i have physical units of measurement built in, so you can say 3 m + 3 feet + 3 inches. How would you remap that? You would have to build basically the entire arithmetic runtime of Beads in some other language. And syntactically you can't just add suffixes in other languages, you would have to emulate it via function calls. Another feature isn't even syntactical, it is semantic, that would be impossible to express, namely the deductive nature of drawing code, where whatever state variables used, if those variables change, the runtime redraws the affected draw block without having to manually schedule a refresh. this is a huge effort saving, automatic feature, that eliminates a whole category of under- and over-refresh bugs that are so common in graphical interactive software. This is not shown in the ENBF grammar of the Beads language; it an implied feature performed by the runtime. Languages aren't just their syntax; all the modern ones come with very fancy runtimes, that do all sorts of clever things. There is zero chance that you can implement Erlang in Python; not because Erlang does some computational trick that Python cannot, rather, Erlang has a very customized runtime system that creates a stack and heap for each of the hundreds of thousands of threads you create, which makes garbage collection easy because the heap is so tiny. When you get to a problem that needs the massive thread count of Erlang/Elixir, there is nothing else on the planet that is built that way. Only within a set of "dumb" languages, which have negligible runtime features can one map one language to another. I can think of dozens of counter-examples from pairs of languages that would be a nightmare to convert. I have had to convert plenty of code in my day, and sometimes it is a challenge.