📜  Lexical Analyzer在编译器中的工作

📅  最后修改于: 2021-08-25 10:56:34             🧑  作者: Mango

在本文中,我们将介绍词法分析器的工作原理,还将介绍词法分析器的基本体系结构。让我们一一讨论。

先决条件–词法分析器简介

词法分析器:

  • 这是编译器的第一阶段,称为“扫描程序” (它正在扫描程序)。
  • 词法分析器会将程序划分为一些有意义的字符串,这些字符串称为标记。

令牌类型如下:

  1. 识别码
  2. 关键词
  3. 操作员
  4. 常数
  5. 特殊符号(@,$,#)

上面是令牌的术语,它是在Lexical Analyzer中工作的关键组件。现在,在示例的帮助下,您将看到它是如何工作的。

让我们考虑下面给出的以下C程序,以了解其工作原理。

int main)(
}
x = y+z;
int x, y, z;
print("Goto GFG %d%d", a);
{ 

在第一阶段,编译器不检查语法。因此,这里将此程序作为词法分析器的输入,并将其转换为标记。因此,记号化是词法分析器的重要功能之一。

该程序的令牌总数为26。下面给出了如何计算令牌的示意图。

在上面的这张图中,您可以检查和计数令牌的数量,并且可以了解令牌化在词法分析器阶段是如何工作的。

通过这种方式,您可以清楚地了解编译器的每个阶段,并且可以了解编译器的内部工作方式,并且编译器的每个阶段都是关键步骤。