news 2026/6/17 19:50:01

【程序语言与编译】复习日:文法 + 自动机 + 语法分析(整理对比表)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【程序语言与编译】复习日:文法 + 自动机 + 语法分析(整理对比表)

适合读者:软考中级备考同学
阅读时间:5分钟
内容:文法、有限自动机、语法分析三大板块的核心对比表、易错点、记忆口诀汇总


一、板块内容概览

“程序语言与编译”板块共覆盖以下核心内容:

  • 文法基础:终结符/非终结符、产生式、乔姆斯基文法分类(0-3型)
  • 词法分析:正规式与正规集、有限自动机(DFA/NFA)、NFA转DFA、正规式与FA等价转换
  • 语法分析:自上而下推导(最左/最右)、自下而上归约(规范归约)、短语/直接短语/句柄、语法树与二义性
  • 中间代码:逆波兰、三元式、四元式
  • 运行时环境:符号表、静态/栈/堆存储
  • 错误处理与参数传递:错误分类、传值与传址

二、核心对比表

2.1 乔姆斯基文法分类(0-3型)

类型名称产生式形式对应自动机典型应用
0型短语结构文法α→β\alpha \rightarrow \betaαβ(无限制)图灵机理论计算机
1型上下文有关文法αAβ→αγβ\alpha A \beta \rightarrow \alpha \gamma \betaαAβαγβγ≠ε\gamma \neq \varepsilonγ=ε线性有界自动机自然语言处理
2型上下文无关文法A→γA \rightarrow \gammaAγAAA为单个非终结符)下推自动机程序设计语言语法
3型正则文法A→aBA \rightarrow aBAaBA→aA \rightarrow aAa(右线性)有限自动机词法规则

包含关系:3型⊂\subset2型⊂\subset1型⊂\subset0型(越往上描述能力越强)

2.2 语法分析:自上而下 vs 自下而上

对比项自上而下推导自下而上归约
起始点开始符号输入符号串
操作替换非终结符(展开)替换子串为非终结符(归约)
对应推导最左推导最右推导(规范推导)的逆
核心概念非终结符句柄
分析方法递归下降、LLLR、LALR

2.3 词法分析:DFA vs NFA

对比项DFANFA
下一状态唯一多个或零个
ε\varepsilonε转移不允许允许
状态数较多较少
模拟运行快(无回溯)慢(需回溯)
构造难度较难容易(直观)
识别能力相同相同(等价)

2.4 短语、直接短语、句柄

概念定义语法树对应
短语某非终结符推导出的子串以某非终结符为根的子树的所有叶节点串
直接短语一步推导得到的短语深度为1的子树(父节点直接生出终结符)的叶节点串
句柄最左边的直接短语最左直接短语

三、易错点汇总

易错点正确理解
文法类型判断错误左部单个非终结符且无上下文限制 → 2型(上下文无关);右部只有单非终结符在末尾 → 3型(正则)
NFA与DFA识别能力不同识别能力相同,可相互转换
最左推导对应自下而上最左推导对应自上而下;最右推导(规范推导)对应自下而上归约
句柄是任意可归约子串句柄是最左边的直接短语,不是任意短语
二义性是语言的属性二义性是文法的属性,不是语言的属性(同一语言可有不同文法)
符号表仅用于语义分析符号表在词法、语法、语义、代码生成各阶段都使用
静态变量在栈区静态变量在静态数据区,普通局部变量在栈区
传值与传址混淆传值:复制副本,不影响实参;传址:传递地址,修改影响实参

四、记忆口诀汇总

文法分类

0型无限制,图灵机最强;1型上下文,线性有界忙;2型无关文,下推自动掌;3型正则规,有限自动行。

推导与归约

自上而下开始符,最左替换展开树;自下而上从串起,规范归约最右逆。

短语句柄

短语是非终结符的叶串,直接一步出终结;句柄是最左直接短语,归约之时先找它。

