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

    词法分析程序的功能:先让用户输入一段字符串程序段,然后利用词法分析程序进行词法分析,识别出关键字、标识符、常数、运算符、界符,分别输出单词自身的值以及单词种别。

    符号与种别码对照表:

    单词符号

    种别码

    单词符号

    种别码

    begin

    1

    :

    17

    if

    2

    :=

    18

    then

    3

    <

    20

    while

    4

    <=

    21

    do

    5

    <>

    22

    end

    6

    >

    23

    l(l|d)*

    10

    >=

    24

    dd*

    11

    =

    25

    +

    13

    ;

    26

    -

    14

    (

    27

    *

    15

    )

    28

    /

    16

    #

    0

    用文法描述词法规则:

    <字母>

    S→a|b|.......|z;

    <数字>

    S→1|2|3|......|9|0;

    <整数常数>

    L→1|2|3|......|9;

    S→L|L0;

    <标识符>

    A→a|b|......|z;

    B→1|2|......|9|0;

    S→A|B|AB;

    <关键字>

    S→const|var|begin|end|if|while|...

    <运算符>

    S→+|-|*|/|=|#|<|>|<=|>=|:=

    <界符>

    S→(|)|,|;|.

    #include<stdio.h>
    #define max 100
    main()
    {
        int i=0;
        char a[max]={" "};
        printf("请输入一段程序段,便于词法分析(以!作为结束符):");
        do{
            scanf("%c",&a[i]);
            i++;    
        }while(a[i-1]!='!');
    }
  • 相关阅读:
    2019年面试题1
    面试题
    vsftp多个用户公享同一个文件,但是权限不同
    centos7搭建ftp
    安装v2ra y
    centos7安装lamp
    日升昌面试题
    一些插件
    面试被怼集(字节跳动篇)
    TOMCAT原理详解及请求过程(转载)
  • 原文地址:https://www.cnblogs.com/04JC/p/5924832.html
Copyright © 2011-2022 走看看