flex与bison接口不兼容的问题
来源:互联网 发布:事件视界 知乎 编辑:程序博客网 时间:2024/06/09 17:33
flex和bison在产生C++类层面上接口不兼容描述如下:
1.flex中 C++类 yyFlexLexer产生接口
yyFlexLexer(istream *in,istream* out);
void yylex()
void switch_stream(istream *in,istream *out);
int yylex(istream *in,istream *out);
yyFlexLexer(istream *in,istream* out);
void yylex()
void switch_stream(istream *in,istream *out);
int yylex(istream *in,istream *out);
2. bison产生类所使用的lex接口,parser里面直接调用parser::lex_()接口,而lex_()直接调用全局的yylex()
int yylex (semantic_value_type& yylval, location_type& yylloc, type1 arg1, ...)
还是使用全局的yylex???
个人感觉如果使用C++类来完成两者的结合基本上很困难。但是依然有办法可以创建可重入的,就是使用yylex中的%reentrant这个选项,使用了yyscan_t保存状态,里面可以设置yylval和yylloc这两个对象。
- flex与bison接口不兼容的问题
- 《flex与bison》读书笔记--前言
- vs2012 与 win7 不兼容的问题
- bison和flex的基本原理
- bison和flex的例子
- flex 和 bison 的计算机
- Bison和Flex的学习
- Flex Builder和amd64的不兼容?
- flex bison
- bison & flex
- flex&bison
- flex bison
- flex&&bison
- 想翻译flex与bison这书
- GNU Flex与Bison结合使用
- GNU Flex与Bison结合使用
- Ajax程序与IE7不兼容的问题
- WIN2003 SERVER与CSS定义不兼容的问题
- asp.net/c#代码实现excel to mssql数据导入
- 佐藤さん的橄榄枝
- Studio 2005 C++ Project Settings
- 序列化
- ComponentArt.web.ui中文帮助之Grid(一)
- flex与bison接口不兼容的问题
- C#如何获取文件扩展名
- 莫名的悲伤
- ComponentArt.web.ui中文帮助之Grid(二)
- 法航遇难者家人索赔费用可能达3亿欧元
- C#如何打开选中的文件夹并指向选中的文件
- ComponentArt.web.ui中文帮助之Grid(三)
- Qt 4自动实现signal和slot的连接
- 如何使用eclipse进行嵌入式Linux的开发