c语言学习中地语法分析器.doc
《c语言学习中地语法分析器.doc》由会员分享,可在线阅读,更多相关《c语言学习中地语法分析器.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include #include #include /*/ int count=0; /*分解的产生式的个数*/ int number; /*所有终结符和非终结符的总数*/ char start; /*开始符号*/ char termin50; /*终结符号*/ char non_ter50; /*非终结符号*/ char v50; /*所有符号*/ char left50; /*左部*/ char right5050; /*右部*/ char first5050,follow5050; /*各产生式右部的 FIRST 和左部的 FOLLOW 集合*/ char first15050; /*
2、所有单个符号的 FIRST 集合*/ char select5050; /*各单个产生式的 SELECT 集合*/ char f50,F50; /*记录各符号的 FIRST 和 FOLLOW 是否已求过*/ char empty20; /*记录可直接推出的符号*/ char TEMP50; /*求 FOLLOW 时存放某一符号串的 FIRST 集合*/ int validity=1; /*表示输入文法是否有效*/ int ll=1; /*表示输入文法是否为 LL(1)文法*/ int M2020; /*分析表*/ char choose; /*用户输入时使用*/ char empt20; /*
3、求_emp()时使用*/ char fo20; /*求 FOLLOW 集合时使用*/* 判断一个字符是否在指定字符串中 */ int in(char c,char *p) int i; if(strlen(p)=0) return(0); for(i=0;i+) if(pi=c)return(1); /*若在,返回 1*/ if(i=strlen(p)return(0); /*若不在,返回 0*/ /* 得到一个不是非终结符的符号 */char c() char c=A;while(in(c,non_ter)=1) c+; return(c); /* 分解含有左递归的产生式 */ void r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 语法 分析器
限制150内