Coder Social home page Coder Social logo

jarble / transpiler Goto Github PK

View Code? Open in Web Editor NEW
464.0 32.0 44.0 176.15 MB

A universal translator for programming languages

Home Page: https://jarble.github.io/transpiler

License: MIT License

HTML 0.53% Prolog 14.58% JavaScript 66.00% Makefile 0.01% Java 0.19% PHP 0.17% Ruby 0.14% Yacc 17.56% Erlang 0.01% C++ 0.18% Haskell 0.01% Lua 0.09% Scala 0.01% TypeScript 0.01% Python 0.26% C# 0.06% GLSL 0.06% Futhark 0.03% Hack 0.01% C 0.12%
source-to-source transpiler

transpiler's Introduction

This transpiler is no longer maintained; you should probably use Extism instead.

Build Status

Universal-transpiler

Universal-transpiler is a source-to-source compiler that translates a small subset of several programming languages into several others. It is also able to translate several metasyntax notations, such as EBNF and ABNF.

Universal-transpiler was written as an experimental "proof-of-concept," so it can only translate relatively simple programs. The translation is not always 100% accurate, but I hope it will still be useful.

The online version of this translator is written in JavaScript, but an experimental version is also being written in Prolog.

A major goal of this project is to translate TypeScript and JavaScript to other languages that compile to C or native code. For example, it's possible to translate a subset of TypeScript to Zig:

var a = {a1:1,b:2};

var b = function(a1:number,b:number):number{
return a + b;
};

This is the compiler's output:

var a=.{.a1=1,.b=2};
var b=struct{fn function(a1:f64,b:f64)f64{
    return a+b;}}.function;

How to use the online translator

Some supported features

Constraint programming and automated reasoning

Universal-transpiler is able to generate code in several constraint programming languages and computer algebra systems, including MiniZinc, Maxima, Sage, Algebrite, and Axiom. Some languages can also be translated into the SMT-LIB, TPTP, Coq, Isabelle/HOL, and alt-ergo languages for automated theorem proving. As an experimental feature, it also converts a subset of Prolog into the PDDL automated planning language.

Similarly, it can translate constraint handing rules from Prolog into CLIPS and vice-versa.

Ontology languages

Universal-transpiler can also translate programming languages into the KIF ontology language.

Generating parsers with universal-transpiler

Universal-transpiler can also translate various grammar notations, such as jison, marpa, peg.js, and nearley.

How to use the Prolog translator

The Prolog translator is still unfinished and experimental. You can install the package by typing pack_install(transpiler) in the SWI-Prolog console. Now, you can use the translator to convert JavaScript source code into Lua:

:- use_module(library(transpiler)).
:- set_prolog_flag(double_quotes,chars).
:- initialization(main).

main :- 
	translate("function add(a,b){return a + b;}",javascript,lua,X),
	atom_chars(Y,X),
	writeln(Y).

How to extend the Prolog translator

A limited number of translation rules are provided here, but you can easily add your own rules to transpiler.pl. This is a simplified version of one of its translation rules, implementing the sine function:

%The type of this expression is double.
parentheses_expr(Data,double,sin(Var1_)) -->
    {
		%The parameter of the sine function can be an integer or double.
		Var1 = expr(Data,double,Var1_)
	},
    langs_to_output(Data,sin,[
    ['java','javascript']:
            ("Math",ws,".",ws,"sin",ws,"(",ws,Var1,ws,")"),
    ['lua','python']:
            ("math",python_ws,".",python_ws,"sin",python_ws,"(",python_ws,Var1,python_ws,")"),
    ]).

Other planned features:

  • Add a translator for lens languages such as Augeas and Boomerang
  • Simplify and refactor the code generator using string interpolation
  • Converting SQL to Linq and vice-versa
  • Simultaneous editing of two programming languages in two text areas
  • Translate list comprehensions from other languages into Prolog.
  • Try to translate markup languages, similar to Pandoc.
  • Try to convert SVG into other vector graphics formats
  • Try to convert X3D into other vector graphics formats

Similar projects

There are several other source-to-source compilers and code generators that are similar to this one.

JTransc compiles Java, Kotlin, and Scala into several other programming languages. Pandoc is a universal document converter

