zoukankan      html  css  js  c++  java
  • 词法分析程序

    词法分析程序的功能:
    用户输入一段源程序,通过词法分析程序进行对这段源程序的相关的分解,通过对
    符号的对比,进行相应的符号与种别码的对照,最后进行源程序的分析后答案的输入。

    符号与种别码对照表:
    单词符号 种别码 单词符号 种别码
    begin     1        :          17
    if           2        :=        18
    then      3        <          20
    while      4       <=        22
    do         5
    end       6         >         23
    l(l|d)*   10       >=       24
    dd*      11       =         25
    +         13         ;        26
    -          14        (         27
    *          15        )        28
    /          16        #         0

    用文法描述词法规则:

    <字母〉L->a|b|c|...|y|z|

    <数字>D->1|2|3|...|8|9|
    s->D|sD|s0|
    <标识符>
    A->1|2|3|...|8|9|
    B->a|b|c|...|y|z|
    S->AB
    <运算符>
    A->+|-|*|/|
    <分隔符>
    A->:|:=|<|<=|<>|>|>=|=|;|(|)


    已完成的代码:

    #include <stdio.h>
    #include <string.h>
    char prog[80],token[8],ch;
    int syn,p,m,n,sum;
    char *rwtab[6]={"begin","if","then","while","do","end"};
    void scaner();
    main()
    {p=0;
    printf("please input a string(end with '#'):");
    do{
    scanf("%c",&ch);
    prog[p++]=ch;
    }while(ch!='#');
    }

  • 相关阅读:
    【noi2018】归程
    【USACO06JAN】牛的舞会The Cow Prom
    City Horizon (线段树)
    USACO 2019 January Gold Cow Poetry (结论+dp)
    POJ 2528 Mayor's posters (线段树)
    线段覆盖 (线段树)
    POJ 2892 Tunnel Warfare (线段树)
    NOIP 2017 逛公园 (最短路+dp)
    USACO 2019 February Gold Cow Land (树链剖分)
    CSU 2151 集训难度(线段树)
  • 原文地址:https://www.cnblogs.com/cgz123/p/5924784.html
Copyright © 2011-2022 走看看