| 開発者 | インリア |
|---|---|
| タイプ | ジェネレータ |
| ライセンス | セシル |
| Webサイト | ソースup.renater.fr/projects/syntax |
コンピュータサイエンスにおいて、SYNTAXは、あらゆる種類の文脈自由文法(CFG) および一部の文脈文法のクラスに対して、語彙および構文解析器 (パーサー) (決定論的および非決定論的) を生成するために使用されるシステムです。 [引用が必要]フランスのINRIAで数十年にわたって開発され、主に Pierre Boullier によって開発されましたが、2007 年からはフリーソフトウェアになりました。SYNTAX はCeCILLライセンスに基づいて配布されています。[引用が必要]
文脈に依存しない解析
SYNTAX は、ほとんどのクラスの決定論的(一義的)文法(LR、LALR、RLR)と一般的な文脈自由文法を処理します。決定論的バージョンは操作コンテキスト(Ada [1]など)で使用されており、現在はコンパイルのドメインでも使用されています。[2]非決定論的機能には、自然言語処理に使用される Earley パーサージェネレーターが含まれます。[3] SYNTAX によって生成されたパーサーには、強力なエラー回復メカニズムが含まれており、抽象ツリーまたは共有解析フォレストでセマンティックアクションと属性評価を実行できます。
文脈解析
SYNTAX の現在のバージョン (バージョン 6.0 ベータ) には、自然言語処理やバイオインフォマティクスに使用される他の形式のためのパーサー ジェネレーターも含まれています。これらの形式は、文脈依存形式 ( TAG、 RCG ) または文脈自由文法に依存し、特に自然言語処理用の属性評価によって拡張された形式 ( LFG ) です。
エラー回復
SYNTAXの優れた機能(Lex / Yaccと比較して)は、余分な文字やトークンを削除したり、不足している文字やトークンを挿入したり、文字やトークンを並べ替えたりすることで、語彙や構文のエラーから自動的に回復する組み込みアルゴリズム[4]です。このアルゴリズムにはデフォルトの動作があり、レクサーとパーサーが構築されている言語に合わせてカスタムの回復ルールセットを提供することで変更できます。
参考文献
- ^ ADA 言語の最初のツール トランスレータは、ADA の歴史に関するこのページで紹介されているように、SYNTAX を使用して Pierre Boullier らによって開発されました。Pierre Boullier と Knut Ripken も参照してください。メタコンパイル メソッドに従った Ada コンパイラの構築。Séminaires Langages et Traducteurs 1978-1981、99-140 ページ。INRIA、Rocquencourt、フランス、1981 年。
- ^例えば、 INRIAの VASY チームと CONVECS チームによって、特に CADP と Traian の開発に携わっています。
- ^ 例えば、この論文で最初のバージョンについて説明されている SxLFG パーサーなど。
- ^ Pierre BoullierとMartin Jourdan。語彙と構文解析のための新しいエラー修復および回復方式。コンピュータプログラミングの科学9(3):271-286(1987)。
外部リンク
- (フランス語) SYNTAX ウェブサイト
- SYNTAX と TRAIAN を使用したコンパイラの構築に関する論文 (Compiler Construction'02 カンファレンス)
