加载中...
| 类别 | 计算理论 |
| 领域 | 计算机科学 |
词法分析是编译过程的第一个阶段,其任务是把源程序的字符流扫描并切分成一个个有意义的最小单位,称为记号。每个记号代表一类语法单元,如标识符、关键字、运算符、常量或分隔符。执行词法分析的程序称为词法分析器或扫描器。
词法分析器通常基于正则表达式描述各类记号的模式,并将其转换为有限状态机来逐字符匹配。扫描时它采用最长匹配原则,尽可能多地吞入字符以识别完整记号,同时丢弃空白和注释,记录行号以备报错。识别出的记号附带类型和属性值,作为后续语法分析的输入流。
词法分析把杂乱的字符序列转化为结构化的记号序列,大幅简化了语法分析的工作,使后续阶段无需面对原始字符细节。它还承担初步的错误检测,例如发现非法字符或不合规的数字格式。诸如 Lex 和 Flex 等工具能根据正则规则自动生成高效的词法分析器,是编译器构造中成熟而标准化的环节。
| 类别 | 计算理论 |
| 领域 | 计算机科学 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