1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ets_frontend

Введение

Инструмент ets_frontend является фронтенд-компонентом в составе Подсистемы выполнения ARK. Объединённый с компонентом ace-ets2bundle, он поддерживает преобразование файлов ETS в байткод ARK.

Дополнительная информация доступна по адресу: Подсистема выполнения ARK.

Архитектура ets_frontend

Структура директорий```

/arkcompiler/ets_frontend/ ├── test262 # скрипты для конфигурации и запуска тестов Test262 ├── testTs # системные тестовые случаи ├── test_ecma_bcopt # тестовые случаи для оптимизации байткода ├── test # тестовые случаи SDK, XTS ├── es2panda ├── aot # логический вход ├── binder # привязка информации ├── compiler # логика компиляции ├── ir # генерация байткода ├── lexer # лексический анализ ├── parser # синтаксический анализ, генерация AST ├── scripts # каталог скриптов ├── test # каталог тестов ├── typescript # поддержка TypeScript └── util # каталог инструментов ├── legacy_bin # каталог компилятора API8 ├── merge_abc ├── protos # каталог шаблонов прото ├── scripts # каталог скриптов ├── src # каталог сериализации и десериализации прото


Инструмент ets_frontend использует режим взаимодействия через командную строку и преобразует код JavaScript в байткод ARK, который может выполняться на системах ARK. Поддерживается Windows, Linux и macOS. Инструменты фронтенда, преобразующие исходный код JavaScript в байткод ARK, могут быть собраны путём указания параметра `--build-target` при использовании `ets_frontend_build` на Linux.

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


### Правила использования <a name="section33105542504"></a>

#### Конвертация JS в байткод ARK через es2abc ####

Конвертация JS в байткод ARK через es2abc

$ cd out/rk3568/clang_x64/arkcompiler/ets_frontend/ $ ./es2abc [опции] file.js


Если для **[опций]** не указано никаких параметров, по умолчанию генерируется бинарный файл ARK. 

<a name="table2035444615599"></a>```markdown
| Option | Описание | Значение | Значение по умолчанию |
| --- | --- | --- | --- |
| --debug-info | Предоставляет информацию для отладки. | - | - |
| --debugger-evaluate-expression | Оценивает выражение в базовой шестнадцатеричной системе счисления в отладчике. | - | - |
``````markdown
| Опция                          | Описание                                                                                   |
|---------------------------------|---------------------------------------------------------------------------------------------|
| --dump-assembly                 | Выводит файл ассемблера                                                                    |
| --dump-ast                      | Выводит распарсенный AST (абстрактное синтаксическое дерево)                                |
| --dump-debug-info               | Выводит информацию отладки                                                                |
| --dump-literal-buffer           | Отображает содержимое буфера литералов                                                      |
| --dump-size-stat                | -                                                                                           |

Примечание: Исходный текст был преобразован в более удобочитаемый формат Markdown таблицы, при этом были сохранены все ключевые опции и их описание.

Отображает статистику по байткодам.

-

-

--extension

Указывает тип входного файла

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

``` Продолжение:```markdown ```

Перевод завершен, сохранены все структурные элементы и форматирование исходного текста в соответствии с правилами перевода.```markdown

Опция Описание Значение
--help Отображает справочную информацию. -
--module Компилирует код на основе модуля стандарта ECMAScript. -
--opt-level Указывает уровень оптимизации компиляции. [0, 1, 2]
<tr id="row5356124655916">
<td class="cellrowborder" valign="top" width="12.898710128987101%" headers="mcps1.1.6.1.1">
<p id="p185311501910"><a name="p185311501910"></a><a name="p185311501910"></a>--output</p>
</td>
<td class="cellrowborder" valign="top" width="19.33806619338066%" headers="mcps1.1.6.1.3">
<p id="p1872818281006"><a name="p1872818281006"></a><a name="p1872818281006"></a>Задает путь к выходному файлу.</p>
</td>
<td class="cellrowborder" valign="top" width="25.82741725827417%" headers="mcps1.1.6.1.4">
<p id="p73281733408"><a name="p73281733408"></a><a name="p73281733408"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="35.066493350664935%" headers="mcps1.1.6.1.5">
<p id="p77537511606"><a name="p77537511606"></a><a name="p77537511606"></a>-</p>
</td>
</tr>
<tr id="row1335654635915">
<td class="cellrowborder" valign="top" width="12.898710128987101%" headers="mcps1.1.6.1.1">
<p id="p175213504115"><a name="p175213504115"></a><a name="p175213504115"></a>--parse-only</p>
</td>
<td class="cellrowborder" valign="top" width="19.33806619338066%" headers="mcps1.1.6.1.3">
<p id="p20729728003"><a name="p20729728003"></a><a name="p20729728003"></a>Обрабатывает входной файл только для парсинга.</p>
</td>
<td class="cellrowborder" valign="top" width="25.82741725827417%" headers="mcps1.1.6.1.4">
<p id="p4328533205"><a name="p4328533205"></a><a name="p4328533205"></a>-</p>
</td>
<td class="cellrowborder" valign="top" width="35.066493350664935%" headers="mcps1.1.6.1.5">
<p id="p175385118014"><a name="p175385118014"></a><a name="p175385118014"></a>-</p>
</td>
</tr>
<tr id="row1335654635915">
<td class="cellrowborder" valign="top" width="12.898710128987101%" headers="mcps1.1.6.1.1">
<p id="p175213504115"><a name="p175213504115"></a><a name="p175213504115"></a>--thread</p>
</td>
<td class Yöntem="cellrowborder" valign="top" width="19.33806619338066%" headers="mcps1.1.6.1.3">
```
Фрагмент был прерван, поэтому исправлено до конца доступного текста.<p id="p20729728003"><a name="p20729728003"></a><a name="p20729728003"></a>Указывает количество потоков, используемых для генерации байткода.</p>
</td>
<td class="cellrowborder" valign="top" width="25.82741725827417%" headers="mcps1.1.6.1.4">
<p id="p4328533205"><a name="p4328533205"></a><a name="p4328533205"></a>0–количество потоков, поддерживаемых вашей машиной.</p>
</td>
```<td class="cellrowborder" valign="top" width="35.066493350664935%" headers="mcps1.1.6.1.5">
<p id="p175385118014"><a name="p175385118014"></a><a name="p175385118014"></a>0</p>
</td>
</tr>
<tbody>
</tbody>
</table>Для получения дополнительной информации, пожалуйста, обратитесь к: [ARK-Runtime-Usage-Guide](https://gitee.com/openharmony/arkcompiler_ets_runtime/blob/master/docs/README.md).## Участвующие репозитории <a name="section1371113476307"></a>

[arkcompiler\_runtime\_core](https://gitee.com/openharmony/arkcompiler_runtime_core)

[arkcompiler\_ets\_runtime](https://gitee.com/openharmony/arkcompiler_ets_runtime)

**[arkcompiler\_ets\_frontend](https://gitee.com/openharmony/arkcompiler_ets_frontend)**

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Временно отсутствует описание. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkcompiler_ets_frontend.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkcompiler_ets_frontend.git
oschina-mirror
openharmony-arkcompiler_ets_frontend
openharmony-arkcompiler_ets_frontend
master