gpt4 book ai didi

c++ - 将flex生成的代码放到一个普通的C++程序中

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:16 31 4
gpt4 key购买 nike

我创建了一个简单的文件,使用 flex,它生成了一个文件 lex.yy.c,现在,我想把它放到 C++ 程序中。

%{

#include < stdio.h>

%}

%%

stop printf("Stop command received\n");

start printf("Start command received\n");

%%

当我在命令行中键入 start 或 stop 时,会有一个输出。我想做的是通过我的 C++ 程序提供输入,它的输出应该发送到我程序中的一个变量,这可能吗?多谢!

我知道我发布的代码很简单,但我想象的结果是:

通过flex和bison创建c文件,我用它作为header,所以在c++程序中,我只需要调用一个函数lex_yacc()就可以使用了。前任。 lex_yacc() 是一个计算器,所以我向这个函数发送了一个带有变量的表达式,它会返回结果。我想在 C++ 程序中使用这个函数,我很困惑......非常感谢!

最佳答案

参见关于 multiple input buffers 的部分在手册中。特别是关于 yy_scan_stringyy_scan_bytes 的部分。

对于“输出”,当您将“停止”或“开始”作为输入时,当然是“输出”,您明确地这样做了(即 printf 调用)。您可以将任何代码放在那里。

关于c++ - 将flex生成的代码放到一个普通的C++程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12526153/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com