
编译原理
简单的对概念理解
秃菜鸟
这个作者很懒,什么都没留下…
展开
-
正规式转NFA
#include<iostream> #include<cstring> #include<string> #include<stack> #include<vector> #include<set> #include<queue> #define MAX 128 using namespace std; typedef set<int> IntSet; typedef set<char> Ch转载 2020-12-16 21:17:33 · 1736 阅读 · 0 评论 -
基于DFA的单词识别
基于DFA的单词识别问题的一种描述是:编写一个程序,输入一个确定的有穷自动机(DFA),使用该DFA识别单词。 【基本要求】设置DFA初始状态X,终态Y,过程态用数字表示:0 1 2 3……… 【输入形式】标准输入 【输出形式】标准输出 【样例输入】 a b# X Y 0 2# X X-a->0 X-b->X Y Y-a->0 Y-b->X 0 0-a->0 0-b->2 2 2-a->0 2-b->Y abb# ba# aca# 【样例输出】 a b b p原创 2020-12-16 21:08:13 · 1245 阅读 · 0 评论 -
求FIRST集和FOLLOW集SELECT集合
设G=(V T ,V N ,S,P)是一个上下文无关文法。 VT表示终结符,VN表示非终结符。 FIRST集定义如下: 对于α可以有两种表达式: 下面开始构造每个文法符号的FIRST集合 对于每一个X∈VT∪VN,连续使用下面规则,知道每个集合的FIRST不再增大为止: 1.X∈VT,则有FIRST(X)={X}。 2.X∈VN,且有产生式X→а…,则把а加入到FIRST(X)中;若X→ε也是一条产生式,则把ε也加入到FIRST(X)中。 3.①若X→Y…是一个产生式,且有产生式Y∈VN,则把FIRST(原创 2020-12-16 13:51:32 · 516 阅读 · 1 评论