簡(jiǎn)介
ets_frontend組件是方舟運(yùn)行時(shí)子系統(tǒng)的前端工具,結(jié)合ace-ets2bundle組件,支持將ets文件轉(zhuǎn)換為方舟字節(jié)碼文件。
ets_frontend組件架構(gòu)圖
目錄
/arkcompiler/ets_frontend/
├── test262 # test262測(cè)試配置和運(yùn)行腳本
├── testTs # 系統(tǒng)測(cè)試目錄
├── es2panda
├── aot # 邏輯入口
├── binder # 信息綁定
├── compiler # 編譯邏輯
├── ir # 字節(jié)碼生成
├── lexer # 詞法分析
├── parser # 語(yǔ)法解析,ast生成
├── scripts # 腳本目錄
├── test # 測(cè)試目錄
├── typescript # typescript支持
└── util # 工具目錄
├── ts2panda
├── doc # 文檔
├── scripts # 依賴的腳本
├── src # 源碼存放目錄
├── templates # ruby模板文件
├── tests # UT單元測(cè)試目錄
├── tools # ts2abc提供的工具
└── ts2abc # abc文件生成相關(guān)
編譯構(gòu)建
ets_frontend組件采用命令行交互方式,支持將JavaScript代碼轉(zhuǎn)換為方舟字節(jié)碼文件,使其能夠在方舟運(yùn)行時(shí)上運(yùn)行。支持Windows/Linux/MacOS平臺(tái)。方舟前端工具在linux平臺(tái)上可通過(guò)全量編譯或指定編譯前端工具鏈獲取。
$ ./build.sh --product-name rk3568 --build-target ets_frontend_build
使用說(shuō)明
es2panda使用方式
使用ets_frontend組件下的es2abc可執(zhí)行文件將JavaScript文件轉(zhuǎn)換為方舟字節(jié)碼文件
$ cd out/rk3568/clang_x64/arkcompiler/ets_frontend/
$ ./es2abc [options] file.js
當(dāng)不輸入任何option參數(shù)時(shí),默認(rèn)生成方舟二進(jìn)制文件。
[]()
[]()[]()選項(xiàng) | []()[]()描述 | []()[]()取值范圍 | []()[]()默認(rèn)值 |
---|---|---|---|
[]()[]()--debug-info | []()[]()攜帶debug信息 | []()[]()- | []()[]()- |
[]()[]()--debugger-evaluate-expression | []()[]()debugger下對(duì)輸入的base64形式的表達(dá)式求值 | []()[]()- | []()[]()- |
[]()[]()--dump-assembly | []()[]()輸出為匯編文件 | []()[]()- | []()[]()- |
[]()[]()--dump-ast | []()[]()打印解析得到的ast(抽象語(yǔ)法樹(shù)) | []()[]()- | []()[]()- |
[]()[]()--dump-debug-info | []()[]()打印debug信息 | []()[]()- | []()[]()- |
[]()[]()--dump-literal-buffer | []()[]()打印literal buffer內(nèi)容 | []()[]()- | []()[]()- |
[]()[]()--dump-size-stat | []()[]()顯示字節(jié)碼相關(guān)的統(tǒng)計(jì)信息 | []()[]()- | []()[]()- |
[]()[]()--extension | []()[]()指定輸入類型 | []()[]()['js', 'ts', 'as'] | []()[]()- |
[]()[]()--help | []()[]()幫助提示 | []()[]()- | []()[]()- |
[]()[]()--module | []()[]()按照ESM模式編譯 | []()[]()- | []()[]()- |
[]()[]()--opt-level | []()[]()指定編譯優(yōu)化等級(jí) | []()[]()['0', '1', '2'] | []()[]()0 |
[]()[]()--output | []()[]()輸出文件路徑 | []()[]()- | []()[]()- |
[]()[]()--parse-only | []()[]()只對(duì)輸入文件做解析動(dòng)作 | []()[]()- | []()[]()- |
[]()[]()--thread | []()[]()指定生成字節(jié)碼時(shí)所用的線程數(shù)目 | []()[]()0-機(jī)器支持的線程數(shù)目 | []()[]()0 |
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2352瀏覽量
42863
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論