Flex 将输入设置为内存字符串

#include <iostream>
#include "lexer.h"
#define yylex aaslex
#define yy_scan_string aas_scan_string
#define yy_delete_buffer aas_delete_buffer
int main()
{
std::string src = "username xx aa";
YY_BUFFER_STATE state = yy_scan_string(src.data());
yylex();
yy_delete_buffer(state);
}

lexer.l:

%option noyywrap noline
%option prefix="aas"
%option header-file="lexer.h"
%{
#include <iostream>
%}
%%
username {printf( "%s\n", yytext ); }
. { printf( "other:%s\n", yytext ); }
%%

命令行:

> win_flex --wincompat -o %(Filename).cc %(Identity)
posted @   Ajanuw  阅读(100)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
历史上的今天:
2019-06-04 Puppeteer: 鼠标移动
2019-06-04 Puppeteer: 虚拟键盘
2019-06-04 Dart: 请求graphql数据
点击右上角即可分享
微信分享提示