ECMAScript

QML コンパイラパイプラインの最適化

Published Tuesday September 18th, 2018 | Leave a comment
Posted in Qt | Tags: , , , , , ,

この記事は The Qt Blog の Optimizing the QML compiler pipeline を翻訳したものです。 執筆: Lars Knoll, 2018年05月22日 Qt QML は Qt Quick でユーザーインターフェースを構築する際のプログラミング言語である QML を実行するためのエンジンです。Qt QML 自体には描画機能に関する依存が一切ありません。このモジュールでは、QML 言語のサポートに加え、ECMAScript 5.1 に準拠した JavaScript のエンジンを提供しています。 Qt Quick というユーザーインターフェース技術の基礎を提供するこのモジュールは、Qt のユーザーに向けた核となるものです。内部的には主に2つの要素で構成されています。QML と ECMAScript をバイナリデータ構造とバイトコード/アセンブリにコンパイルするためのコンパイラパイプラインと、そこで生成されたコードを実行するためのランタイムです。今回の記事は前者についてのものになります。 5.10 まで利用していた Qt QML のコンパイラパイプラインはここ数年の Qt のアップデートでとても複雑になってしまいました。 以下の図は簡易化した以前のコンパイラパイプラインを示したものです。 まず QML と JavaScript のコードを 字句解析器(Lexer) と 構文解析器(Parser) に送り、抽象構文木(AST) というコンパイル用のコードに変換します。この […]

Read More
Get started today with Qt Download now