• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1### ts2panda
2ts2panda aims to translate JavaScript source files into ARK bytecode which could be executed by the ARK runtime.
3
4The whole converter could be splited into several phases.
5* tsc(TypeScript compiler) automatically builds the AST for us
6* translate TypeScript AST into panda instruction arrays
7* apply several passes with the instruction arrays, including:
8    * [register allocator](doc/register_allocator.md)
9    * [intrinsic expander](doc/intrinsic_expander.md)
10    * [panda assembly dumper](doc/assembly_dumper.md)
11    * [panda binary dumper](doc/binary_dumper.md)
12
13### Run a case
14The whole ARK project needs to be built before running cases.
15#### dump panda binary
16```
17node --expose-gc ../../out/release/clang_x64/arkcompiler/ets_frontend/build/src/index.js <your/path/to/case_jsFile> <--> <--output> <output-filename>
18```
19#### dump panda assembly
20```
21node --expose-gc ../../out/release/clang_x64/arkcompiler/ets_frontend/build/src/index.js <your/path/to/case_jsFile> --dump-assembly
22```
23