• 大小: 7KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: C/C++
  • 标签: 编译原理  

资源简介

编译原理上机,C++实现求产生式的firstfollow集合,内含注释,按照文字类的求解方法转换成代码,清晰易懂。

资源截图

代码片段和文件信息

#include
#include 
#include 
using namespace std;
#define MAX 50  
int NONE[MAX] = { 0 };
string strings;       //产生式 
string Vn;           //非终结符 
string Vt;           //终结符  
string first[MAX];  //存放每个终结符的first集 
string First[MAX];  //存放每个非终结符的first集  
string Follow[MAX]; //存放每个非终结符的follow集
int N;               //产生式个数   
struct STR 
{
string left;     
string right; 
};     

void rec(STR *p)                 //识别Vn和Vt  
{
int i j;
for (i = 0;i < N;i++)                                              //第i个产生式
{
for (j = 0;j < (int)p[i].left.length();j++)//左侧
{
if ((p[i].left[j] >= ‘A‘&&p[i].left[j] <= ‘Z‘))                //左侧第j个字母是大写
{
if (Vn.find(p[i].left[j])>100)                             //Vn里没找到返回很大的值

评论

共有 条评论