实验一、××实验
专业 姓名 学号
一、 实验目的
编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的文法检查和结构分析
二、 实验内容和要求
利用C语言编制递归下降分析程序,并对简单语言进行语法分析
三、 实验方法、步骤及结果测试
#include<stdio.h> #include<string> char str[10]; //记录要分析的字符串 int x=0; //记录第一个字符 void E(); void X(); void T(); void Y(); void F(); int main() { int len; printf("请输入算数表达式:"); scanf("%s",str); len=strlen(str); str[len]='#'; str[len+1]='\0'; E(); printf("\nTrue!\n"); strcpy(str,""); x=0; return 0; } void E() { T(); X(); } void X() { if(str[x]=='+'||str[x]=='-') { x++; T(); X(); } } void T() { F(); Y(); } void Y() { if(str[x]=='*'||str[x]=='/') { x++; F(); Y(); } } void F() { if(str[x]>='a'&&str[x]<='z') { x++; } else if(str[x]>=0&&str[x]<=9) { x++; } else if (str[x]=='(') { x++; E(); if(str[x]==')') { x++; } else { printf("\nError!\n"); exit(0); } } else { printf("\nError!\n"); exit(0); } }
四、 实验总结