vs2010编译原理_【编译原理】使用Lex将CC++文件输出为HTML文件
2008年9月入学,2012年7月毕业,结束了我在软件学院快乐而丰富的大学生活。本系列是四年专业课程学习的回顾。索引见:http://www.introzo.com/xiaowei_cqu/article/details/7747205
Lex 高级实验
组合实验:
使用Lex工具进行词法分析,并完成以下要求:
输入C/C++源文件,输出HTML文件,语法高亮C/C++源文件。
【实验步骤】
1。在实验环境中配置并安装Parser Generator,并编译lex和yacc函数库
使用向导配置时,使用VS2010,设置属性如下(部分库使用VC++6.0)
编译器Bin目录
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 10.0\VC\BIN
编译器Bin目录(2)
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 10.0\COMMON7\IDE
编译器包含目录
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 10.0\VC\INCLUDE
编译器包含目录(2)
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE
编译器库目录
C:\程序文件\MICROSOFT VISUAL STUDIO 10.0\VC\LIB
编译器库目录(2)
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB
2。编写Lex程序
键 int|double|float|char|void|#include|else|case|struct|return
thekey {Keys}/[ \t]+ 这两行定义了一些关键字。请注意,关键字后面必须跟有空格字符。输出时,在关键字后面加上两次,即可以蓝色
输出keyif if/\(.*\)
keyswitch switch/\(.*\) 分别定义关键字 if 和 switch。考虑到它们的特殊附加信息,它们后面必须带有 ()
str \".*\" 是用双引号("")定义的字符串,以红色输出。
评论1 \/\/.*
comments2 \/\*(.|\n)*\*\/ 分别定义 // 风格和 /**/ 风格的字符串,并以绿色输出。
\n {fputs("
",yyout);}这里是将换行符替换为
——即HTML中的换行符
【实验结果】
读取input.c的C文件如下:
运行程序后,会生成output.html文件,用浏览器打开:
转载请注明出处:http://www.introzo.com/xiaowei_cqu/article/details/7760927
@[TOC](Qt4.7源码编译成VS2010 win32/X64开发版
编译准备、编译原理、编译步骤
编译准备
1。下载【www.introzo.com】并解压;释放到E:\Develop\QT目录下; (http://www.introzo.com/archive/qt/4.7/) 2.安装VS2010
编译原理
Qt4.7提供了configure.exe工具来生成makefile文件。您可以通过configure -help命令查看配置方法。注意红框选项提示: *:表示默认安装 +:表示需要自己配置
编译步骤
1。选择编译Win32的方式还是提示不一致
2、设置以下环境变量: set QTDIR=E:\Develop\QT set QMAKESPEC=win32-msvc2010
3。根据需要,configure可以指定所需的组件或模块:configure -platform win32-msvc2010 -debug-and-release -opensource -shared -fast -qt-sql-sqlite -plugin-sql-sqlite -no- qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista
4,nmake
5,清理
清理之前,记得将qmake.cache和configure.cache备份到其他地方,然后nmake confclean释放空间。最后,将 qmake.cache 和 configure.cache 复制回远程位置。 如果没有,安装qt-vs-addin后添加Qt Versions的路径会失败。
使用LEX实现词法分析器(vs2010 + Parser Generator版本)
前言
?最近在学习编译原理,需要使用LEX自动生成词法分析器。让我与您分享我的个人经历。
词法分析器生成工具LEX的介绍请参考http://www.introzo.com/woaidongmao/archive/2008/11/30/68226.html。
快向导
如果您不想深入了解配置细节并希望使用 Visual Studio 2010 中的解析器生成器,请按照以下步骤操作。该程序包含了从安装到编译代码的整个过程,可以替代一般的程序。
l???????配置环境
1。下载并安装解析器生成器。
2。 ? ? ? ?假设安装目录为“C:\Parser Generator 2”。
3。启动 Visual Studio 2010 并从菜单中选择“工具”、“选项...”。
4。在左侧列表中选择“项目和解决方案”和“VC++ 目录”。 (vs2010中如何打开VC++目录请参考http://www.introzo.com/uid-21375345-id-2953297.html)
5.?????????在右上角的下拉框中选择“Include files”,按下面的“New Line (Ctrl-Insert)”按钮,输入“C:\Parser Generator 2\Cpp\ Include”(或者你的安装路径) 。
6。在右上角的下拉框中选择“Library files”,按下面的“New Line (Ctrl-Insert)”按钮,输入“C:\Parser Generator 2\Cpp\ Lib\msvc32”(或者你的安装小路)。
7.????????????在右上角的下拉框中选择“Source files”,按下面的“New Line (Ctrl-Insert)”按钮,输入“C:\Parser Generator 2\Cpp\ Source”(或者你的安装路径) 。
8。单击“确定”保存设置。
l??????配置项
1。在 Visual Studio 2010 菜单中选择“文件”、“新建”、“项目...”。
2。左侧选择“Visual C++”,右侧选择“Win32 Console Application”,在下面输入项目名称(如“my_compiler”),然后按“确定”。
3。选择左侧的“应用程序设置”,清除右侧的“预编译头”选项。 (注:如果不去掉,则需要在LEX/YACC生成的CPP文件前添加“#include "stdafx.h"”行。)
4。单击“完成”创建项目。
5。从菜单中选择“项目”、“属性...”以打开项目属性页。
6。在顶部的“配置”中选择“活动(调试)”或“调试”。
7。左侧选择“Configuration Properties”\“C/C++”\“Preprocessor”,在右侧“Prepocessor Definitions”项后添加“;YYDEBUG”。
8。选择左侧的“配置属性”\“C/C++”\“代码生成”,将右侧的“运行时库”项更改为“多线程调试(/MTd)”。
9。选择左侧的“配置属性”\“链接器”\“输入”,将右侧的“附加依赖项”更改为“ylmtd.lib”。
10.?????单击“应用(A)”保存当前页面设置。
11。在顶部的“配置”中选择“激活(释放)”或“释放”。
12.????选择左侧的“配置属性”\“C/C++”\“代码生成”,将右侧的“运行时库”项更改为“多线程(/MT)”。
13.????选择左侧的“配置属性”\“链接器”\“输入”,将右侧的“附加依赖项”更改为“ylmt.lib”。
14.????单击“确定”保存当前页面设置。
l?????????编译项目
1。 ???????使用“Project”菜单中的“Parser Wizard”在 Parser Generator 中创建一个项目,然后按“Rebuild All”按钮将其编译为 .h/.cpp 文件。
2.?????????在Visual Studio 2010的“解决方案资源管理器”中选择您的项目名称,右键单击,选择“添加”,“现有项...”,并将Parser Generator生成的.h/.cpp文件导入到项目中。
3。从工具栏上的“配置”中选择“发布”。
4。从菜单中选择“Build”、“Build Solution”来编译项目。
软件环境
我配置的软件环境如下:
Windows 7 Ultimate Microsoft Visual Studio 2010 ProfessionalParser Generator 2.07
对源代码进行必要的修改
?? ? ? Parser Generator库的源文件全部位于“\Parser Generator 2\Cpp\Source”文件夹中,其中包含300多个.c或.cpp文件。其中一些需要修改后才能被VS2010编译。
?? ? ?因为C编译器只允许用常量初始化全局变量,但PG库中很多地方都使用其他全局对象(如stdout)来初始化变量,所以我们需要对这些文件进行重命名。具体方法是将“C:\Parser Generator 2\Cpp\Source”目录下的“*var.c”文件重命名为“*var.cpp”。
参考文献
l? ? ? ?在 Visual Studio 2005 中配置 Visual C++ 解析器生成器?-http://www.introzo.com/cgi-bin/bbs.cgi?q=show&id=tech&pid=20061017011421
l? ? ? ?查看vs2010中的VC++目录?-http://www.introzo.com/uid-21375345-id-2953297.html
相关文章
- 10-08 淘宝秋裤神卡怎么获得?淘宝秋裤神卡获得方法
- 10-08 2018淘宝年货节解封神卡怎么找不到?淘宝解封神
- 10-08 据说帮我解封的朋友2018会有意想不到的好事发生
- 10-08 很强大,批处理框架Spring Batch就应该这
- 10-08 加入一家不到20人的IT公司后,真是让人大开眼界,
- 10-08 一个无需注解的SpringBoot API文档生成
- 10-08 苏宁投资锤子手机,大佬们就这么喜欢玩手机吗
- 10-08 上海成立新一代数据库与人工智能研究中心
- 10-08 江苏利用云计算、人工智能、大数据等手段提升公路管理
- 10-08 融创中国将停牌:无法如期发布年报,4月1日起停牌
- 10-08 融创中国此前宣布无法按时公布年度业绩,盘中跌超19
- 10-08 广电总局:推动短剧创作发展鼓励电视台增加短剧播出频
- 10-08 iPhone 5硬盘维修:恢复您的数据和设备的正常
- 10-08 探究HP服务器SAS硬盘是否需要分区(HP服务器S
- 10-08 《武汉SD卡数据恢复教程》:操作简单,轻松保存您的
- 10-08 一个好的程序员是一个懒惰的程序员
- 10-08 中国第一位女程序员——张琪霞
- 10-08 中国程序员荣获TopCoder国际编程大赛冠军
- 10-08 stm32捕获脉冲序列(stm32捕获脉冲数量)
- 10-08 两个 esp32 蓝牙连接(esp32 蓝牙配对)
- 最近发表