1# Overview of the ArkTS Compilation Toolchain 2 3To support the compilation of ArkTS applications, the ArkTS application SDK offers a comprehensive toolchain. This toolchain is integrated into the [Hvigor](https://developer.huawei.com/consumer/en/doc/harmonyos-guides/ide-hvigor) task orchestration tool to compile ArkTS/TS/JS source code into Ark bytecode files (*.abc). 4 5The toolchain begins with syntax transformation, including syntax check and UI transformation, during compilation process. To ensure source code security, the toolchain uses [ArkGuard](source-obfuscation.md) to obfuscate the source code. Before the bytecode is written to disk, the toolchain checks whether [custom bytecode modifications](customize-bytecode-during-compilation.md) are required. If modifications are required, custom modification code is loaded and executed. After generating the bytecode file, the [Disassembler](tool-disassembler.md) tool is used to inspect the file content. For details about the bytecode, see [Ark Bytecode File Format](arkts-bytecode-file-format.md). 6 7The ArkTS compilation toolchain provides the following functions: 8 91. Syntax check: checks whether the ArkTS/TS syntax is correct. 10 112. UI transformation: converts ArkTS UI paradigm syntax to standard TS syntax. 12 133. Source code obfuscation: uses the ArkGuard tool to obfuscate the source code. You can enable this function based on service requirements. 14 154. Bytecode compilation: The Ark compiler generates Ark bytecode files (\*.abc). 16 175. Custom bytecode modification: provides an entry for you to modify bytecode before it is written to disk. 18 196. Disassembly: uses the Disassembler tool to convert bytecode into human-readable assembly instructions. 20 21The following figure shows how the ArkTS compilation toolchain builds a HAP. 22 23 24