DFA/NFA

DFA确定唯一路,NFA多路可空跳;子集构造换等价,识别能力一样高。

中间代码

逆波兰后缀写,栈式计算最快捷;三元式三字段,序号引用结果来;四元式多一结果,临时变量显式排。

存储与传参

静态全局生命长,栈上局部自动亡;堆由手动管生死,内存分配要成双。传值复制不影响,传址修改同地址。

五、板块总结

程序语言与编译板块(板块2)共完成16篇文章,覆盖:

知识模块篇数核心内容
语言基础2篇语言分类、编译vs解释
文法与自动机7篇文法定义与分类、正规式、DFA/NFA、NFA转DFA、等价转换
语法分析5篇自上而下推导、自下而上归约、短语/句柄、语法树与二义性
中间代码与运行时2篇中间代码形式、符号表与存储组织、错误处理与传参

至此“程序语言与编译”板块全部更新完毕。该板块是理解编译器工作原理的基础,也是软考选择题的稳定得分区。

六、下期预告:板块3 – 操作系统

主要内容:

  • 进程管理(进程状态、PCB、上下文切换)
  • 进程同步与互斥(PV操作、前驱图、经典同步问题)
  • 死锁(必要条件、银行家算法、死锁预防与检测)
  • 存储管理(分区、分页、分段、虚拟存储、页面置换)
  • 文件管理(文件结构、目录、磁盘空间管理)
  • 设备管理(I/O软件层次、设备独立性)

从下一篇文章开始,我们将进入操作系统板块,这是软考下午题编程填空的高频出题区,请持续关注!


🔔本专栏日更2篇,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新板块内容

#软考中级 #软件设计师 #文法 #有限自动机 #语法分析 #板块总结 #操作系统

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 19:36:31

MTL咨询洞察:营销投入高、转化低?华为MTL帮你打通增长堵点

存量竞争时代,不少企业陷入“高投入、低转化”的营销困境:广告、展会投入不菲,客户却仅停留在“感兴趣”阶段,购买转化寥寥。核心症结在于缺乏从市场洞察到线索培育的完整闭环——MTL(Market to Lead)流程&…

作者头像 李华
网站建设 2026/6/17 19:36:09

如何快速禁用Windows Defender:终极安全工具no-defender完整指南

如何快速禁用Windows Defender:终极安全工具no-defender完整指南 【免费下载链接】no-defender A slightly more fun way to disable windows defender firewall. (through the WSC api) 项目地址: https://gitcode.com/GitHub_Trending/no/no-defender 当W…

作者头像 李华
网站建设 2026/6/17 19:34:53

八年省保协法律顾问,保险机构全流程合规服务拆解

保险机构合规运营贯穿产品设计、承保、理赔、资金运用全环节。2016 年至 2024 年,安徽黄金律师事务所陈建军连续八年受聘为安徽省保险行业协会常年法律顾问,为省内保险机构提供全链条合规服务,累计服务 50 余家产寿险机构。 在条款合规板块&a…

作者头像 李华
网站建设 2026/6/17 19:21:20

Windows Server 2016纯净镜像获取、安装与配置全指南

1. 项目概述:为什么我们需要一个纯净的Windows Server 2016镜像? 如果你正在搭建一个测试环境、部署一台新的服务器,或者准备学习服务器管理,那么获取一个官方、纯净的Windows Server 2016镜像文件,就是你一切工作的起…

作者头像 李华
网站建设 2026/6/17 19:12:34

告别“听不清”的安全隐患:我用一颗DSP模组重塑了矿场语音通信系统

在地下数百米的黑暗中,清晰的语音不仅是调度的工具,更是生命的防线。一、 痛点:当“听不清”成为常态如果你去过井下,你就会明白那里的世界是什么样的。这不是办公室里的降噪耳机可以模拟的环境。这里是金属撞击岩石、风机轰鸣、液…

作者头像 李华