1,新建 Parser Generator 点击project --> new

2,填写工程名字 随意取一个名字 点击OK

3,点击Project选项下的 parserwizard 分析器向导选项

这里需要填写 工程存放的目录,以及工程名字。

4,选择配置 这里选择 只lex文件,并创建main程序,单线程模式

点下一步

5,点击完成

6,程序会生成 mylexer.l 的lex空文件,我们需要建立一个简单的lex文件已作说明

将下列程序源代码覆盖生成的lex代码

  1. %{
  2.  
  3. %}
  4.  
  5. %%
  6.  
  7. //表示如果是在双引号(")中(即为字符串),则照常打印,编译时请删除此注释
  8.  
  9. \".*\" {printf("%s",yytext);}
  10.  
  11. [^ \t\n]+ {printf("%s",yytext);}
  12.  
  13. //表示如果遇到float,且附加模式是后面跟有空白符,则将int替换为float,编译时请删除此注释
  14.  
  15. int/[ \t]+ {printf("float");}
  16.  
  17. \n|. {printf("%s",yytext);}
  18.  
  19. %%
  20.  
  21. #pragma comment(lib,"y1.txt")
  22.  
  23. int main(void)
  24.  
  25. {
  26.  
  27. yyin=stdin;
  28.  
  29. return yylex();
  30.  
  31. }

7,编译 lex文件 点击 工具栏中的 Build选项,中间那个图标

8,编译完成 应该是0个错误,0个警告

9,配置VC 6.0

启动 vc 6.0 建立一个空的控制台工程

点击 Finish

10,添加第8步编译好的C h文件

打开 Parser Generator 所建工程目录,应当有下列文件

注:这里有因为建立了两次 两个工程,实际上只有一个

11,添加文件

在VC 6.0中将 source 和 Header 相应文件夹处添加好 相应的源码和头文件

12,配置VC环境

现在要设置环境变量了,首先要导入Parser Generator的库文件和源文件。在工具->选项里要设置这些环境变量。

设置完这些文件后,还要在工程->设置里添加yl.lib

在预编译选项下添加 YYDEBUG

然后点击 OK 完成

13,编译生成的C程序 一般不会有错误

软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float的更多相关文章

  1. sed 's/AA/BB/' file # 将文件中的AA替换成BB,只替换一行中第一次出现的AA,替换后的结果输出到屏幕 sed 's/AA/BB/g' file # 将文件中的所有AA都替换成BB,替换后的结果输出到屏幕

    生信人的自我修养:Linux命令速查手册 简佐义 ​ 四川大学 生物信息学硕士 科学求真 赢 10 万奖金 · 院士面对面 209 人赞同了该文章 许多人做生物信息学,要么不重视Linux,要么不知道 ...

  2. 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”

    //字符串替换空格:实现一个函数,把字符串里的空格替换成"%20" #include <stdio.h> #include <assert.h> void ...

  3. java实验二——输出一个指定整数的所有质因数

    import java.util.Scanner; public class 实验二 { /** * @param args */ public static void main(String[] a ...

  4. 实验二——Linux系统简单文件操作命令

    项目 内容 这个作业属于那个课程 这里是链接 作业要求在哪里 这里是链接 学号-姓名 17041506-张政 作业学习目标 学习在Linux系统终端下进行命令行操作,掌握常用命令行操作并能通过命令行操 ...

  5. 实验二 Linux系统简单文件操作命令

    项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接接地址 学号-姓名 17041428-朱槐健 作业学习目标 1.学习在Linux系统终端下进行命令行操作 2.掌 ...

  6. 软件构造实验-百度图像识别api

    识别结果: 识别结果:

  7. 软件构造实验-Guns

    根据guns开发示例,搭建汽车信息管理系统

  8. 软件构造实验-JFinal

    导入JFinal的demo 可以增删改查 根据demo以及自己的理解,使用JFinal实现学生信息管理系统.

  9. 符号替换问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    public class Solution { public String replaceSpace(StringBuffer str) { String str1=str.toString(); c ...

随机推荐

  1. 如何在含有json类型的字段上建立多列索引

    废话不多,直接上图 如 : 表结构如图           那么我想在这三个字段上建立一个唯一索引,目的是为了防止重复插入数据, 1.首先,说明一下 data中的json中,key为 tagID 和 ...

  2. vue 2.0 + 如何实现加入购物车,小球飞入的动画

    github源码地址:https://github.com/13476075014/node-vue/tree/master/mynodeproject/13.sell/sell 在移动端经常会有加入 ...

  3. multer实现图片上传

    multer实现图片上传: ejs代码: <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  4. Oracle11g数据库导入Oracle10g操作成功

    转自:https://wenku.baidu.com/view/1b652b57f7ec4afe04a1dfb8.html

  5. Flutter学习之Dart语言基础(构造函数)

    最常见的构造函数形式,即生成构造函数,创建一个类的新实例: class Point { num x, y; //Dart中int和double是num的子类 //this引用当前类对象 Point(n ...

  6. SOAP与restful webservice

    SOAP 什么是SOAP,我想不用多说,google一把满眼都是.其实SOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMT ...

  7. matplotlib基本函数

    数据分析 matlab Numpy + scipy + pandas +matplotlib 数据计算 +科学应用+数据清洗+数据可视化 1 Numpy概述 1 基于c语言的python接口的数值算法 ...

  8. Rocketmq 集群部署

    10.1.0.178 配置文件 broker-a-m.properties brokerClusterName=PaymentClusterbrokerName=broker-anamesrvAddr ...

  9. TLS1.3&TLS1.2形式化分析(二)

    1.下面是TLS1.2和TLS1.3握手协议过程 ,明显的可以看出存在不同 . 我们先说TLS1.2的握手过程明显是比TLS1.3的握手过多了一次.在TLS1.3中舍弃了之前RSA的协商过程,然后基于 ...

  10. DRDA

    在谈到分布式DB2数据时,有必要谈谈DRDA. DRDA代表分布式关系数据库体系结构. 它是由IBM开发的一种体系结构,它使关系数据能够在多个平台之间分布. 平台和平台都可以相互通信. 例如,一个DB ...