パーサージェネレータの比較

これは、さまざまな言語クラスの 注目すべきレクサー ジェネレーターパーサー ジェネレーターのリストです。

正規言語

正規言語は、正規表現から構築された状態機械(より具体的には、決定性有限オートマトンまたは非決定性有限オートマトン)によって照合可能な言語のカテゴリ(チョムスキー型3と呼ばれることもあります)です。特に、正規言語は「AはBに続く」、「AまたはB」、「Aの後に0個以上のBが続く」といった構成を照合できますが、「Aのいくつかのインスタンスの後に同じ数のBのインスタンスが続く」といった、隣接しない要素間の一貫性を要求する構成を照合することはできません。また、再帰的な「ネスト」(「すべてのAの後に、対応するBが続く」)の概念も表現できません。正規文法が扱えない問題の典型的な例としては、与えられた文字列に正しくネストされた括弧が含まれているかどうかという問題があります。(これは通常、チョムスキー型2文法(文脈自由文法とも呼ばれます)によって処理されます。)

名前レクサーアルゴリズム出力言語文法、コード開発プラットフォームライセンス
アレックスDFAハスケル混合全てフリー、BSD
アノフレックスDFAジャワ混合Java仮想マシンフリー、BSD
アスターDFAテーブル駆動、分岐ありC++文法のみ(実践)全て無料、MIT
オースティンXDFAジャワ全てフリー、BSD
C# フレックスDFAC#混合.NET の CLR無料、GNU GPL
C# レックスDFAC#混合.NET の CLR?
クックCCDFAジャワ混合Java仮想マシン無料、Apache 2.0
DFADFA圧縮行列CC++Windows、Visual StudioBSD
イルカDFAC++全て独自の
フレックスDFAテーブル駆動CC++混合全てフリー、BSD
ジェレックスDFAエッフェル混合エッフェル無料、MIT
ゴレックスDFA行く混合行くフリー、BSDスタイル
gplexDFAC#混合.NET の CLRフリー、BSDライク
JフレックスDFAジャワ混合Java仮想マシンフリー、BSD
JLexDFAジャワ混合Java仮想マシンフリー、BSDライク
レックスDFAC混合POSIX部分的、独自CDDL
レクサートルDFAC++?全て無料、GNU LGPL
クエックスDFAダイレクトコードCC++混合全て無料、GNU LGPL
ラゲルDFAGoCC++Javaアセンブリ混合全てフリー、GNU GPLMIT [ 1 ] [ 2 ]
RE/フレックスDFA直接コード、DFA テーブル駆動、NFA正規表現ライブラリC++混合全てフリー、BSD
re2cDFAダイレクトコードCC++GoRust混合全て無料、パブリックドメイン

決定論的文脈自由言語

文脈自由言語は、一連の置換規則によってマッチングできる言語のカテゴリ(チョムスキー型2と呼ばれることもあります)です。各置換規則は、基本的に各非終端要素を一連の終端要素および/または他の非終端要素にマッピングします。このタイプの文法は、正規文法でマッチングできるものすべてにマッチングでき、さらに、再帰的な「ネスト」(「すべてのAの後には、対応するBが続く」)の概念(たとえば、与えられた文字列に正しくネストされた括弧が含まれているかどうかなど)を扱うことができます。ただし、文脈自由文法の規則は純粋に局所的であるため、「関数で使用されるすべての変数の宣言は存在するか?」などの非局所的な分析を必要とする質問には対応できません。技術的にこれを行うには、チョムスキー型1文法(文脈依存文法とも呼ばれます)などのより高度な文法が必要になります。ただし、文脈自由文法用のパーサージェネレーターは、多くの場合、ユーザー記述コードが限定的な文脈依存性を導入する機能をサポートしています。(たとえば、変数宣言に遭遇すると、ユーザー記述コードは変数の名前と型を外部データ構造に保存し、後でパーサーによって検出された変数参照と照合することができます。)

決定性文脈自由言語は、決定性プッシュダウンオートマトンによって効率的に解析できる文脈自由言語の適切なサブセットです。

