zoukankan      html  css  js  c++  java
  • 未完成的词法分析

    输入一个词时,进行判断,通过循环不断输入词并进行分析。

    当输入#字符时,程序结束。

    #include<stdio.h>
    #define MAX 100
    int Ana(char str[]);
    main()
    {
    int a[10];
    int i;
    char str[MAX];
    do{
    printf("输入要分析的词(当输入#时为结束):");
    scanf("%s",str);
    i=Ana(str);
    switch(i)
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:printf("%s为关键字",str);
    break;
    case 6:
    case 7:
    case 8:
    case 9:printf("%s为运算符",str);
    }
    printf(" ");
    getchar();
    }while(str[strlen(str)-1]!='#');
    }
    int Ana(char str[])
    {
    int j;
    if(strcmp(str,"begin")==0)
    {
    j=1;
    return j;
    }
    if(strcmp(str,"if")==0)
    {
    j=2;
    return j;
    }
    if(strcmp(str,"while")==0)
    {
    j=3;
    return j;
    }
    if(strcmp(str,"do")==0)
    {
    j=4;
    return j;
    }
    if(strcmp(str,"end")==0)
    {
    j=5;
    return j;
    }
    if(strcmp(str,"+")==0)
    {
    j=6;
    return j;
    }
    if(strcmp(str,"-")==0)
    {
    j=7;
    return j;
    }
    if(strcmp(str,"*")==0)
    {
    j=8;
    return j;
    }
    if(strcmp(str,"/")==0)
    {
    j=9;
    return j;
    }

    }

  • 相关阅读:
    Java实现线程的三种方法
    java 包和访问权限小结
    Java从外部调用类的私有方法
    find
    sigprocmask
    alerm和pause
    kill和raise
    信号处理中可重入函数调用
    低速系统调用的信号中断
    signal函数
  • 原文地址:https://www.cnblogs.com/hkvbm/p/5923521.html
Copyright © 2011-2022 走看看