1231 귀속 하강 문법 분석 프로그램 설계

1666 단어
#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("
!"); 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("
!"); exit(0); } } else { printf("
!"); exit(0); } }

좋은 웹페이지 즐겨찾기