编译原理(递归下降分析程序)
2009-11-11 19:10
375 查看
编译原理 (递归下降分析程序)
#include<iostream> #include<string> #include<stdlib.h> using namespace std; int i=0; string nexttoken; char ch; void A(); void A1(); void read() { ch= nexttoken[++i]; } void error() { cout<<"不是本文法的句型!!"<<endl; exit(1); } void S() { read(); if(ch=='(') { read(); A(); if (ch==')') goto L; else error(); } else if(ch!='a') error(); else { read();A(); if(ch=='b') goto L; else error();} L:read(); return; } void A() { if(ch== 'e') {read();goto L;} if(ch!= 'd') error(); S(); L:A1(); return; } void A1() { L:if(ch=='d'){ read();goto L;} else if(ch=='b') goto L1; else if(ch==')') goto L1; else error(); L1:return; } void main() { try { cout<<"Please input the string: "<<endl; cin>>nexttoken; ch=nexttoken[i]; S(); cout<<"为本文法的句型!"<<endl; } catch(char) { cout<<"输入出错!"<<endl; } } //(aeb)正确
相关文章推荐
- 编译原理实验2-递归下降分析–表达式求值
- 递归下降法的语法分析器-3.1-编译原理
- 编译原理学习笔记(二)左递归消除、递归下降
- 编译原理学习笔记10——(野火烧不尽再递归下降—— E → E+T | T从上向下程序)——2014_1_26
- 递归下降分析法(编译原理)
- 递归下降法的语法分析器-3-编译原理
- 编译原理语法分析器递归下降法求助
- 编译原理练习 递归下降
- 编译原理-递归下降分析器
- 递归下降法的语法分析器-3.1-编译原理
- 编译原理及实践(Compiler Construction Principles and Practice)——简单的递归下降程序计算器
- 【编译原理】自顶向下的语法分析之递归下降分析法
- 编译原理实验三——语法分析(递归下降法)
- 编译原理-递归下降语法分析器(Java)
- 递归下降分析法(编译原理)
- 编译原理学习笔记05——(识别孙悟空72变之魔鬼特训—递归下降分析程序构造)——2014_1_20
- 编译原理---递归下降分析法
- 编译原理实验2-递归下降分析法
- 编译原理 递归下降分析 的应用
- 编译原理 实验3 递归下降语法分析程序设计