📜  词法分析器在编译器中的工作

📅  最后修改于: 2021-09-28 10:16:37             🧑  作者: Mango

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

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

词法分析器:

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

令牌类型如下 –

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

以上是令牌的术语,它是在词法分析器中工作的关键组件。现在,借助示例,您将了解它是如何工作的。

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

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

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

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

在上图中,您可以检查和计算标记的数量,并了解标记化在词法分析器阶段的工作原理。

这样您就可以清楚地理解编译器中的每个阶段,并了解编译器内部如何工作,并且编译器的每个阶段都是关键步骤。