名前解析アルゴリズム入力文法表記出力言語文法、コードレクサー開発プラットフォームIDEライセンス
アントラー4適応型LL(*) [ 3 ]EBNFC#JavaPythonJavaScriptC++SwiftGoPHP生成されたJava仮想マシンはいフリー、BSD
アントラー3LL(*)EBNFActionScriptAda95CC++C#JavaJavaScriptObjective-CPerlPythonRuby混合生成されたJava仮想マシンはいフリー、BSD
APG再帰下降バックトラックABNFPythonJavaScriptCJavaなし全ていいえフリー、BSD
ビーバー[ 4 ] [ 5 ]LALR (1)EBNFジャワ混合外部のJava仮想マシンいいえフリー、BSD
バイソンLALR (1)、LR (1)、IELR (1)、GLRヤックCC++DJava混合外部の全ていいえフリー、例外ありの GNU GPL
BtYaccバックトラックボトムアップ?C++混合外部の全ていいえ無料、パブリックドメイン
byaccLALR (1)ヤックC混合外部の全ていいえ無料、パブリックドメイン
CL-ヤック[ 6 ] [ 7 ]LALR (1)Lispコモンリスプ混合外部の全ていいえ無料、MIT
ココ/RLL (1) + 意味述語EBNFCC++C#F#JavaAdaObject PascalDelphiModula-2OberonRubySwiftUniconVisual Basic .NET混合生成されたJava仮想マシン.NETフレームワーク、WindowsPOSIX(出力言語によって異なります)いいえ無料、GNU GPL
CppCC [ 8 ] [ 9 ]LL(k)?C++混合生成されたPOSIXいいえ無料、GNU GPL
カップ[ 10 ] [ 11 ]LALR (1)?ジャワ混合外部のJava仮想マシンいいえフリー、BSDライク
エリ[ 12 ] [ 13 ]LALR (1)?C混合生成されたPOSIXいいえフリー、GNU GPLGNU LGPL
エッセンス[ 14 ]LR(?)?スキーム48混合外部の全ていいえフリー、BSD
eyapp [ 15 ]LALR (1)?パール混合外部または生成された全ていいえ自由、芸術的
ゴールド[ 16 ]LALR (1)BNFx86 アセンブリ言語ANSI CC#DJavaPascalObject PascalPythonVisual Basic 6、Visual Basic .NETVisual C++生成されたウィンドウズはい無料、zlib修正済み
姫パーサージェネレーター[ 17 ]LALR(1)、GLRBNF方言C#JavaRust生成された.NETフレームワーク、Java仮想マシンいいえ無料、GNU LGPL
ヒャック[ 18 ]LR(1)、LALR(1)、LR (0)ヤックC混合外部の全ていいえ無料、GNU GPL
JavaCC [ 19 ] [ 20 ]LL(k)EBNFJavaC++JavaScript ( GWTコンパイラ経由)[ 21 ]混合生成されたJava仮想マシンはいフリー、BSD
JFLAPLL (1)、LALR (1)?ジャワ??Java仮想マシンはい?
ジェットPAGLL(k)?C++混合生成された全ていいえ無料、GNU GPL
JS/CCLALR (1)EBNFJavaScriptJScriptECMAScript混合内部全てはいフリー、BSD
KDevelop-PG-QtLL(1)、バックトラッキング操車場?C++混合生成されたか外部すべて、KDEいいえ無料、GNU LGPL
ケルブトバックトラッキングLALR(1)?C++混合生成されたPOSIXいいえ無料、GNU GPL
kmyaccLALR (1)?CJavaPerlJavaScript混合外部の全ていいえ無料、GNU GPL
ラップLALR (1)?CC++C#JavaJavaScript混合生成されたJava仮想マシンいいえ無料、GNU GPL
ラークLALR(1)、アーリー(SPPF)EBNFPythonJavaScript混合生成された全てはい無料、MIT
レモンLALR (1)BNF方言[ 22 ]C混合外部の全ていいえ無料、パブリックドメイン
レザー[ 23 ] [ 24 ] [ 25 ]LR(1)、GLREBNF方言JavaScript生成されたNode.jsJavaScriptいいえ無料、MIT
ライムLALR (1)?PHP混合外部の全ていいえ無料、GNU GPL
リサLR (?)、LL (?)、LALR (?)、SLR (?)?ジャワ混合生成されたJava仮想マシンはい無料、パブリックドメイン
LLgenLL (1)?C混合外部のPOSIXいいえフリー、BSD
LLネクストジェンLL (1)?C混合外部の全ていいえ無料、GNU GPL
LLLPGLL (k) +統語的述語と意味的述語ANTLRのようなC#混合生成された(?).NETフレームワーク、Monoビジュアルスタジオ無料、GNU LGPL
LPGバックトラッキングLALR(k)?ジャワ混合生成されたJava仮想マシンいいえ無料、プレミアリーグ
LRSTAR [ 26 ]LALR(1)、LALR(*)YACC、ANTLR、EBNFC++生成されたウィンドウズビジュアルスタジオフリー、BSD
メンヒルLR (1)?OCaml混合生成された全ていいえ無料、QPL
ML-YaccLALR (1)?ML混合外部の全ていいえ?
LR (1)?ジャワ生成されたJava仮想マシンいいえ無料、GNU GPL
ムスタLALR (k), LR (k)YACCEBNFCC++混合外部または生成されたPOSIXCygwinいいえ無料、GNU GPL
MTP (解析以上のもの)LL (1)?ジャワ生成されたJava仮想マシンいいえ無料、GNU GPL
マイパーサーLL(*)マークダウンC++11内部標準のC++11コンパイラを備えたものいいえ無料、MIT
新改訳聖書GLRC# / BNFライクC#混合混合.NETフレームワークいいえ無料、MIT
ocamlyaccLALR (1)?OCaml混合外部の全ていいえ無料、QPL
オレックスLL (1)?C++混合生成された全ていいえ無料、GNU GPL
パーセクLLバックトラックハスケルハスケル混合なし全ていいえフリー、BSD
ヤップ[ 15 ]LALR (1)?パール混合外部の全ていいえ無料、GNU GPL
パーサーオブジェクトLL(k)?ジャワ混合?Java仮想マシンいいえ無料、zlib
PCCTSLL?CC++??全ていいえ?
プライLALR (1)BNFパイソン混合生成された全ていいえ無料、MIT
プライプラスLALR (1)EBNFパイソン生成された全ていいえ無料、MIT
プレックLL(k)?C生成されたDOSPOSIXいいえ無料、GNU GPL
QLALRLALR (1)?C++混合外部の全ていいえ無料、GNU GPL
ラック[ 27 ]LALR (1) BNF風、yacc風[ 28 ]ルビー混合 ? Windows、Linux、macOS、FreeBSD、NetBSD いいえ LGPL
レックス[ 29 ]LL (1) sLL (k) LR (k) LALR (k) GLR PEG DFA文脈依存語彙EBNFC++C#JavaJavaScriptGoHaxePythonScalaTypeScriptXQueryXSLT生成された全ていいえ無料、Apacheライセンス2.0
セーブルCCLALR (1)?CC++C#JavaOCamlPython生成されたJava仮想マシンいいえ無料、GNU LGPL
SLK [ 30 ]LL (k) LR (k) LALR (k)EBNFCC++C#JavaJavaScript外部の全ていいえSLK [ 31 ]
スライ[ 32 ]LALR (1)BNFパイソン混合生成された全ていいえフリー、BSD
SP(シンプルパーサー)再帰降下パイソンパイソン生成された全ていいえ無料、GNU LGPL
精神再帰降下?C++混合内部全ていいえ無料、ブースト
スティクスLALR (1)?CC++生成された全ていいえ無料、GNU LGPL
スウィートパーサーLALR (1)?C++生成されたウィンドウズいいえ無料、zlib
タップLL (1)?C++混合生成された全ていいえ無料、GNU GPL
テキストトランスフォーマーLL(k)?C++混合生成されたウィンドウズはい独自の
タイニーPGLL (1)?C#Visual Basic??ウィンドウズはい部分的、CPOL 1.0
おもちゃパーサージェネレーター再帰降下?パイソン混合生成された全ていいえ無料、GNU LGPL
TP ヤックLALR (1)?ターボパスカル混合外部の全てはい無料、GNU GPL
ツリーシッター[ 33 ]LR(1)、GLRJavaScript DSLJSONC、バインディング(RustWebAssemblyJavaScriptPython、その他多数)生成 + 外部全てNeovimHelixGNU EmacsLapceZed無料、MIT
トンネル文法スタジオトンネル解析ABNFC++生成されたウィンドウズはい独自の
ウルトラグラムLALR(1)、LR(1)、GLRBNFC++、Java、C#、Visual Basic .NET外部のウィンドウズはい無料、パブリックドメイン
ユニCCLALR (1)EBNFCC++PythonJavaScriptJSONXML混合生成されたPOSIXいいえフリー、BSD
アーチンCCLL (1)?ジャワ?生成されたJava仮想マシンいいえ?
ヤックAT&T /サンLALR (1)ヤックC混合外部のPOSIXいいえ無料、CPLCDDL
ヤック++LR (1)、LALR (1)ヤックC++C#混合生成されたか外部全ていいえ独自の
ヤップスLL (1)?パイソン混合生成された全ていいえ無料、MIT
イェックLALR (1)?アーラン生成された全ていいえ無料、Apache 2.0
ビジュアルBNF [ 34 ]LR (1)、LALR (1)?C#生成された.NETフレームワークはい独自の
ユパースLR (1)、LALR (1)?C++混合外部の全ていいえ無料、MIT
解析[ 35 ]LR (1)C++型における BNF??なしC++11標準コンパイラいいえ無料、MIT
GGLLLL (1)グラフジャワ混合生成されたウィンドウズはい無料、MIT
製品解析アルゴリズム入力文法表記出力言語文法、コードレクサー開発プラットフォームIDEライセンス

