解析では、ほとんどの場合、文脈自由言語の分析を理解します。コンテキストのない言語は通常の言語よりも強力であるため、パーサーは(ほとんどの場合)字句解析の仕事をすぐに行うことができます。
しかし、これはa)非常に不自然b)しばしば非効率的です。
a)について、たとえばif
式がどのように見えるかを考えると、IF expr THEN expr ELSE exprではなく、「i」「f」ではなく、いくつかのスペース、式が始まることができる文字などが考えられます考え。
b)には、識別子、リテラル、あらゆる種類のブラケットなど、字句エンティティを認識する優れた仕事をする強力なツールがあります。それらは、ほとんど時間をかけずに作業を行い、素敵なインターフェイスを提供します:トークンのリスト。パーサーのスペースをスキップする心配はもうありません。パーサーが文字ではなくトークンを処理する場合、パーサーはより抽象的になります。
結局のところ、パーサーが低レベルのもので忙しいと思うなら、なぜ文字を処理するのですか?ビットレベルでも書くことができます!ご存知のように、ビットレベルで動作するこのようなパーサーはほとんど理解できません。文字とトークンについても同じです。
ちょうど2セントです。