鸿蒙开发学习:【ets_frontend组件】

电子说

1.2w人已加入

描述

简介

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 rk3568 --build-target ets_frontend_build

使用说明

es2panda使用方式

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

$ cd out/rk3568/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

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分