構文解析式文法、決定論的ブール文法

この表は、パーサー ジェネレーターと解析式文法、決定論的ブール文法を比較します。

名前解析アルゴリズム出力言語文法、コード開発プラットフォームライセンス
オースティンXパックラット(改造)ジャワ全てフリー、BSD
オーロックスパックラットCOCamlJava混合全て無料、GNU GPL
BNFlite再帰降下C++混合全て無料、MIT
キャノピーパックラットJavaJavaScriptPythonRuby全て無料、GNU GPL
CLペグパックラットコモンリスプ混合全て無料、MIT
ちくしょう!パックラットD混合全て無料、GNU GPL
フリスビーパックラットハスケル混合全てフリー、BSD
文法::ペグパックラットTcl混合全てフリー、BSD
グラコパックラット+ カット + 左再帰PythonC++(ベータ版)全てフリー、BSD
アイアンメタパックラットC#混合ウィンドウズフリー、BSD
ラジャ2フェーズのスキャナレストップダウンバックトラッキング+ ランタイムサポートジャワ全て無料、GNU GPL
lars::パーサーPackrat(左再帰と文法の曖昧さをサポート)C++同一全てフリー、BSD
LPeg解析マシンルア混合全て無料、MIT
ラグ解析マシンC++17混合全て無料、MIT
ねずみ再帰的下降(修正された限定的なメモ化と左再帰)ジャワJava仮想マシン無料、Apache 2.0
イッカクパックラットC混合POSIXWindowsフリー、BSD
ニアリーアーリーJavaScript混合全て無料、MIT
ネメル・ペグ再帰降下法 + プラットネメルル全てフリー、BSD
ネオトーマパックラットアーラン全て無料、MIT
ネズ[ 36 ]解析マシンJavaCJava仮想マシンフリー、BSD
NPEG再帰降下C#混合全て無料、MIT
OメタPackrat(修正版、部分的なメモ化)JavaScriptSqueakPython混合全て無料、MIT
パックCCPackrat(修正版、左再帰サポート)C混合全て無料、MIT
パックラットパックラットスキーム混合全て無料、MIT
パピーパックラットハスケル混合全てフリー、BSD
パーボイルド再帰降下JavaScala混合Java仮想マシン無料、Apache 2.0
ラムダPEG再帰降下ジャワ混合Java仮想マシン無料、Apache 2.0
パーセップ再帰降下C++混合全て無料、パブリックドメイン
パースニップパックラットC++混合ウィンドウズ無料、GNU GPL
パターン解析マシン迅速同一全て無料、MIT
ペグ再帰降下C混合全て無料、MIT
PEG.jsPackrat(部分的なメモ化)JavaScript混合全て無料、MIT
ペギー[ 37 ]Packrat(部分的なメモ化)JavaScript混合全て無料、MIT
ペガサス再帰降下、パックラット(選択的)C#混合ウィンドウズ無料、MIT
ペグ再帰降下C混合全て無料、パブリックドメイン
害虫再帰降下さび全て無料、MITApache 2.0
プチパーサーパックラットSmalltalkJavaDart混合全て無料、MIT
ペグトル[ 38 ]再帰降下C++11C++17混合全て無料、ブースト
パーサー文法エンジン(PGE)ハイブリッド再帰降下法 / 演算子優先順位[ 39 ]パロットバイトコード混合Parrot仮想マシン自由で芸術的な2.0
PyPy rlibパックラットパイソン混合全て無料、MIT
ネズミだ!パックラットジャワ混合Java仮想マシン無料、GNU LGPL
スピリット2再帰降下C++混合全て無料、ブースト
ツリートップ再帰降下ルビー混合全て無料、MIT
ヤード再帰降下C++混合全て無料、MITまたはパブリックドメイン
ワックスアイ解析マシンCJavaJavaScriptPythonRacketRuby全て無料、MIT
PHP ペグPEG パーサー?PHP混合全てフリー、BSD

