• 词法分析器生成工具lex使用


    一个lex程序具有如下形式:

    声明部分:包括变量和明示常量,可以将一些c语言的东西写在%{....... %},并且可以在转换规则中调用

    %{
        #include <stdio.h>
        int id_num;   /*常量量*/
    %}
    
    letter [A-Za-z]    /*正则变量*/
    start start        /*正则变量*/
    stop  stop     /*正则变量*/

    转换规则:通过在声明部分的正则变量,识别输入流中的单词,并可以执行一些动作

    lex程序中的每个转换规则具有如下形式:

                                                     模式  {动作}

    %%
    letter {id_num++;}
    start  {printf("start received");}
    stop   {printf("stop received");}

    模式:letter {动作 letter的数目加一}

    辅助函数:

    %%
    void main()
    {
        yylex(); /* start the analysis*/
        printf("no of letter:%d",id_num);
    }
    
    int yywrap()
    {
        return 1;
    }
  • 相关阅读:
    07 JavaWeb
    06 XML编程(CRUD)
    05 XML
    04 DOM一窥
    03 Javascript初识
    02 CSS/javaScript
    01 HTML基础
    09_IO流
    08_集合概述
    07_基本数据类型和包装类
  • 原文地址:https://www.cnblogs.com/GODYCA/p/2843096.html
Copyright © 2020-2023  润新知