zoukankan      html  css  js  c++  java
  • Parser Generator的使用说明

    Parser Generator的使用说明
    2010年05月13日 星期四 18:35
    parser generator的使用方法

    这里只以vc6.0为例,首先打开parser generator编辑器,选择Project->LibBuilder

    在LibBuilder对话框中选中Visual C++(32-bit),按属性键Properties后确以下设置

    Script file name                        .\Cpp\Script\msvc32.lbs

    Name                                    Visual C++(32-bit)

    Directory                               msvc32

    Compiler Version                         Version 6

    Unicode                                  True

    Treat wchar_t as Built-in Type            False

    Compiler Bin Directory            安装路径\Microsoft Visual Studio\Vc98\bin

    Compiler Bin Directory(2) 安装路径\Microsoft Visual Studio\Common\MSDev98\bin

    Compiler Include Directory      安装路径\Microsoft Visual Studio\Vc98\include

    Compiler Include Directory(2)               无

    Compiler Library Directory          安装路径\Microsoft Visual Studio\Vc98\lib

    Compiler Library Directory(2)              无

    Libraries下的库文件全部选中后ok

    LibBuilder对话框->Build(编译过程可能几分钟)

    编译完成后我们就可以使用parser generator编写lex或是yacc程序了

    Project->ParserWizard

    Step1 工程设定(一点需要注意语言可以选择c或是c++或java)

    Step2 工程设定(默认创建带main函数的yacc文件和lex文件)

    Step3 yacc文件设定

    Step4 lex文件设定

    Lex和yacc的语法参考http://www.ibm.com/developerworks/cn/linux/sdk/lex/

    编辑好代码后Project->RebBuild All在你创建好的工程下自动生成Step1选定语言的文件(.h/..c/.cpp/.java)

    之后在vc6.0加入如下设置

    Tool->Option-> directory

    Bin file :

    安装目录\PARSER GENERATOR 2\BIN

    Include file:

    安装目录\PARSER GENERATOR 2\CPP\INCLUDE

    Library file

    安装目录\PARSER GENERATOR 2\CPP\LIB\MSVC32

    Soure file

    安装目录\PARSER GENERATOR 2\CPP\SOURCE

    创建vc6.0工程

    将生成文件复制到vc6.0创建工程下

    Source files和Header Files中加入生成文件(.h/.c/.cpp)

    在工程设定中Project->Settings For box选中win32 debug

    c/c++ ->Category选中General ->Preprocessor Definitions加入YYDEBUG

    在工程Project设定Project->Settings For box中选中all

    link -> Category选中General->Object/Library Modules中加入yld.lib

    这里需要注意的是yld.lib为parser generator的DUBUG单线程版本,对于vc的控制台程序是可以的,如果使用了MFC或是Windows applications程序则需要对应下表追加

    Library(DEBUG)

    Run-time Library

    Description

    yld.lib

    Debug Single-Threaded

    单线程静态链接库(DEBUG版本)

    ylmtd.lib

    Debug Multithreaded

    多线程静态链接库(DEBUG版本)

    ylmtrd.lib

    Debug Multithreaded DLL

    多线程静态链接库当run time library 使用动态库(DEBUG版本)

    ylmtrid.lib    

    Debug Multithreaded DLL

    多线程动态链接库当run time library 使用动态库(DEBUG版本)

    Library(RELEASE)

    Run-time Library

    Description

    yl.lib

    Single-Threaded

    单线程静态链接库(RELEASE版本)

    ylmt.lib

    Multithreaded

    多线程静态链接库(RELEASE版本)

    ylmtr.lib

    Multithreaded DLL      

    多线程静态链接库当run time library 使用动态库(RELEASE版本)

    ylmtri.lib

    Multithreaded DLL      

    多线程动态链接库当run time library 使用动态库(RELEASE版本)

    如果使用了动态库版本需要在程序运行环境中追加DLL的地址

    安装目录\PARSER GENERATOR 2\CPP\LIB\MSVC32

    如果需要链接yacc或是lex的dll.在Preprocessor Definitions下加入YYDLL.

    这样就可以使用vc6.0对lex生成文件进行编译了

  • 相关阅读:
    java利用zxing编码解码一维码与二维码
    Spring和MyBatis环境整合
    ML中Boosting和Bagging的比較
    理解x64代码模型
    python list.remove(),del()和filter & lambda
    限制文本域中字符输入个数
    arcgis api for flex之专题图制作(饼状图,柱状图等)
    Linux I/O复用中select poll epoll模型的介绍及其优缺点的比較
    开发H5游戏引擎的选择:Egret或Laya?
    C++刷题——2830: 递归求1*1+2*2+3*3+……+n*n
  • 原文地址:https://www.cnblogs.com/gaoteng/p/2382587.html
Copyright © 2011-2022 走看看