Loading article…
コンピュータサイエンスにおいて、スキャナレス構文解析(レクサレス構文解析とも呼ばれる)は、トークン化(文字ストリームを単語に分割すること)と構文解析(単語を句に並べること)を、レクサと構文解析を並行して実行するパイプラインに分割するのではなく、単一のステップで実行します。言語文法がスキャナレスであるのは、言語の語彙レベル(単語レベル)と句レベルの両方の構造を表現するために単一の形式体系を使用する場合です。
処理を字句解析器と構文解析器に分割する方がモジュール化が進みます。スキャナレス構文解析は、字句解析器と構文解析器の明確な区別が不要な場合や望ましくない場合に主に用いられます。この方法が適切な例としては、TeX、ほとんどのWiki文法、Makefile、シンプルなアプリケーション固有のスクリプト言語、Rakuなどが挙げられます。