This universal code generator is one example.

transpiler's People

Contributors

jarble avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transpiler's Issues

TypeError: pattern_array is undefined java_translator.js:1917:2

https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#%7B%22inputText%22%3A%22if%20a%3D%3Dnil%20then%5Cnb()%5Cnend%22%2C%22inputLang%22%3A%22lua%22%2C%22outputLang%22%3A%22java%22%7D

Generating code: ["top_level_statements",[["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: ["==",[".",["1"]],[".",["3"]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["==",["1"],["3"]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["==",["1"],["3"]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["==",["1"],["3"]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: Print[to_print] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["to_print"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["to_print"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["to_print"]] java_translator.js:2150:2
Generating code: "to_print" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "to_print" java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: print(to_print) java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Setting array type: i,int,[] java_translator.js:1208:3
Setting array type: {1,2,3},int,[] java_translator.js:1208:3
Generating code: ["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: Print[j] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["initializer_list","Object",[["1"],["2"],["3"]]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["2"] java_translator.js:2150:2
Generating code: "2" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["j"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["j"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["j"]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "j" java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: print(j) java_translator.js:2137:3
Generating code: ["top_level_statements",[["if",["==",[".",["a"]],[".",["nil"]]],["statements",[["semicolon",["function_call","b",[]]]]]]]] java_translator.js:2150:2
Generating code: ["if",["==",[".",["a"]],[".",["nil"]]],["statements",[["semicolon",["function_call","b",[]]]]]] java_translator.js:2150:2
Generating code: ["==",[".",["a"]],[".",["nil"]]] java_translator.js:2150:2
Generating code: [".",["a"]] java_translator.js:2150:2
Unparsing: undefined java_translator.js:1915:2
TypeError: pattern_array is undefined[了解更多] java_translator.js:1917:2
    unparse https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1917
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2729
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:4824
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11277
    parse_lang_ https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11361
    parse_lang https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11330
    myFunction https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"if a==nil then\nb()\nend","inputLang":"lua","outputLang":"java"}:165
    persistence https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"if a==nil then\nb()\nend","inputLang":"lua","outputLang":"java"}:144
    onload https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"if a==nil then\nb()\nend","inputLang":"lua","outputLang":"java"}:1

Py->Java

def add(a,b):
    g=[3,4,5]
    return a + b + (g[0]) + (len(g)) 
def divide(a,b):
    return a/b
Generating code: ["top_level_statements",[["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: ["==",[".",["1"]],[".",["3"]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["==",["1"],["3"]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["==",["1"],["3"]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["==",["1"],["3"]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: Print[to_print] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["to_print"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["to_print"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["to_print"]] java_translator.js:2150:2
Generating code: "to_print" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "to_print" java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: print(to_print) java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Setting array type: i,int,[] java_translator.js:1208:3
Setting array type: {1,2,3},int,[] java_translator.js:1208:3
Generating code: ["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: Print[j] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["initializer_list","Object",[["1"],["2"],["3"]]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["2"] java_translator.js:2150:2
Generating code: "2" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["j"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["j"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["j"]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "j" java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: print(j) java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]]],["semicolon",["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]]],["function","public","Object","divide",[["Object","a"],["Object","b"]],["statements",[["semicolon",["return",["/","a","b"]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]] java_translator.js:2150:2
Generating code: ["set_var","g",["initializer_list","Object",["3","4","5"]]] java_translator.js:2150:2
Generating code: "g" java_translator.js:2150:2
Generating code: ["initializer_list","Object",["3","4","5"]] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: "4" java_translator.js:2150:2
Generating code: "5" java_translator.js:2150:2
Generating code: ["semicolon",["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]]] java_translator.js:2150:2
Generating code: ["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]] java_translator.js:2150:2
Generating code: ["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]] java_translator.js:2150:2
Generating code: ["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]] java_translator.js:2150:2
Generating code: ["+","a","b"] java_translator.js:2150:2
Generating code: "a" java_translator.js:2150:2
Generating code: "b" java_translator.js:2150:2
TypeError: type is undefined[了解更多] java_translator.js:733:7
    var_type https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:733
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2272
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2154
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2154
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:10337
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9121
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11277
    parse_lang_ https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11361
    parse_lang https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11330
    myFunction https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b","inputLang":"python","outputLang":"java"}:165
    persistence https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b","inputLang":"python","outputLang":"java"}:144
    onload https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b","inputLang":"python","outputLang":"java"}:1

Lua `func()[fi]`

https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#%7B%22inputText%22%3A%22function%20un_symbol(x)%5Cn%20%20%20%20return%20symbols_set_neg()%5Bun_symbol_unicodechar(x)%5D%5Cnend%22%2C%22inputLang%22%3A%22lua%22%2C%22outputLang%22%3A%22java%22%7D

Error: Parse error on line 2:
...rn symbols_set_neg()[un_symbol_unicodech
-----------------------^
Expecting 'EOF', 'while', 'do', 'end', 'repeat', 'for', ',', 'IDENTIFIER', ')', 'if', 'then', 'function', 'return', 'local', '.', 'or', 'and', '<=', '<', '>=', '==', '~=', '>', '+', '-', '..', '*', '/', '%', '^', ']', '{', '}', 'NUMBER', 'STRING_LITERAL', 'elseif', 'else', got '[' lua_parser.js:248:21

type is undefined https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:645:1

function add(a,b){
	var g = [3,4,5];
	return a+b+(g[0])+(g.length);
}

function divide(a,b){
	return a/b;
}
TypeError: type is undefined[详细了解] java_translator.js:645:1
	var_type https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:645:1
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1972:118
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1872:11
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9128:11
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:8027:32
	statements/a< https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1599:11
	map self-hosted:285:17
	statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1598:11
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9887:10
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:7136:21
	statements/a< https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1599:11
	map self-hosted:285:17
	statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1598:11
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9887:10
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:6350:11
	statements/a< https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1599:11
	map self-hosted:285:17
	statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1598:11
	generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9942:11
	parse_lang_ https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:10026:23
	parse_lang https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9995:15
	myFunction https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html:161:18
	persistence/textInput.oninput/timeout< https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html:119:4

Grammar railroad diagram

With a tool I made to parse jison grammars an convert then to a kind of EBNF understood by https://www.bottlecaps.de/rr/ui .

For my tool to parse all of the jison grammars at https://github.com/jarble/transpiler/tree/master/javascript/js_transpiler/jison_parsers I needed to fix some of then and I'm attaching the output of git diff and also a zip with all grammars converted to the EBNF described above (they are all concatenated in one txt file you'll need to split/extract each one individually to generate the railroad diagram at https://www.bottlecaps.de/rr/ui).

For an example see this AlaSQL/alasql#1359

all-jison-parsers.diff.zip
all-jison-parsers-to-ebnf-railroad.txt.zip

PHP parser unable to understand single qoutes (')

In PHP, single quotes (') can be used to declare strings that PHP will not look for variables or escapes inside. transpiler does not seem to support these as it gets confused and refuses to transpile when I use them in my code.

Example:

print('I like single quotes');

Display error messages in document when using the web version of transpiler

Currently the online version of transpiler seemingly only displays error messages in the developer console. That's okay, but considering that the developer console isn't always available and not where content on the web generally is displayed, I believe it would be favourable to have error messages displayed on-page along with in the developer console.

JS comment

Error: Parse error on line 1:
function a(){/**/return;}
-------------^
Expecting 'class', 'IDENTIFIER', '{', 'switch', '(', 'while', 'do', 'for', 'var', 'if', 'function', 'import', 'STRING_LITERAL', 'continue', 'return', 'yield', 'const', '[', 'new', 'NUMBER', got '/'

lua `function(...)`

Extism collaboration

Hi @jarble -

I came across this project after finding your README link to Extism. I understand you're not maintaining this any longer, but wanted to say what an incredibly cool idea and impressive project it is! We would be very happy & lucky to have a contributor like you to the Extism project if you're ever inclined to join.

We're active on Discord if you're interested https://discord.gg/cx3usBCWnc

Much respect for your work here. Hope you don't mind me reaching out this way.

Regards,
Steve
Extism Contributor

A small error in the file grammar.pl (the package of swi-prolog)

Hi

I tried to install the transpiler pack in SWI-PROLOG. I am not sure if it was correctly installed but syntax error raises in line 2638 column 15. A ":" ... giving a syntax error.

Could you fix for swi-prolog pack soon? I did a clone of your git, I will try to push to master. I am not sure if I have permission.

Could you fix soon for me?

Thanks in advance

Claudio

Use with nodejs?

I had various issues with browsers, maybe nodejs would be better portable?

JavaScript to Prolog array access

When I try to transpile the following JavaScript to Prolog:

function foo(){
    var bar = [1,2,3];
    return bar[0];
}

I get the following console error:

uncaught exception: Can't generate code for:
["access_array","bar",[[".",["0"]]]] in prolog

Is there some secret workaround to use arrays? Given everything else, it seems like this would have already been included.

TypeInference is not defined

I trying transpiler without Prolog on my machine, and it displayed Error: TypeInference is not defined. when I typed Python in field Input language.
The OS is Windows 7. Can you help me?

Py->Lua

https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#%7B%22inputText%22%3A%22%5Cndef%20add(a%2Cb)%3A%5Cn%20%20%20%20g%3D%5B3%2C4%2C5%5D%5Cn%20%20%20%20return%20a%20%2B%20b%20%2B%20(g%5B0%5D)%20%2B%20(len(g))%20%5Cndef%20divide(a%2Cb)%3A%5Cn%20%20%20%20return%20a%2Fb%5Cn%22%2C%22inputLang%22%3A%22python%22%2C%22outputLang%22%3A%22lua%22%7D

Generating code: ["top_level_statements",[["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: ["==",[".",["1"]],[".",["3"]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["==",["1"],["3"]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["==",["1"],["3"]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["==",["1"],["3"]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["top_level_statements",[["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2150:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["to_print"]] java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: Print[to_print] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["to_print"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["to_print"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["to_print"]] java_translator.js:2150:2
Generating code: "to_print" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "to_print" java_translator.js:2150:2
Unparsed: to_print java_translator.js:2137:3
Generating code: "to_print" java_translator.js:2150:2
Unparsed: print(to_print) java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]] java_translator.js:2150:2
Generating code: ["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2150:2
Generating code: [".",["1"]] java_translator.js:2150:2
Generating code: [".",["2"]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Setting array type: i,int,[] java_translator.js:1208:3
Setting array type: {1,2,3},int,[] java_translator.js:1208:3
Generating code: ["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]] java_translator.js:2150:2
Generating code: [".",["System","out",["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["j"]]]]]] java_translator.js:2150:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: [".",["j"]] java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: Print[j] java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]] java_translator.js:2150:2
Generating code: ["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]] java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["initializer_list","Object",[["1"],["2"],["3"]]] java_translator.js:2150:2
Generating code: ["1"] java_translator.js:2150:2
Generating code: "1" java_translator.js:2150:2
Generating code: ["2"] java_translator.js:2150:2
Generating code: "2" java_translator.js:2150:2
Generating code: ["3"] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: ["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Generating code: "i" java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]] java_translator.js:2150:2
Generating code: ["return",["parentheses",["function_call","Print",["j"]]]] java_translator.js:2150:2
Generating code: ["parentheses",["function_call","Print",["j"]]] java_translator.js:2150:2
Generating code: ["function_call","Print",["j"]] java_translator.js:2150:2
Generating code: "j" java_translator.js:2150:2
Unparsing: ["function_call","print",["$a"]] java_translator.js:1915:2
Unparsing: "$a" java_translator.js:1915:2
Generating code: "j" java_translator.js:2150:2
Unparsed: j java_translator.js:2137:3
Generating code: "j" java_translator.js:2150:2
Unparsed: print(j) java_translator.js:2137:3
Generating code: ["top_level_statements",[["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]]],["semicolon",["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]]],["function","public","Object","divide",[["Object","a"],["Object","b"]],["statements",[["semicolon",["return",["/","a","b"]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["set_var","g",["initializer_list","Object",["3","4","5"]]]] java_translator.js:2150:2
Generating code: ["set_var","g",["initializer_list","Object",["3","4","5"]]] java_translator.js:2150:2
Generating code: "g" java_translator.js:2150:2
Generating code: ["initializer_list","Object",["3","4","5"]] java_translator.js:2150:2
Generating code: "3" java_translator.js:2150:2
Generating code: "4" java_translator.js:2150:2
Generating code: "5" java_translator.js:2150:2
Generating code: ["semicolon",["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]]] java_translator.js:2150:2
Generating code: ["return",["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]]] java_translator.js:2150:2
Generating code: ["+",["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]],["parentheses",["function_call","len",["g"]]]] java_translator.js:2150:2
Generating code: ["+",["+","a","b"],["parentheses",["access_array","g",["0"]]]] java_translator.js:2150:2
Generating code: ["+","a","b"] java_translator.js:2150:2
Generating code: "a" java_translator.js:2150:2
Generating code: "b" java_translator.js:2150:2
Generating code: ["parentheses",["access_array","g",["0"]]] java_translator.js:2150:2
Generating code: ["access_array","g",["0"]] java_translator.js:2150:2
Generating code: "g" java_translator.js:2150:2
Generating code: "0" java_translator.js:2150:2
TypeError: type is undefined[了解更多] java_translator.js:733:7
    var_type https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:733
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2272
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2154
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:10337
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9121
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11277
    parse_lang_ https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11361
    parse_lang https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11330
    myFunction https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b\n","inputLang":"python","outputLang":"lua"}:165
    persistence https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b\n","inputLang":"python","outputLang":"lua"}:144
    onload https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"\ndef add(a,b):\n g=[3,4,5]\n return a + b + (g[0]) + (len(g)) \ndef divide(a,b):\n return a/b\n","inputLang":"python","outputLang":"lua"}:1

lua `local function`

JS->Java

function add(a,b){
	var g = [3,4,5];
	return a+b+(g[0])+(g.length);
}

function divide(a,b){
	return a/b;
}

Generating code: ["top_level_statements",[["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["lexically_scoped_vars",[["lexically_scoped_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]]],["statements",[["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]]]]]]]],["function","public","Object","divide",[["Object","a"],["Object","b"]],["statements",[["semicolon",["return",["/",[".",["a"]],[".",["b"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["function","public","Object","add",[["Object","a"],["Object","b"]],["statements",[["lexically_scoped_vars",[["lexically_scoped_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]]],["statements",[["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["statements",[["lexically_scoped_vars",[["lexically_scoped_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]]],["statements",[["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_vars",[["lexically_scoped_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]]],["statements",[["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]]]]] java_translator.js:2150:2
Generating code: ["lexically_scoped_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: [".",["4"]] java_translator.js:2150:2
Generating code: [".",["5"]] java_translator.js:2150:2
Generating code: ["semicolon",["initialize_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]]] java_translator.js:2150:2
Generating code: ["initialize_var","Object","g",[".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]]] java_translator.js:2150:2
Generating code: [".",[["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]]] java_translator.js:2150:2
Generating code: [["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]]] java_translator.js:2150:2
Generating code: ["initializer_list","Object",[[".",["3"]],[".",["4"]],[".",["5"]]]] java_translator.js:2150:2
Generating code: [".",["3"]] java_translator.js:2150:2
Generating code: [".",["4"]] java_translator.js:2150:2
Generating code: [".",["5"]] java_translator.js:2150:2
Generating code: ["statements",[["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["semicolon",["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]]] java_translator.js:2150:2
Generating code: ["return",["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]]] java_translator.js:2150:2
Generating code: ["+",["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]],[".",[["parentheses",[".",["g","length"]]]]]] java_translator.js:2150:2
Generating code: ["+",["+",[".",["a"]],[".",["b"]]],[".",[["parentheses",[".",[["access_array","g",[[".",["0"]]]]]]]]]] java_translator.js:2150:2
Generating code: ["+",[".",["a"]],[".",["b"]]] java_translator.js:2150:2
Generating code: [".",["a"]] java_translator.js:2150:2
Generating code: [".",["b"]] java_translator.js:2150:2
TypeError: type is undefined[了解更多] java_translator.js:733:7
    var_type https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:733
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2272
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2154
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:2154
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:10337
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:9121
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11216
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:8156
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11216
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:7284
    a https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1802
    map self-hosted:286
    statements https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:1801
    generate_code https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11277
    parse_lang_ https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11361
    parse_lang https://jarble.github.io/transpiler/javascript/js_transpiler/java_translator.js:11330
    myFunction https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"function add(a,b){\n\tvar g = [3,4,5];\n\treturn a+b+(g[0])+(g.length);\n}\n\nfunction divide(a,b){\n\treturn a/b;\n}","inputLang":"javascript","outputLang":"python"}:165
    timeout https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#{"inputText":"function add(a,b){\n\tvar g = [3,4,5];\n\treturn a+b+(g[0])+(g.length);\n}\n\nfunction divide(a,b){\n\treturn a/b;\n}","inputLang":"javascript","outputLang":"python"}:123

JS throw

Error: Parse error on line 2:
...ERROR() {    throw "TheLanguage PANIC";
----------------------^
Expecting ';', '(', ')', '=', '++', '--', '%=', '+=', '-=', '*=', '/=', '.', '[', got 'STRING_LITERAL'

JS->PHP closure

var x=0;
var g=(function(){return x;});
$x=0;
$g=(function(){
    return $x;
});

It needs use ...

function(){}

Error: Parse error on line 3:
...b=1;c=(function(){});
---------------------^
Expecting 'class', 'IDENTIFIER', '{', 'switch', '(', 'while', 'do', 'for', 'var', 'if', 'function', 'import', 'STRING_LITERAL', 'continue', 'return', 'yield', 'const', '[', 'new', 'NUMBER', got '}' javascript_parser.js:323:21

Link to Prolog transpiler is broken

The README says:

The original version of this translator was written in JavaScript, but a better version has been written in Prolog.

The link to the Prolog file yields 404: Not found.

Lua `return`

Lua `a.b`

https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#%7B%22inputText%22%3A%22local%20a%3D%7B%7D%5Cna.b%3D0%22%2C%22inputLang%22%3A%22lua%22%2C%22outputLang%22%3A%22java%22%7D

Error: Parse error on line 2:
local a={}a.b=0
-------------^
Expecting 'EOF', 'while', 'do', 'end', 'repeat', 'for', ',', 'IDENTIFIER', '(', ')', 'if', 'then', 'function', 'return', 'local', '.', 'or', 'and', '<=', '<', '>=', '==', '~=', '>', '+', '-', '..', '*', '/', '%', '^', '[', ']', '{', '}', 'NUMBER', 'STRING_LITERAL', 'elseif', 'else', got '=' lua_parser.js:248:21

Lua `{x,y,z,}`

JavaScript online transpiler error

Hi
I tried to translate a PHP on Java using JavaScript online transpiler and had an error on JS:
Error: Parse error on line 4:
...rInfo(); if ($a[0] != "00000") return $
----------------------^
Expecting ';', ')', ':', '=', ']', '.', '?', '||', '&&', '!==', '===', '<=', '<', '>=', '>', '+', '-', '*', '/', '->', ',', '][', got 'INVALID' ph
The code below, however, doesn't works as expected:
function allData($dbh,$query) {
$sth = $dbh->prepare($query);
$a = $dbh->errorInfo();
if ($a[0] != "00000") return $query . ' SqlError '. $a[2];
$sth->execute();
return $sth->fetchAll(PDO::FETCH_ASSOC);
}
if (!isset($_REQUEST["sql"]))
$sql = "SELECT Nome, Descrizione, Linguaggio FROM Risorse WHERE Tipo = 'Software' ORDER BY Linguaggio";
else
$sql = $_REQUEST["sql"];
$db = new PDO("sqlite:condor.sqlite");
//$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$a = allData($db,$sql);
if (is_array($a)) echo json_encode($a);
else echo "[][$a]";
$db = NULL;
best regards

axiom

https://jarble.github.io/transpiler/javascript/js_transpiler/test_parser.html#%7B%22inputText%22%3A%22z%20%3D%20Math.pow(2%2C4)%2BMath.sqrt(2)%3B%22%2C%22inputLang%22%3A%22javascript%22%2C%22outputLang%22%3A%22axiom%22%7D

Generating code: ["top_level_statements",[["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","void","var_example",[],["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]]] java_translator.js:2198:10
Generating code: ["statements",[["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]]] java_translator.js:2198:10
Generating code: ["initialize_var","boolean","i",["==",[".",["1"]],[".",["3"]]]] java_translator.js:2198:10
Generating code: ["==",[".",["1"]],[".",["3"]]] java_translator.js:2198:10
Generating code: [".",["1"]] java_translator.js:2198:10
Generating code: [".",["3"]] java_translator.js:2198:10
Generating code: ["top_level_statements",[["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","Object","var_example",[],["semicolon",["set_var","i",["==",["1"],["3"]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["set_var","i",["==",["1"],["3"]]]] java_translator.js:2198:10
Generating code: ["set_var","i",["==",["1"],["3"]]] java_translator.js:2198:10
Generating code: "i" java_translator.js:2198:10
Generating code: ["==",["1"],["3"]] java_translator.js:2198:10
Generating code: ["1"] java_translator.js:2198:10
Generating code: "1" java_translator.js:2198:10
Generating code: ["3"] java_translator.js:2198:10
Generating code: "3" java_translator.js:2198:10
Generating code: ["top_level_statements",[["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","void","print_example",[["int","to_print"]],["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]]] java_translator.js:2198:10
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["to_print"]]]]]]] java_translator.js:2198:10
Generating code: [".",["System","out",["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2198:10
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["to_print"]]]]]] java_translator.js:2198:10
Generating code: [".",["to_print"]] java_translator.js:2198:10
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1963:10
Unparsing: "$a" java_translator.js:1963:10
Generating code: [".",["to_print"]] java_translator.js:2198:10
Unparsed: to_print java_translator.js:2185:11
Generating code: "to_print" java_translator.js:2198:10
Unparsed: Print[to_print] java_translator.js:2185:11
Generating code: ["top_level_statements",[["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","Object","print_example",[["Object","to_print"]],["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]]] java_translator.js:2198:10
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["to_print"]]]]] java_translator.js:2198:10
Generating code: ["return",["parentheses",["function_call","Print",["to_print"]]]] java_translator.js:2198:10
Generating code: ["parentheses",["function_call","Print",["to_print"]]] java_translator.js:2198:10
Generating code: ["function_call","Print",["to_print"]] java_translator.js:2198:10
Generating code: "to_print" java_translator.js:2198:10
Unparsing: ["function_call","print",["$a"]] java_translator.js:1963:10
Unparsing: "$a" java_translator.js:1963:10
Generating code: "to_print" java_translator.js:2198:10
Unparsed: to_print java_translator.js:2185:11
Generating code: "to_print" java_translator.js:2198:10
Unparsed: print(to_print) java_translator.js:2185:11
Generating code: ["top_level_statements",[["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","void","loop_example",[],["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["statements",[["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["lexically_scoped_vars",[["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]],["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["lexically_scoped_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2198:10
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2198:10
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2198:10
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2198:10
Generating code: [".",["1"]] java_translator.js:2198:10
Generating code: [".",["2"]] java_translator.js:2198:10
Generating code: [".",["3"]] java_translator.js:2198:10
Generating code: ["semicolon",["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]]] java_translator.js:2198:10
Generating code: ["initialize_var",["int","[]"],"i",[".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]]] java_translator.js:2198:10
Generating code: [".",[["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]]] java_translator.js:2198:10
Generating code: [["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]]] java_translator.js:2198:10
Generating code: ["initializer_list","Object",[[".",["1"]],[".",["2"]],[".",["3"]]]] java_translator.js:2198:10
Generating code: [".",["1"]] java_translator.js:2198:10
Generating code: [".",["2"]] java_translator.js:2198:10
Generating code: [".",["3"]] java_translator.js:2198:10
Setting array type: i,int,[] java_translator.js:1252:11
Setting array type: {1,2,3},int,[] java_translator.js:1252:11
Generating code: ["statements",[["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["foreach","int","j","i",["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]]] java_translator.js:2198:10
Generating code: "j" java_translator.js:2198:10
Generating code: "i" java_translator.js:2198:10
Generating code: ["statements",[["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",[".",["System","out",["function_call","println",[[".",["j"]]]]]]] java_translator.js:2198:10
Generating code: [".",["System","out",["function_call","println",[[".",["j"]]]]]] java_translator.js:2198:10
Generating code: [".",[[".",["System","out"]],["function_call","println",[[".",["j"]]]]]] java_translator.js:2198:10
Generating code: [".",["j"]] java_translator.js:2198:10
Unparsing: ["function_call","Print",["$a"]] java_translator.js:1963:10
Unparsing: "$a" java_translator.js:1963:10
Generating code: [".",["j"]] java_translator.js:2198:10
Unparsed: j java_translator.js:2185:11
Generating code: "j" java_translator.js:2198:10
Unparsed: Print[j] java_translator.js:2185:11
Generating code: ["top_level_statements",[["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["function","public","Object","loop_example",[],["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["statements",[["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]],["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]]] java_translator.js:2198:10
Generating code: ["set_var","i",["initializer_list","Object",[["1"],["2"],["3"]]]] java_translator.js:2198:10
Generating code: "i" java_translator.js:2198:10
Generating code: ["initializer_list","Object",[["1"],["2"],["3"]]] java_translator.js:2198:10
Generating code: ["1"] java_translator.js:2198:10
Generating code: "1" java_translator.js:2198:10
Generating code: ["2"] java_translator.js:2198:10
Generating code: "2" java_translator.js:2198:10
Generating code: ["3"] java_translator.js:2198:10
Generating code: "3" java_translator.js:2198:10
Generating code: ["foreach","Object","j","i",["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]]] java_translator.js:2198:10
Generating code: "j" java_translator.js:2198:10
Generating code: "i" java_translator.js:2198:10
Generating code: ["statements",[["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["return",["parentheses",["function_call","Print",["j"]]]]] java_translator.js:2198:10
Generating code: ["return",["parentheses",["function_call","Print",["j"]]]] java_translator.js:2198:10
Generating code: ["parentheses",["function_call","Print",["j"]]] java_translator.js:2198:10
Generating code: ["function_call","Print",["j"]] java_translator.js:2198:10
Generating code: "j" java_translator.js:2198:10
Unparsing: ["function_call","print",["$a"]] java_translator.js:1963:10
Unparsing: "$a" java_translator.js:1963:10
Generating code: "j" java_translator.js:2198:10
Unparsed: j java_translator.js:2185:11
Generating code: "j" java_translator.js:2198:10
Unparsed: print(j) java_translator.js:2185:11
Generating code: ["top_level_statements",[["semicolon",["set_var","z",["+",[".",["Math",["function_call","pow",[[".",["2"]],[".",["4"]]]]]],[".",["Math",["function_call","sqrt",[[".",["2"]]]]]]]]]]] java_translator.js:2198:10
Generating code: ["semicolon",["set_var","z",["+",[".",["Math",["function_call","pow",[[".",["2"]],[".",["4"]]]]]],[".",["Math",["function_call","sqrt",[[".",["2"]]]]]]]]] java_translator.js:2198:10
Generating code: ["set_var","z",["+",[".",["Math",["function_call","pow",[[".",["2"]],[".",["4"]]]]]],[".",["Math",["function_call","sqrt",[[".",["2"]]]]]]]] java_translator.js:2198:10
Generating code: "z" java_translator.js:2198:10
Generating code: ["+",[".",["Math",["function_call","pow",[[".",["2"]],[".",["4"]]]]]],[".",["Math",["function_call","sqrt",[[".",["2"]]]]]]] java_translator.js:2198:10
Generating code: [".",["Math",["function_call","pow",[[".",["2"]],[".",["4"]]]]]] java_translator.js:2198:10
Generating code: [".",["2"]] java_translator.js:2198:10
Generating code: [".",["4"]] java_translator.js:2198:10
Generating code: [".",["Math",["function_call","sqrt",[[".",["2"]]]]]] java_translator.js:2198:10
Generating code: [".",["2"]] java_translator.js:2198:10
Unparsing: ["function_call","sqrt",["$a"]] java_translator.js:1963:10
Unparsing: "$a" java_translator.js:1963:10
Generating code: [".",["2"]] java_translator.js:2198:10
Unparsed: 2 java_translator.js:2185:11
Generating code: "2" java_translator.js:2198:10
uncaught exception: function_call_parameters is not defined for axiom

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.