版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上#include <iostream>#include <set>#include <map>#include <string>#include <algorithm>using namespace std;multimap<char, string> production;set<char> unFinal;set<char>final;char S;void Input()char ch;string str;cout<<"非终结符(以 0 结尾)
2、: "while(cin>>ch && ch!='0') unFinal.insert(ch);cout<<"终结符 (以 F 结尾): "while(cin>>ch && ch!='F')final.insert(ch); cout<<"开始符: "cin>>S;cout<<"产生式 (以 0 0 结尾):"<<endl;while(cin>>ch>>s
3、tr && ch!='0')production.insert(make_pair(ch, str);string solve(char ch)string str("(");string re("");string ch_18;string str18,str28;int len,i,j,flag=10,strlen,sslen,lslen,num=0;multimap<char, string>:iterator iter = production.find(ch);int n = production.c
4、ount(ch);for(i=0; i<n; i+, +iter) len=iter->second.size();str1i.append(iter->second);str2i=str1i;str2i.replace(1,1,"|");ch_1i=iter->second.substr(len-1);for(i=0; i<n; i+) if(ch_1i>="A"&&ch_1i<="Z") for( j=i+1;j<n;j+)if(ch_1i=ch_1j) flag=i
5、;str.push_back('(');str.append(str2i.substr(0); str.append(str2j.substr(0);for( ;j<n;j+)str1j.assign(str1j+1);ch_1j.assign(ch_1j+1); if(i=flag)strlen=str.size(); str.replace(strlen-1,1,")"); str.append(ch_1i); str.push_back('|');else str.append(str1i.substr(0);if(n>=2
6、)/相同左部产生式个数大于等于2个时,才输出"|" str.push_back('|'); sslen=str.size();for(i=0; i<n; i+) if(ch_1i<"A"|ch_1i>"Z")num+;if(num>=2)str.push_back('(');for(i=0; i<n; i+) if(ch_1i<"A"|ch_1i>"Z")str.append(ch_1i);if(i!=n-1) str.p
7、ush_back('|');if(num>=2)str.push_back(')');lslen=str.size(); for(int i=0; i<str.size(); i+)if(unFinal.find(stri)!=unFinal.end() /stri是非终结符if(stri != ch) /是其他非终结符re = solve(stri);str.replace(i, 1, re);i += re.size()-1;/下标后移 Notice!else /此非终结符就是chstr.replace(i, 1, "*");str.replace(sslen-1,lslen-sslen+1,str.substr(sslen); str.push_back(')');return str;int main()Input();cout<<endl<<"输出正规式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年信阳艺术职业学院单招职业倾向性考试题库附参考答案详解(培优)
- 2026年兰州职业技术学院单招职业倾向性考试题库附答案详解(综合卷)
- 2026年南京机电职业技术学院单招综合素质考试题库带答案详解(培优a卷)
- 2026年内蒙古民族幼儿师范高等专科学校单招职业适应性测试题库及答案详解(易错题)
- 2026年信阳涉外职业技术学院单招职业倾向性考试题库含答案详解(巩固)
- 2026年兴安职业技术学院单招职业适应性测试题库及答案详解一套
- 2026年南昌健康职业技术学院单招职业倾向性考试题库附答案详解(研优卷)
- 2026年兰州外语职业学院单招职业倾向性考试题库附参考答案详解(黄金题型)
- 2026年南通科技职业学院单招综合素质考试题库含答案详解
- 2026年内蒙古科技职业学院单招职业技能测试题库含答案详解(预热题)
- 2026年福建莆田市涵江区区属一级国有企业高级管理人员招聘2人笔试备考题库及答案解析
- 2026福建莆田市涵江区选聘区属一级国有企业高级管理人员2人笔试备考题库及答案解析
- 2026春季开学教职工大会校长精彩发言:大格局!3个变局、3个确定性、3个转变
- 西安市离婚协议书(2026简易标准版)
- 2026 昆明市高三市统测 三诊一模 英语试卷
- 养老机构护理服务操作手册
- 知道智慧树大学生马克思主义素养满分测试答案
- 2025中国纺织行业产品数字护照(DPP)白皮书
- 星星之火可以燎原读后感课件
- JG/T 502-2016环氧树脂涂层钢筋
- (高清版)DG∕TJ 08-2093-2019 电动汽车充电基础设施建设技术标准 含2021年局部修订
评论
0/150
提交评论