VisFormalLang 形式语言可视化
目录
| 关于
英文版
目录
::
0.
1.
如何使用本系统
»
第 0 章
前言
¶
0.1. 如何使用本系统
第 1 章
引言
¶
1.1. 形式语言
1.1.1. 引言
1.1.2. 先决条件
1.1.3. 我们将做什么
1.1.4. 处理
1.2. 概述
1.2.1. 语言、文法与机器
1.2.2. 语言层级
1.2.3. 机器的能力
1.2.4. 应用:编译器
1.2.4.1. 编译器的阶段
1.2.5. 一些烧脑的想法
1.3. 主要概念
1.3.1. 引言
1.3.2. 语言
1.3.2.1. 示例
1.3.2.2. 记法
1.3.2.3. 连接的定义
1.3.2.4. 字符串运算
1.3.2.5. 定义
1.3.3. 文法
1.3.3.1. 示例
1.3.3.2. 文法的形式定义
1.3.3.3. 记法
1.3.4. 自动机
第 2 章
数学基础
¶
2.1. 集合与关系
2.1.1. 集合记号
2.1.1.1. 关系
2.1.2. 等价关系
2.1.3. 偏序
2.2. 数学证明技巧
2.2.1. 数学证明技巧
2.2.1.1. 直接证明
2.2.1.2. 反证法
2.2.1.3. 数学归纳证明
第 3 章
有限接受器
¶
3.1. 确定有限接受器
3.1.1. DFA:确定有限接受器
3.1.1.1. 示例
3.1.1.2. DFA 的算法:
3.1.1.3. 定义
3.1.1.4. 陷阱状态
3.1.1.5. 概念:DFA 的能力
3.2. 非确定性有限自动机
3.2.1. NFA:非确定性有限自动机
3.2.2. NFA 与 DFA:哪一个更强大?
3.3. 最小化 DFA 中的状态数
3.3.1. 最小化 DFA 中的状态数
第 4 章
正则语言
¶
4.1. 正则表达式
4.1.1. 正则表达式
4.1.1.1. 优先级规则
4.1.1.2. 正则表达式示例
4.1.2. 正则表达式与正则语言
4.1.3. 把正则语言转换为正则表达式
4.2. 正则文法
4.2.1. 正则文法
4.2.1.1. 我们的下一步
4.2.1.2. 由正则文法构造 NFA
4.2.1.3. 由 DFA 构造右线性正则文法
4.2.1.4. 值得思考的问题
4.3. 正则文法的封闭性
4.3.1. 正则文法的封闭性
4.3.1.1. 封闭性概念
4.3.1.2. 正则语言的封闭性
4.3.1.3. 正则语言在这些运算下是封闭的
4.3.1.4. 关于正则语言的问题
4.3.1.5. 小结:如何证明一种语言是正则的?
第 5 章
识别非正则语言
¶
5.1. 识别非正则语言
5.1.1. 识别非正则语言
5.1.1.1. 泵的概念
5.1.1.2. 泵引理
5.1.1.3.
使用闭包性质证明
语言
\(L\)
不是正则的
5.2. 性质
5.2.1. 引言
5.2.2. 性质与证明:问题 1
5.2.3. 性质与证明——问题 2
第 6 章
上下文无关文法与语言
¶
6.1. 上下文无关语言
6.1.1. 上下文无关语言
6.1.2. 二义性
6.1.2.1. 二义文法(2)
6.1.2.2. 二义文法(3)
6.1.2.3. 二义文法(4)
6.1.3. 消除文法二义性
6.1.3.1. 优先级
6.1.3.2. 结合性
6.1.3.3. 优先级与结合性
6.1.4. 扩展 BNF
6.2. 文法转换
6.2.1. 文法转换
第 7 章
下推自动机
¶
7.1. 下推自动机
7.1.1. 下推自动机
7.1.1.1. 转移示例
7.1.1.2. 接受定义的等价性
7.2. 下推自动机与上下文无关语言
7.2.1. 下推自动机与上下文无关语言
7.3. 确定的下推自动机
7.3.1. 确定的下推自动机
7.3.2. 确定的上下文无关语言的文法
7.3.2.1. 带向前看的自顶向下分析
7.3.2.2. S 文法
7.3.2.3. LL(k) 文法
第 8 章
上下文无关语言的性质
¶
8.1. 上下文无关语言的性质
8.1.1. 上下文无关语言的性质
8.1.1.1. (第 8.2 章) 上下文无关语言的封闭性
第 9 章
计算模型
¶
9.1. 计算模型
9.1.1. 计算模型
9.2. 图灵机
9.2.1. 图灵机
9.2.1.1. 通用计算模型
9.2.1.2. 解释图灵机
9.2.1.3. 图灵接受器和图灵转换器
9.2.1.4. 图灵可判定语言与图灵可接受语言
9.2.1.5. 制造更复杂的机器
9.2.1.6. 图灵机扩展
第 10 章
语法分析
¶
10.1. 分析引言
10.1.1. 引言
10.1.1.1. 自顶向下分析器(Top-down Parser):
10.1.1.2. 函数 FIRST
10.1.1.3. 函数 FOLLOW
10.2. LL 分析
10.2.1. LL 分析
10.2.1.1. LL(k) 分析器
10.2.1.2. LL 分析过程
10.2.1.3. 将 CFG 转换为 NPDA
10.2.1.4. LL 分析表:二维数组
10.2.1.5. 通用的分析例程
10.2.1.6. 构造 LL 分析表 LL[rows,cols]
10.3. LR 分析
10.3.1. LR 分析
10.3.1.1. LR(k) 分析器
10.3.1.2. LR 分析过程
10.3.1.3. LR 分析动作
10.3.1.4. LR(1) 分析表
10.4. CYK 分析
10.4.1. CYK 分析
10.4.1.1. CYK 分析算法
10.4.1.2. 算法
10.5. 编译器的结构
10.5.1. 什么是编译器?
10.5.1.1. 翻译器
10.5.2. 语言处理系统
10.5.2.1. 编译器
10.5.3. 通用编译器总览
10.5.4. 编译的阶段
10.5.4.1. 词法分析(扫描器)
10.5.4.2. 语法分析(Parsing)
10.5.4.3. 1.3.3 中间代码生成器
10.5.4.4. 1.3.4 中间代码生成
10.5.4.5. 代码生成
10.5.4.6. 符号表
10.5.4.7. 错误处理(Error Handler)
第 11 章
计算的极限
¶
11.1. 归约
11.1.1. 归约
11.1.1.1. 例:配对问题
11.1.2. 归约与寻找下界
11.1.3. 归约模板
11.1.4. PAIRING 的下界
11.1.5. 两个乘法例子
11.1.6. 界的定理
11.1.7. 构造简单多边形的成本
11.2. 递归可枚举语言
11.2.1. 递归可枚举语言
11.2.1.1. 递归语言的枚举过程
11.2.1.2. 递归可枚举语言的枚举过程
11.3. 不可解问题
11.3.1. 不可解问题
11.3.1.1. 引言
11.3.1.2. 不可数性
11.3.1.3. 停机问题不可解
第 12 章
作业
¶
12.1. 引言练习
12.1.1. 练习 1
12.1.2. 练习 2
12.1.3. 练习 3
12.1.4. 练习 4
12.1.5. 练习 5
12.1.6. 练习 6
12.1.7. 练习 7
12.2. 有限自动机练习
12.2.1. 练习 1
12.2.2. 练习 2
12.2.3. 练习 3
12.2.4. 练习 4
12.3. 正则语言练习
12.3.1. 练习 1
12.3.2. 练习 2
12.3.3. 练习 3
12.3.4. 练习 4
12.3.5. 练习 5
12.3.6. 练习 6
12.4. 练习单 5
12.4.1. 练习 1
12.4.2. 练习 2
12.5. 练习单 6
12.5.1. 练习 1
12.5.2. 练习 2
12.5.3. 练习 3
12.5.4. 练习 4
12.6. 练习单 7
12.6.1. 练习 1
12.6.2. 练习 2
12.6.3. 练习 3
12.6.4. 练习 4
第 13 章
练习
¶
13.1. 引言练习(拓展)
13.1.1. 练习 1
13.1.2. 练习 2
13.1.3. 练习 3
13.1.4. 练习 4
13.1.5. 练习 5
13.1.6. 练习 6
13.1.7. 练习 7
13.2. 有限自动机练习(拓展)
13.2.1. 练习 1
13.2.2. 练习 2
13.2.3. 练习 3
13.2.4. 练习 4
13.2.5. NFA 转 DFA 1
13.2.6. NFA 转 DFA 2
13.2.7. 创建 NFA
13.3. 正则语言练习(拓展)
13.3.1. 练习 1
13.3.2. 练习 2
13.3.3. 练习 3
13.3.4. 练习 4
13.3.5. 练习 5
13.3.6. 练习 6
13.4. 练习单 5 练习
13.4.1. 练习 1
13.4.2. 练习 2
第 14 章
附录
¶
14.1. 术语表
TODO List
索引
搜索页面
隐私 |
| 许可协议
目录
::
0.
1.
如何使用本系统
»
小结*:
操作系统*:
Windows
Mac OS
Linux
iOS
Android
Other
浏览器*:
Chrome
Safari
Internet Explorer
Opera
Other
描述*:
附加截图(可选):