一般的な文脈自由言語、論理積言語、ブール言語

この表は、パーサー ジェネレーター言語を、一般的な文脈自由文法連言文法、またはブール文法と比較します。

名前解析アルゴリズム入力文法表記出力言語文法、コードレクサー開発プラットフォームIDEライセンス
アクセントアーリーYaccバリアントC混合外部の全ていいえ無料、GNU GPL
アページドGLRLALR(1)、LL(k)?D混合生成された全ていいえ自由、芸術的
バイソンLALR (1)、LR (1)、IELR (1)、GLRヤックCC++D[ 40 ] JavaXMLXMLを除く混合外部の全ていいえ無料、GNU GPL
DMS ソフトウェア リエンジニアリング ツールキットGLR?パランセ混合生成されたウィンドウズいいえ独自の
DParserスキャナーレスGLR?C混合スキャナーレスPOSIXいいえフリー、BSD
ディプゲンランタイム拡張可能なGLR?OCaml混合生成された全ていいえ無料、CeCILL -B
E3アーリー?OCaml混合外付け、またはスキャナーレス全ていいえ?
エルクハウンドGLR?C++OCaml混合外部の全ていいえフリー、BSD
GDKLALR(1)、GLR?CLexHaskellHTMLJavaObject PascalYacc混合生成されたPOSIXいいえ無料、MIT
ハッピーLALRGLR?ハスケル混合外部の全ていいえフリー、BSD
姫パーサージェネレーターGLR?C#JavaRust生成された.NETフレームワーク、Java仮想マシンいいえ無料、GNU LGPL
IronTextライブラリLALR(1)、GLRC#C#混合生成されたか外部.NETフレームワークいいえ無料、Apache 2.0
ジソンLALR(1)、LR(0)、SLR(1)ヤックJavaScriptC#PHP混合生成された全ていいえ無料、MIT
構文LALR (1)、LR (0)、SLR (1) 、 CLR (1)、LL (1)JSON /ヤックJavaScriptPythonPHPRubyC++C#RustJava混合生成された全ていいえ無料、MIT
ラジャスキャナーレス、2相ラジャジャワスキャナーレス全ていいえ無料、GNU GPL
モデルCCアーリー注釈付きクラスモデルジャワ生成された生成された全ていいえフリー、BSD
P3アーリー結合子BNFのようなOCaml混合外付け、またはスキャナーレス全ていいえ?
P4アーリー結合子、無限CFGBNFのようなOCaml混合外付け、またはスキャナーレス全ていいえ?
スキャナレスブールパーサースキャナレスGLRブール文法?HaskellJavaスキャナーレスJava仮想マシンいいえフリー、BSD
自衛隊/SGLRスキャナーレスGLR自衛隊CJavaスキャナーレス全てはいフリー、BSD
スマCCGLR (1)、LALR (1)、LR (1)?雑談混合内部全てはい無料、MIT
スパークアーリー?パイソン混合外部の全ていいえ無料、MIT
トムGLR?C生成されたなし全ていいえ無料、「ライセンスや著作権の制限なし」
ウルトラグラムLALRLRGLR?C++C#JavaVisual Basic .NET生成されたウィンドウズはい独自の
ワームホール剪定LRGLRスキャナーレスGLR?CPython混合スキャナーレスウィンドウズいいえ無料、MIT
クジラの子一般表形式、SLL(k)、線形正規形(連言文法)、LR、二項正規形(ブール文法?C++外部の全ていいえ独自の
ヤップアーリーYaccのようなC混合外部の全ていいえ無料、GNU LGPL

文脈依存文法

この表は、パーサージェネレーターとコンテキスト依存文法を比較します。

名前解析アルゴリズム入力文法表記ブール文法能力開発プラットフォームライセンス
bnf2xml再帰降下(テキストフィルタの出力はxmlです)シンプルなBNF文法(入力マッチング)、出力はxml?ベータ版であり、完全なEBNFパーサーではない無料、GNU GPL

参照

参考文献

  1. ^ 「Ragel ステートマシン コンパイラ」
  2. ^ http://www.colm.net/open-source/ragel/
  3. ^ 「適応型LL(*)解析:動的解析の威力」(PDF) . Terence Parr . 2016年4月3日閲覧
  4. ^ Boyland, John; Spiewak, Daniel (2010-09-17). 「ツールペーパー: ScalaBison 再帰的上昇降下パーサージェネレータ」 .理論計算機科学における電子ノート. 第9回言語記述ツールとアプリケーションワークショップ (LDTA 2009) 議事録. 253 (7): 65– 74. doi : 10.1016/j.entcs.2010.08.032 . ISSN 1571-0661 . 
  5. ^ 「Beaver - LALRパーサージェネレーター」 . beaver.sourceforge.net . 2023年9月16日閲覧
  6. ^ Newton, Jim E.; Demaille, Akim; Verna, Didier (2016-05-09). 「Common Lispにおける異種シーケンスの型検査」(PDF) .第9回ヨーロッパLispシンポジウム議事録. ELS2016. クラクフ, ポーランド: ヨーロッパLisp科学活動協会: 13–20 . ISBN 978-2-9557474-0-7
  7. ^ 「CL-Yacc — Common Lisp用のLALR(1)パーサージェネレーター」 www.irif.fr . 2023年9月16日閲覧
  8. ^ Hosseinpour, Sahereh; Alavi Milani, Mir Mohammad Reza; Pehlivan, Hüseyin (2018年7月). 「数式のためのステップバイステップの解法」 . Symmetry . 10 (7): 285. Bibcode : 2018Symm...10..285H . doi : 10.3390/sym10070285 . ISSN 2073-8994 . 
  9. ^ 「CppCCのホームページ」 . cppcc.sourceforge.net . 2023年9月16日閲覧
  10. ^ 「Java Cup」 . pages.cs.wisc.edu . 2023年9月16日閲覧。
  11. ^ "CUP" . www2.cs.tum.edu . 2023年9月16日閲覧。
  12. ^ Thiemann, Peter; Neubauer, Matthias (2004-12-31). 「パラメータ化されたLR構文解析」 .理論計算機科学における電子ノート. 言語記述、ツール、およびアプリケーションに関する第4回ワークショップ (LDTA 2004) の議事録. 110 : 115–132 . doi : 10.1016/j.entcs.2004.06.007 . ISSN 1571-0661 . 
  13. ^ Gray, Robert W.; Levi, Steven P.; Heuring, Vincent P.; Sloane, Anthony M.; Waite, William M. (1992). 「Eli: 完全かつ柔軟なコンパイラ構築システム」 Communications of the ACM . 35 (2): 121– 130. doi : 10.1145/129630.129637 . ISSN 0001-0782 . S2CID 5121773 .  
  14. ^ Owens, Scott; Flatt, M.; Shivers, O.; McMullan, Benjamin (2004-10-01). 「Schemeにおける字句解析器とパーサージェネレータ」(PDF) . Scheme 2004: 第5回Schemeと関数型プログラミングワークショップ議事録.
  15. ^ a b Areias, Hugo; Simões, Alberto; Henriques, P.; Cruz, Daniela Carneiro da (2010-09-01). Perlにおけるパーサー生成:概要と利用可能なツール(PDF) . コンパイラ、プログラミング言語、関連技術およびアプリケーション 2010.
  16. ^ Volkman, Victor (2007年7月19日). 「Let Your Parser Go for the GOLD」 . Developer.com . 2023年11月4日閲覧。
  17. ^ 「C#での解析:使用できるすべてのツールとライブラリ(パート2) - DZone」 . dzone.com . 2023年11月4日閲覧
  18. ^オルティン、フランシスコ;キロガ、ホセ。ロドリゲス・プリエト、オスカー。ガルシア、ミゲル (2022-03-03)。「Lex/Yacc および ANTLR パーサー生成ツールの経験的評価」プロスワン17 (3) e0264326。Bibcode : 2022PLoSO..1764326O土井10.1371/journal.pone.0264326ISSN 1932-6203PMC 8893623PMID 35239695   
  19. ^ Enseling, Oliver (2000年12月29日). 「JavaCCで独自の言語を構築する」 . InfoWorld . 2023年11月4日閲覧
  20. ^ "JavaCC" . JavaCC . 2023年11月4日閲覧
  21. ^ 「JavaCCとGWTを使ったWebパーサーの構築(パート1)」 Chris Ainsley、2014年4月14日。 2014年5月4日閲覧
  22. ^ 「The Lemon Parser Generator」 . sqlite.org . 2023年11月30日閲覧
  23. ^ 「レザーパーサーシステム」
  24. ^ 「ShopifyQLコードエディターの構築」 . Shopify . 2023年12月6日閲覧。
  25. ^ “Lezer パーサー システムのスポンサー | Tines” . www.tines.com。 2022-03-11 2023 年 12 月 6 日に取得
  26. ^ 「C++ 用の LR(*) パーサー ジェネレーター」
  27. ^ "Racc" . i.loveruby.net . 2021年11月26日閲覧。
  28. ^ 「Racc 文法ファイルリファレンス」 . i.loveruby.net . 2021年11月26日閲覧
  29. ^ 「REX パーサー ジェネレーターは、C、C++、Java、JavaScript、C#、Go、Haxe、Python、Scala、Typescript、XQuery、および XSLT をサポートしています」
  30. ^ 「SLK パーサー ジェネレーターは、C、C++、Java、JavaScript、C# をサポートし、オプションのバックトラッキングを無料で提供します」
  31. ^ http://www.slkpg.com/license.txt
  32. ^ 「SLY(スライ・レックス・ヤック)」
  33. ^ 「Tree-Sitter - プログラミングツール用の増分解析システム」
  34. ^ Adam Ślosarski (2007). 「Visual BNF – .NET Framework 向けの形式文法(LALR)とパーサー生成を定義するソフトウェアIntralogic .
  35. ^ 「Parse - C++用のコンパイル時(LR)型安全パーサージェネレーター」。GitHub 2021年12月30日。
  36. ^倉光、公雄 (2015-11-26)、Nez: 実践的なオープン文法言語arXiv : 1511.08307
  37. ^ PEG.jsのフォークをメンテナンス
  38. ^ taocpp/PEGTL、The Art of C++、2024年3月14日、 2024年3月16日取得
  39. ^ 「Parrot: 文法エンジン」。Parrot Foundation。2011年。PGEルールは、再帰下降解析と演算子優先順位解析の完全な機能を提供します。
  40. ^ 「宣言の概要(Bison 3.8.1)」www.gnu.org