1 Star 0 Fork 495

churkinaleksey/arkcompiler_ets_frontend

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

ets_frontend组件

简介

ets_frontend组件是方舟运行时子系统的前端工具,结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件。

更多信息请参考:方舟运行时子系统

ets_frontend组件架构图

目录

/arkcompiler/ets_frontend/
├── test262            # test262测试配置和运行脚本
├── testTs             # 系统测试目录
├── es2panda
    ├── aot            # 逻辑入口
    ├── binder         # 信息绑定
    ├── compiler       # 编译逻辑
    ├── ir             # 字节码生成
    ├── lexer          # 词法分析
    ├── parser         # 语法解析,ast生成
    ├── scripts        # 脚本目录
    ├── test           # 测试目录
    ├── typescript     # typescript支持
    └── util           # 工具目录
├── ts2panda
    ├── doc            # 文档
    ├── scripts        # 依赖的脚本
    ├── src            # 源码存放目录
    ├── templates      # ruby模板文件
    ├── tests          # UT单元测试目录
    ├── tools          # ts2abc提供的工具
    └── ts2abc         # abc文件生成相关

编译构建

ets_frontend组件采用命令行交互方式,支持将JavaScript代码转换为方舟字节码文件,使其能够在方舟运行时上运行。支持Windows/Linux/MacOS平台。方舟前端工具在linux平台上可通过全量编译或指定编译前端工具链获取。

$ ./build.sh --product-name hispark_taurus_standard --build-target ets_frontend_build

使用说明

es2panda使用方式

使用ets_frontend组件下的es2abc可执行文件将JavaScript文件转换为方舟字节码文件

$ cd out/hispark_taurus/clang_x64/arkcompiler/ets_frontend/
$ ./es2abc [options] file.js

当不输入任何option参数时,默认生成方舟二进制文件。

选项

描述

取值范围

默认值

--debug-info

携带debug信息

-

-

--debugger-evaluate-expression

debugger下对输入的base64形式的表达式求值

-

-

--dump-assembly

输出为汇编文件

-

-

--dump-ast

打印解析得到的ast(抽象语法树)

-

-

--dump-debug-info

打印debug信息

-

-

--dump-literal-buffer

打印literal buffer内容

-

-

--dump-size-stat

显示字节码相关的统计信息

-

-

--extension

指定输入类型

['js', 'ts', 'as']

-

--help

帮助提示

-

-

--module

按照ESM模式编译

-

-

--opt-level

指定编译优化等级

['0', '1', '2']

0

--output

输出文件路径

-

-

--parse-only

只对输入文件做解析动作

-

-

--thread

指定生成字节码时所用的线程数目

0-机器支持的线程数目

0

ts2panda使用方式

安装nodenpm

使用ets_frontend组件将JavaScript文件转换为方舟字节码文件

$ cd out/hispark_taurus/clang_x64/arkcompiler/ets_frontend/build
$ npm install
$ node --expose-gc src/index.js [options] file.js

当不输入任何option参数时,默认生成方舟二进制文件。

选项

缩写

描述

取值范围

默认值

--commonjs

-c

按照commonjs模式编译

-

-

--modules

-m

按照ESM模式编译

-

-

--debug-log

-l

使能log信息

-

-

--dump-assembly

-a

输出为汇编文件

-

-

--debug

-d

携带debug信息

-

-

--show-statistics

-s

显示字节码相关的统计信息

-

-

--output

-o

输出文件路径

-

-

--timeout

-t

超时门限

-

-

--opt-log-level

-

指定编译优化log等级

['debug', 'info', 'error', 'fatal']

error

--opt-level

-

指定编译优化等级

-

1

--help

-h

帮助提示

-

-

--bc-version

-v

输出当前字节码版本

-

-

--bc-min-version

-

输出当前支持的最低字节码版本

-

-

--included-files

-i

编译依赖的文件列表

-

-

--record-type

-p

是否记录类型信息

-

true

--dts-type-record

-q

记录.d.ts文件的类型信息

-

false

--debug-type

-g

打印记录的类型信息

-

false

--output-type

-

设置输出类型

-

false

更多使用说明请参考:方舟运行时使用指南

相关仓

arkcompiler_runtime_core

arkcompiler_ets_runtime

arkcompiler_ets_frontend

空文件

简介

暂无描述 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/churkinaleksey/arkcompiler_ets_frontend.git
git@gitee.com:churkinaleksey/arkcompiler_ets_frontend.git
churkinaleksey
arkcompiler_ets_frontend
arkcompiler_ets_frontend
OpenHarmony-v4.0-Release

搜索帮助