├── .github └── workflows │ └── continuous-integration.yml ├── .gitignore ├── LICENSE ├── README.md ├── dist └── benchmark │ └── index.html ├── package.json ├── src ├── benchmark │ ├── benchmark.ts │ ├── cases │ │ ├── count_primes.cpp │ │ ├── count_primes.d.ts │ │ ├── count_primes.js │ │ ├── fibonacci.cpp │ │ ├── fibonacci.d.ts │ │ ├── fibonacci.js │ │ ├── gcd.cpp │ │ ├── gcd.d.ts │ │ ├── gcd.js │ │ ├── mergesort_double.cpp │ │ ├── mergesort_double.d.ts │ │ ├── mergesort_double.js │ │ ├── mergesort_integer.cpp │ │ ├── mergesort_integer.d.ts │ │ ├── mergesort_integer.js │ │ ├── newtons_method.cpp │ │ ├── newtons_method.d.ts │ │ ├── newtons_method.js │ │ ├── quicksort_double.cpp │ │ ├── quicksort_double.d.ts │ │ ├── quicksort_double.js │ │ ├── quicksort_integer.cpp │ │ ├── quicksort_integer.d.ts │ │ ├── quicksort_integer.js │ │ ├── sum_array_double.cpp │ │ ├── sum_array_double.d.ts │ │ ├── sum_array_double.js │ │ ├── sum_array_integer.cpp │ │ ├── sum_array_integer.d.ts │ │ └── sum_array_integer.js │ ├── index.ts │ └── measurement_hooks.ts ├── call_wrapper.ts ├── generator │ ├── declaration_visitor.ts │ ├── generator.ts │ ├── generator_visitor.ts │ ├── memory_access_visitor.ts │ ├── type_inference_visitor.ts │ └── wasm_type.ts ├── js2wasm.ts ├── null_transpiler_hooks.ts ├── parser │ └── parser.ts ├── transpiler.ts ├── transpiler_hooks.ts └── visitor.ts ├── test ├── time_limited │ ├── node_benchmark_hooks.ts │ └── transpiler_test.ts ├── transpiler │ ├── transpiler_array_test.ts │ ├── transpiler_binary_operator_test.ts │ ├── transpiler_call_types_test.ts │ ├── transpiler_double_array_test.ts │ ├── transpiler_double_test.ts │ ├── transpiler_for_test.ts │ ├── transpiler_function_test.ts │ ├── transpiler_if_statement_test.ts │ ├── transpiler_literal_test.ts │ ├── transpiler_unary_operator_test.ts │ ├── transpiler_variable_test.ts │ └── transpiler_while_loop_test.ts └── webassembly_type │ └── common_number_type_test.ts ├── tsconfig.json ├── tslint.json └── webpack.config.js /.github/workflows/continuous-integration.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/.github/workflows/continuous-integration.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/README.md -------------------------------------------------------------------------------- /dist/benchmark/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/dist/benchmark/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/package.json -------------------------------------------------------------------------------- /src/benchmark/benchmark.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/benchmark.ts -------------------------------------------------------------------------------- /src/benchmark/cases/count_primes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/count_primes.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/count_primes.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/count_primes.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/count_primes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/count_primes.js -------------------------------------------------------------------------------- /src/benchmark/cases/fibonacci.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/fibonacci.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/fibonacci.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/fibonacci.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/fibonacci.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/fibonacci.js -------------------------------------------------------------------------------- /src/benchmark/cases/gcd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/gcd.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/gcd.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/gcd.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/gcd.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/gcd.js -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_double.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_double.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_double.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_double.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_double.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_double.js -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_integer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_integer.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_integer.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_integer.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/mergesort_integer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/mergesort_integer.js -------------------------------------------------------------------------------- /src/benchmark/cases/newtons_method.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/newtons_method.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/newtons_method.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/newtons_method.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/newtons_method.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/newtons_method.js -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_double.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_double.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_double.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_double.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_double.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_double.js -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_integer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_integer.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_integer.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_integer.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/quicksort_integer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/quicksort_integer.js -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_double.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_double.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_double.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_double.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_double.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_double.js -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_integer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_integer.cpp -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_integer.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_integer.d.ts -------------------------------------------------------------------------------- /src/benchmark/cases/sum_array_integer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/cases/sum_array_integer.js -------------------------------------------------------------------------------- /src/benchmark/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/index.ts -------------------------------------------------------------------------------- /src/benchmark/measurement_hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/benchmark/measurement_hooks.ts -------------------------------------------------------------------------------- /src/call_wrapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/call_wrapper.ts -------------------------------------------------------------------------------- /src/generator/declaration_visitor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/declaration_visitor.ts -------------------------------------------------------------------------------- /src/generator/generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/generator.ts -------------------------------------------------------------------------------- /src/generator/generator_visitor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/generator_visitor.ts -------------------------------------------------------------------------------- /src/generator/memory_access_visitor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/memory_access_visitor.ts -------------------------------------------------------------------------------- /src/generator/type_inference_visitor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/type_inference_visitor.ts -------------------------------------------------------------------------------- /src/generator/wasm_type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/generator/wasm_type.ts -------------------------------------------------------------------------------- /src/js2wasm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/js2wasm.ts -------------------------------------------------------------------------------- /src/null_transpiler_hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/null_transpiler_hooks.ts -------------------------------------------------------------------------------- /src/parser/parser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/parser/parser.ts -------------------------------------------------------------------------------- /src/transpiler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/transpiler.ts -------------------------------------------------------------------------------- /src/transpiler_hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/transpiler_hooks.ts -------------------------------------------------------------------------------- /src/visitor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/src/visitor.ts -------------------------------------------------------------------------------- /test/time_limited/node_benchmark_hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/time_limited/node_benchmark_hooks.ts -------------------------------------------------------------------------------- /test/time_limited/transpiler_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/time_limited/transpiler_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_array_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_array_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_binary_operator_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_binary_operator_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_call_types_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_call_types_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_double_array_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_double_array_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_double_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_double_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_for_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_for_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_function_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_function_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_if_statement_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_if_statement_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_literal_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_literal_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_unary_operator_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_unary_operator_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_variable_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_variable_test.ts -------------------------------------------------------------------------------- /test/transpiler/transpiler_while_loop_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/transpiler/transpiler_while_loop_test.ts -------------------------------------------------------------------------------- /test/webassembly_type/common_number_type_test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/test/webassembly_type/common_number_type_test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/tslint.json -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InverseIntegral/js2wasm/HEAD/webpack.config.js --------------------------------------------------------------------------------