1506200056肖志伟-实验一
- 格式:docx
- 大小:85.41 KB
- 文档页数:13
新城实验学校2010级初中生物实验操作技能考试组考方案为了进一步提高我校实验教学水平,加强学生实践动手能力和创新能力的培养,全面落实素质教育和新课程标准,根据《娄底市2012 年初中毕业学业水平考试和高中阶段学校招生考试工作实施方案双娄教发》﹝2012﹞13 号)及《娄底市2010级初中学生理化生实验操作技能考试(考核)实施方案》(娄教通[2 012 ] 75 号)和我校实际情况,特制定本方案。
一、考试组织与管理1、领导小组组长:李定云副组长:曹双飞曹敏成员:康国庆、张星、胡伏明、罗文惠、李炎芳、朱美花、胡晓君监督员栏目中第一位监考老师为该监考组组长,本次考试所设实验员、联络员由各校自定。
要求与职责考点主任:负责考点全面工作,组织完成考点考前一切准备工作,保证人员到位和制度落实,及时处理考试期间发生的问题,确保考试工作顺利进行。
考点副主任:主管考点考务全面工作。
负责考务工作人员培训;制定各考室《考试场次与时间安排表》、编排各考室《实验操作技能考试分组安排表》、印制《实验操作技能考试成绩计分表》、《缺考学生名单登记表》和《**学校2010级初中学生实验操作技能考试成绩汇总表》;检查落实考点宣传栏、考室、考务工作办公室、候考室的布置和实验器材的准备;严格执行《考试程序》的各项规定,保证考试各环节人员到位、工作到位。
联络员:负责考室布置;负责召集考生进入候考室,组织考生抽签,并将抽签结果(实验组号)填写到《实验操作技能考试成绩计分表》上并交考务员;引导考生进入考室;负责考试信号发布;负责维持考场周围秩序。
工作地点在候考室。
考务员:负责考务工作室的器具准备和布置;负责试卷管理;负责向考室提供并回收(含装订)考试试卷、《实验操作技能考试成绩计分表》;负责做好考生缺考统计;负责考生成绩登录。
工作地点在实验室讲台前。
实验员:负责考试前实验器材准备和调试、考试期间实验仪器的更换与实验耗材的补充,协助监考员处理考试期间考生实验操作偶发事件,帮助解决考试中出现的仪器、药品等问题,负责考室的管理。
2012级基础化学实验(综合)安排2014学年春季学期2014.2.24---2014.5.28注:学时数:72学时学分:2学分人数:357人,(化学A 43,B44,C42,D46,E44,F44,2+2班49,临床29,交换生,16)时间:每次14.5学时,周三8:30-19:00点;1-5组:178人,A(43人)、B(44人)、C(42人),2+2(49人);6-10组:179人,D(46人)、E(44人)、F(44人)、交换(16人)2012级基础化学实验(综合)分组名单2014.2.24---2014.5.28第1组:A 30人奥斯曼·麦麦提图尔荪、白惠珍、蔡鸿韵、蔡菁菁、蔡思颖、曹陈陈、曹振坤、陈包棋、陈保利、陈丹丹、陈冠任、陈浩聪、陈娟、陈开乾、陈坤宇、陈敏鹏、陈少敏、陈世杆、陈伟宾、陈伟亮、陈晓、陈笑、陈咏林、陈镇豪、陈智鹏、程映艺、崔伟强、邓才栋、邓海权、邓杰仁第2组:A 13人+ B 17人=30邓智容、迪力亚尔·肉孜、董嘉乐、杜诚、杜飞、杜钊夷、范志颖、方博馨、方栩岸、封亮廷、冯凌宇、冯伟仪、高苏、龚浩、龚恒业;关玉婷、郭锦轩、何杨鹏、赫兰齐、洪尧舜、胡庆坤、胡雅洁、胡亦清、胡瑜雯、胡禹、胡志涛、黄发文、黄海燕、黄浩然、黄佳楠第3组:B 27人+C 3人黄嘉琛、黄健、黄靖雯、黄俊健、黄礼博、黄宁宇、黄倩、黄秋忆、黄森传、黄文俊、黄智翔、简郸、简俊华、姜沛林、姜语嫣、揭丽萍、柯曙昶、孔莉、寇俊玮、旷实、赖嘉俊、赖鹏、赖欣宜、雷皓宇、黎海波、黎嘉成、李博;李超、李传发、李浩强第4组:C 30人李洪顺、李锦胜、李镜聪、李凯婷、李康华、李鹏日、李奇连、李倩茹、李松、李瑜、李朕、李子程、练宇飞、梁豪、梁婷钰、梁炎君、梁志樵、梁紫薇、廖海焜、廖焕妍、廖天华、林佳盛、林景、林俊轩、林霖活、林锐燕、林淑玲、林艳铃、林致远、刘虎城第5组:C 9人+(2+2)21=30刘嘉豪、刘俊杰、刘乃嘉、刘瑞、刘小珍、刘衍溢、刘逸章、刘勇江、刘昱;柏慧、曹灿、曹露露、陈斯杰、陈雨豪、邓儒、付子恩、傅占鳌、郭美杉、何子睿、贺一鸣、黄俊彦、黄颖妍、江佳骏、黎思远、李健斌、李垚、梁邦、廖蕾、廖明慧、林嘉芬第六组:(2+2)28人刘若辰、龙映汐、马晓江、潘筱琳、彭俊琦、邱瑞鑫、邱宇恒、石宸宇、宋冠和、覃诗薇、涂于洁、王晨雅、王岩琦、夏永祥、杨盛祚、杨星云、曾芯祎、张涵、张鸣桐、张小平蓉、张孝静、张子寒、周健航、庄浩彬、陈瀚、左嘉睿、王戈夫、龚豪第七组:D 30人刘远红、卢莉丽、陆如岚、陆志涛、吕飞逸、罗柏彬、罗美嫦、骆嘉莹、马奇柠、马文杰、玛依拉·贾尔肯、毛润东、毛旭宏、孟珊、缪泳锋、潘东优、潘辉、秦何荣、区绮雯、饶梦华、饶子龙、沈长宇、舒欣、宋雯雯、苏权飞、苏伟庆、粟梦琪、孙林颖、孙若邻、孙帅第八组:D 16人+E14人=30孙仪玮、孙正、覃玉莲、滕军、田毅、万里祺、汪玉好、王家强、王建雄、王剑儒、王莉、王珊珊、王沈晗、王帅、王烁宇、王潇洋、王晓建、王筱湛、王益辰、韦彪、魏佳良、魏永锋、温家熙、文思嘉、巫珊珊、巫意婷、吴豪忠、吴金伦、吴韶桐、吴思贤第九组:E 30人吴炜臻、吴文林、吴文清、吴小锋、吴颖楠、伍泽雄、奚亚男、肖华、谢思颖、谢政、辛芳园、熊凯、徐丽容、徐雅伦、徐颖、许汉健、许文涵、许晓瑾、鄢慈航、颜世超、颜星、杨慕紫、杨祎然、杨毅杰、杨湛、叶惠婷、叶慧桐、叶立志、易孔阳、易秘第十组:F 30人易鹏晖、游凤仪、余贵成、俞勇、郁瑾、袁博、曾鹏坤、曾茜子、曾伟振、曾宪文、詹梦怡、张杰、张靖雯、张妹三、张民康、张熙悦、张轩赫、张雅琪、张运发、张湛垚、张昭、张志华、张志铭、赵锦德、赵鹏钰、赵曦、赵勇、郑炳坤、郑皓翔、郑嘉颖第十一组:F 14人+交换16人=30郑亮、郑雨涵、钟振鹏、周晗、周嘉泓、周略、周宁、周瑞飞、周伟、周文凯、周止若、朱休明、朱益昆、曾俊钊、彭棵、周昊宇、麦嘉华、张璐、张廉昌、袁李怡文、蒋志、钟天立、刘寅可、栾自鸿、耿朔天、巫尚杰、翟河科、张之涵、方正松、方日华第十二组:临床29人陈柏林、陈斌锋、陈东亮、陈志宏、邓茜文、郭少燕、何炎炯、黎坚德、李姝翮、梁玮昊、廖舒敏、林藩雄、刘铭杰、刘瑶、陆思多、庞立春、石益、孙旭琪、王昕、吴锦杰、伍明劲、谢鸿玉、张浩培、张汝思、章颖、郑瑞映、郑杏芳、钟娴、周华强。
2019年亳州市八年级生物实验操作考试亳州市谯城区城父中心中学考场考务册亳州市谯城区城父中心中学2019年5月2019年城父中心中学八年级生物实验操作技能考试实施方案一、指导思想为进一步促进初中生物的实验教学,提高学生的实验操作能力,培养学生的创新精神和实践能力,全面推进素质教育,根据谯教电函[2019]73号“关于印发《谯城区2019年八年级生物学科实验操作技能考试实施方案》的通知”精神,结合我校实际,制定本方案。
二、领导机构主考:邓士化(校长)副主考:蒋成良(副校长)李树林(树林学校校长)考务:刘峰(教务主任)成员:王明亮周凤奇王显魁蒋超木加强蒋晓磊蒋凤侠路传玉三、考核时间与对象1、考查时间:2019年5月30日2、考查对象:八年级学生四、考核范围、内容和方式(一)考核范围:课程标准和现行初中生物教材中要求学生掌握的实验,根据《亳州市初中生物实验操作考核范围》,选取7个考题供考生随机抽签选考其中一个实验,7个考核题目为:1、显微镜的使用2、制作洋葱鳞片叶内表皮细胞临时装片3、观察菜豆种子的结构4、用显微镜观察人血的永久图片5、观察人体的一种组织6、生物进化主要历程“拼图游戏”7、探究水分对植物种子萌发的影响(二)考核内容:依据课程标准及教材,以掌握基本实验原理和仪器的使用为基准点,考核学生对实验现象的观察、实验仪器的使用及简单的实验问题分析等基本实验技能。
考核内容的选取应有所侧重,并适合学生在规定的时间内完成。
(三)考核方式:1、在考核范围内选择7个实验进行命题。
2、考生抽签选题安排考试当天,以准考证号为序,28人一组,以抽签方式把考生安排在“AB CDEFG”七个组别中,每个组别的学生人数大致相同(每组4人)。
抽签结果引领员统一安排,工作人员把考生带入考场安排到指定位置进行考试(每位考生的考号、组别、座位号)。
五、考核成绩评定1、监考员根据评分卷各项评分细则为考生打分,并在最后给出一个总分。
东联镇中心校初中2011级实验操作考试实施方案根据县教育局《关于2011年学校招生及考试工作的通知》,(威教基发[2011]84号)、《威远县2011年中学理科实验操作考试工作实施方案》的通知(威教仪发[2011]79号文件精神,确保今年我镇理科实验操作考试(查)工作顺利实施,特制定此实施方案。
一、组织领导:成立东联中心校实验操作考试领导小组,主要负责全镇实验操作考试领导工作和组织管理及实施考试工作。
组长:罗良芬副组长:古歧智刘强成员:阙向东刘骥颜树礼刘晋明实验操作考试实行分管责任制,第一责任人是中心校校长,第二责任人是考务主任、各班班主任。
二、参考对象:东联镇中心校校本部初2011届全体毕业生。
三、实验操作考试时间安排:1、4月26日前学校召开实验操作考试考务工作会,统一考试要求,培训考务人员和监考教师。
2、考试时间:根据县上安排5月5日下午学生实验操作考试。
(如有变动,另行通知)四、考试内容和方法:1、考试内容:市县统一命制的初中物理、化学等学科的实验操作考试试题。
2、考试方法:考点设在中心校校本部实验室,考试室设二间(物理、化学各1间),考生分组参加考试,一组参考学生24人,抽签确定考题及实验桌序号。
实验操作考试时间,每科为10分钟。
监考实行一监三制和主监考制。
即一个考试室八名监考教师,一名主监考,一个监考教师对应三名考生,监考教师既监考又记分,在记分时必须在考生卷面上注明扣分点,当场记分。
主监考确认后,签字登分密封试卷。
实验操作考试每科满分10分,6分为合格。
不合格者须进行一次补考,补考合格才准予毕业。
五、考场的设置:(一)考场设备、设施:1、按照市县规定:考场设物理、化学实验操作考试室、准备室每科一间,成绩登录室、考务工作室、医务室和领队、考生休息室(代点名处)各一间,此外,还设考生抽签处,饮水处。
以上各功能室和功能点要一一张贴标明或限定范围,并考虑各功能室和功能点全天候投入使用。
2、每间考室的水、电设施必须齐备,座具有24张实验桌(不够用学生课桌代)和1张主监考桌。
2011年中考实验操作加试秩序册万安县教育体育局电教仪器站二○一一年四月一、考试机构及人员安排(一)领导小组组长:肖明发副组长:张学琰林孝德罗奇玲康江平陈吉明成员:王冬梅陈振群刘承军、许光勇、庄刚克肖天佐曾淑兰(二)考组人员安排第一组主考:刘小洪副主考:各考点学校校长物理主监考:蓝叶物理监考员:蓝叶、林商智、何检春化学主监考:钟兴明化学监考员:钟兴明、彭智、陈霞记分员:由考点学校安排实验教学综合考评员:由各考点主考兼任成绩录入员:由考点学校安排(会操作电脑人员1名)记时员:由考点学校安排点名员:2人(理化候考室各1人,由考点学校安排)引导员:2人(理化候考室各1人,由考点学校安排)实验员:2人(理化实验室各1人,由考点学校安排)第二组主考:郭忠映副主考:各考点学校校长物理主监考:刘凤禄物理监考员:刘凤禄、刘根育、张洪飞化学主监考:曹正华化学监考员:曹正华、匡群柏、杨英记分员:由考点学校安排实验教学综合考评员:由各考点主考兼任成绩录入员:由考点学校安排(会操作电脑人员1名)记时员:由考点学校安排点名员:2人(理化候考室各1人,由考点学校安排)引导员:2人(理化候考室各1人,由考点学校安排)实验员:2人(理化实验室各1人,由考点学校安排)第三组主考:谢和民副主考:各考点学校校长物理主监考:方飞云物理监考员:方飞云、肖冲、吕小飞化学主监考:邓小旗化学监考员:邓小旗、罗自伶、肖桂华记分员:由考点学校安排实验教学综合考评员:由各考点主考兼任成绩录入员:由考点学校安排(会操作电脑人员1名)记时员:由考点学校安排点名员:2人(理化候考室各1人,由考点学校安排)引导员:2人(理化候考室各1人,由考点学校安排)实验员:2人(理化实验室各1人,由考点学校安排)第四组主考:匡国华副主考:各考点学校校长物理主监考:刘金元物理监考员:刘金元、张智、刘明远化学主监考:林芳明化学监考员:林芳明、许小平、兰贤春记分员:由考点学校安排实验教学综合考评员:由各考点主考兼任成绩录入员:由考点学校安排(会操作电脑人员1名)记时员:由考点学校安排点名员:2人(理化候考室各1人,由考点学校安排)引导员:2人(理化候考室各1人,由考点学校安排)实验员:2人(理化实验室各1人,由考点学校安排)注:各校抽调的监考老师请在2011年5月10日下午2:30统一到电教仪器站报到,3:00召开考务会和进行监考培训,不再另行通知。
广州大学学生实验报告一、实验目的学生运用编译原理的知识在实验技能和方法小组设计实验方案并加以实现。
二、基本知识1、完整的编译过程2、LR分析法三、实验环境1、Windows操作系统2、C++语言四、实验要求运用编译原理知识,经检验,该程序能正确运行。
五、实验内容完成一个相对完整的编译器,该编译完成对变量类型(整数/浮点数)定义、赋值、四则运算、逻辑运算、跳转与循环控制功能。
其输入是源程序(参见“一个四则运算源程序示例”),输出是所有变量的最终值。
要求:(1)输入任意一个正确的文法G[S],都能分析,并得出一个等价的LL(1)文法G[E];(2)根据该LL(1)文法G[E]的文法规则建立LL(1)分析表;(3)输出输入串分析过程。
其分析过程。
六、实验代码及实验截图实验代码如下:(2)根据该LL(1)文法G[E]的文法规则建立LL(1)分析表;(3)输出输入串分析过程。
其分析过程。
#define _CRT_SECURE_NO_DEPRECATE#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cstdlib>#include <vector>#include <string>#include <cctype>#include <map>#include <set>#include <stack>#define MAX 507using namespace std;map<string, set<char> > first;map<string, set<char> > follow;map<string, int> VN_dic;vector<WF> VN_set;bool used[MAX];class WF{public:string left;set<string> right;WF(char s[]){left = s;}void print(){printf("%s->", left.c_str());set<string>::iterator it = right.begin();if (right.begin() != right.end()){printf("%s", it->c_str());it++;}for (; it != right.end(); it++)printf("|%s", it->c_str());puts("");}void insert(char s[]){right.insert(s);}};void dfs(int x){if (used[x]) return;used[x] = 1;string& left = VN_set[x].left;set<string>& right = VN_set[x].right;set<string>::iterator it = right.begin();for (; it != right.end(); it++)for (int i = 0; i < it->length(); i++){if (!isupper(it->at(i)) && it->at(i) != '\''){first[left].insert(it->at(i));break;}if (isupper(it->at(i))){int y;if (i != it->length() - 1 && it->at(i + 1) == '\'')y = VN_dic[it->substr(i, 2)] - 1;else y = VN_dic[it->substr(i, 1)] - 1;string& tleft = VN_set[y].left;dfs(y);set<char>& temp = first[tleft];set<char>::iterator it1 = temp.begin();bool flag = true;for (; it1 != temp.end(); it1++){if (*it1 == '~') flag = false;first[left].insert(*it1);}if (flag) break;}else continue;}}void make_first(){memset(used, 0, sizeof(used));for (int i = 0; i < VN_set.size(); i++)dfs(i);#define DEBUG#ifdef DEBUGputs("***************FIRST集***********************");map<string, set<char> >::iterator it = first.begin();for (; it != first.end(); it++){printf("FIRST(%s)={", it->first.c_str());set<char> & temp = it->second;set<char>::iterator it1 = temp.begin();bool flag = false;for (; it1 != temp.end(); it1++){if (flag) printf(",");printf("%c", *it1);flag = true;}puts("}");}#endif}void append(const string& str1, const string& str2){set<char>& from = follow[str1];set<char>& to = follow[str2];set<char>::iterator it = from.begin();for (; it != from.end(); it++)to.insert(*it);}void make_follow(){while (true){bool goon = false;for (int i = 0; i < VN_set.size(); i++){string& left = VN_set[i].left;set<string>& right = VN_set[i].right;set<string>::iterator it = right.begin();for (; it != right.end(); it++){bool flag = true;const string& str = *it;for (int j = it->length() - 1; j >= 0; j--){if (str[j] == '\''){int x = VN_dic[it->substr(j - 1, 2)] - 1;if (flag){int tt = follow[it->substr(j - 1, 2)].size();append(left, it->substr(j - 1, 2));int tt1 = follow[it->substr(j - 1, 2)].size();if (tt1 > tt) goon = true;if (!VN_set[x].right.count("~"))flag = false;}for (int k = j + 1; k < it->length(); k++){if (isupper(str[k])){string id;if (k != it->length() - 1 && str[k + 1] == '\'')id = it->substr(k, 2);else id = it->substr(k, 1);set<char>& from = first[id];set<char>& to = follow[it->substr(j - 1, 2)];int tt = to.size();set<char>::iterator it1 = from.begin();for (; it1 != from.end(); it1++)if (*it1 != '~')to.insert(*it1);int tt1 = follow[it->substr(j - 1, 2)].size();if (tt1 > tt) goon = true;if (!VN_set[VN_dic[id] - 1].right.count("~"))break;}else if (str[k] != '\''){int tt = follow[it->substr(j - 1, 2)].size();follow[it->substr(j - 1, 2)].insert(str[k]);int tt1 = follow[it->substr(j - 1, 2)].size();if (tt1 > tt)goon = true;break;}else continue;}j--;}else if (isupper(str[j])){int x = VN_dic[it->substr(j, 1)] - 1;if (flag){int tt = follow[it->substr(j, 1)].size();append(left, it->substr(j, 1));if (!VN_set[x].right.count("~"))flag = false;int tt1 = follow[it->substr(j, 1)].size();if (tt1 > tt) goon = true;}for (int k = j + 1; k < it->length(); k++){if (isupper(str[k])){string id;if (k != it->length() - 1 && str[k + 1] == '\'')id = it->substr(k, 2);else id = it->substr(k, 1);set<char>& from = first[id];set<char>& to = follow[it->substr(j, 1)];set<char>::iterator it1 = from.begin();int tt = follow[it->substr(j, 1)].size();for (; it1 != from.end(); it1++)if (*it1 != '~')to.insert(*it1);int tt1 = follow[it->substr(j, 1)].size();if (tt1 > tt) goon = true;if (!VN_set[VN_dic[id] - 1].right.count("~"))break;}else if (str[k] != '\''){int tt = follow[it->substr(j, 1)].size();follow[it->substr(j, 1)].insert(str[k]);int tt1 = follow[it->substr(j, 1)].size();if (tt1 > tt) goon = true;break;}else continue;}}else flag = false;}}}if (!goon) break;}#define DEBUG#ifdef DEBUGputs("****************FOLLOW集**********************");map<string, set<char> >::iterator it = follow.begin();for (; it != follow.end(); it++){printf("FOLLOW(%s)={", it->first.c_str());set<char> & temp = it->second;temp.insert('#');set<char>::iterator it1 = temp.begin();bool flag = false;for (; it1 != temp.end(); it1++){if (flag) printf(",");printf("%c", *it1);flag = true;}puts("}");}#endif}vector<map<char, string> > predict_table;//检查一个字符是否属于一个字符串的FIRST集合bool check_first(const string& text, char ch){for (int i = 0; i < text.length(); i++){bool hasEmpty = false;if (!isupper(text[i]) && text[i] != '\''){if (text[i] != ch) return false;else return true;}else if (isupper(text[i])){string temp;if (i != text.length() - 1 && text[i + 1] == '\'')temp = text.substr(i, 2);elsetemp = text.substr(i, 1);set<char>& dic = first[temp];set<char>::iterator it = dic.begin();for (; it != dic.end(); it++){if (*it == '~') hasEmpty = true;if (*it == ch) return true;}if (!hasEmpty) break;}else continue;}return false;}//检查一个字符是否属于一个字符串的FOLLOW集合bool check_follow(const string& text, char ch){set<char>& dic = follow[text];set<char>::iterator it = dic.begin();for (; it != dic.end(); it++)if (*it == ch) return true;return false;}void make_table(){map<char, string> temp;vector<char> letter;bool vis[500];memset(vis, 0, sizeof(vis));for (int i = 0; i < VN_set.size(); i++){set<string>& right = VN_set[i].right;set<string>::iterator it = right.begin();for (; it != right.end(); it++)for (int j = 0; j < it->length(); j++)if (!isupper(it->at(j)) && it->at(j) != '\''){if (vis[it->at(j)]) continue;vis[it->at(j)] = true;letter.push_back(it->at(j));}}for (int i = 0; i < VN_set.size(); i++){temp.clear();string& left = VN_set[i].left;set<string>& right = VN_set[i].right;set<string>::iterator it = right.begin();for (; it != right.end(); it++)for (int j = 0; j < letter.size(); j++){//cout << *it << " " << letter[j] << endl;if (check_first(*it, letter[j])){//cout << "YES" << endl;temp[letter[j]] = *it;}if (it->at(0) == '~' && check_follow(left, letter[j]))temp[letter[j]] = *it;}predict_table.push_back(temp);}#define DEBUG#ifdef DEBUGfor (int i = 0; i <= (letter.size() + 1) * 10; i++)printf("-");puts("");printf("|%9s", "|");for (int i = 0; i < letter.size(); i++)printf("%5c%5s", letter[i], "|");puts("");for (int i = 0; i <= (letter.size() + 1) * 10; i++)printf("-");puts("");for (int i = 0; i < VN_set.size(); i++){printf("|%5s%4s", VN_set[i].left.c_str(), "|");for (int j = 0; j < letter.size(); j++)if (predict_table[i].count(letter[j]))printf("%7s%3s", predict_table[i][letter[j]].c_str(), "|");else printf("%10s", "|");puts("");for (int i = 0; i <= (letter.size() + 1) * 10; i++)printf("-");puts("");}#endif}void print(int steps, stack<string> stk, string src, string wf, int x){printf("%-10d", steps);string out = "";while (!stk.empty()){out = stk.top() + out;stk.pop();}printf("#%-9s", out.c_str());out = "";for (int i = x; i < src.length(); i++)out += src[i];printf("%-10s", (out + "#").c_str());printf("%-10s\n", wf.c_str());}void analyse(const string& src){stack<string> stk;stk.push("E");int steps = 0;int idx = 0;printf("%-10s%-10s%-10s%-10s\n", "步骤", "符号栈", "输入串", "所用产生式");while (!stk.empty()){string u = stk.top();string tmp = "";stk.pop();if (!isupper(u[0])){if (idx == src.length() && u[0] == '~');else if (src[idx] == u[0])idx++;}else{int x = VN_dic[u] - 1;tmp = predict_table[x][src[idx]];for (int i = tmp.length() - 1; i >= 0; i--){if (tmp[i] == '\''){string v = tmp.substr(i - 1, 2);stk.push(v);i--;}else{string v = tmp.substr(i, 1);stk.push(v);}}tmp = u + "->" + tmp;}print(steps++, stk, src, tmp, idx);}}int main(){int n;char s[MAX];while (cin >> n){for (int i = 0; i < n; i++){cin >> s;int len = strlen(s), j;for (j = 0; j < len; j++)if (s[j] == '-') break;s[j] = 0;if (!VN_dic[s]){VN_set.push_back(s);VN_dic[s] = VN_set.size();}int x = VN_dic[s] - 1;VN_set[x].insert(s + j + 2);}make_first();make_follow();make_table();string in = "i*i+i";analyse(in);}}实验截图如下:输入串First集Follow集分析过程七、实验分析本实验是综合实验,输入文法后,将其放入容器进行处理,完成输入操作。