9得票2回答
正则表达式 - 匹配空白字符

我在编写一个正则表达式来去除输入中的所有空格,但是一直遇到困难。 我尝试过 \s+ 和 [ \t\t\r]+ 但是都没有生效。 我需要这个正则表达式因为我正在使用 flex 编写一个扫描器,而且我卡在了匹配空格上。空格应该只是被匹配而不是被移除。 例如输入: program 3.3 ...

9得票1回答
Flex yylineno 设置为1

我正在编写一个简单的tcpdump日志解析器,你能告诉我为什么我无法获得正确的行号吗? %{ char str[80]; %} %option yylineno ... %% ^{HOURS}:{MINUTES}:{MINUTES} if(input()=='.') { strcpy(s...

9得票2回答
在Lex和Yacc中创建注释

如何在Lex和Yacc中添加注释? 到目前为止,我还没有尝试过Yacc,但是在Lex中我已经尝试了/* 注释 */和// 注释,但是这两种都无法编译。我正在使用内置的Lex和Yacc编译器(或者可能是X-Code的),我的电脑是Mac系统。请问在Lex或Yacc中添加注释的正确语法是什么,最...

9得票1回答
yytext[0]的含义是什么?

yytext[0]是什么意思?在lex和yacc程序中为什么要使用它?作为学习者,如果这是一个愚蠢的问题,请不要介意。

9得票1回答
使用Flex编写可重入的词法分析器

我是一个新手,想要学习flex。我试图使用flex编写一个简单的可重入词法分析器/扫描器。下面是词法分析器的定义。但是我遇到了编译错误,如下所示(yyg问题): reentrant.l: /* Definitions */ digit [0-9] letter ...

9得票1回答
Flex似乎不支持正则表达式中前瞻断言(用于快速词法分析器)。

当我尝试在flex中使用以下正则表达式来定义int类型时: int (?<!\w)(([1-9]\d*)|0)(?!\w) 我本意是要使它无效: int a = 123; int b = 123f; //the '123' should not filtered as an...

9得票3回答
有没有适用于JavaScript的Flex-Bison解析器?

是否有开放的解析器可用?如果没有,我打算使用http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf中的语法规则编写一个。 谢谢。

9得票2回答
Emacs模式用于flex和bison,或者删除这些模式的自动缩进?

Emacs在Flex和Bison的自动缩进方面处理较差。实际上,它似乎没有对flex模式提供支持。那么,Emacs用户该如何应对这些问题呢?我喜欢Vim,但我更喜欢不切换到Vim,因为我在Emacs中速度更快、更舒适。 几个月前,我有一个第三方的Bison elisp模块,但是当它的缩进出现...

9得票2回答
在OS X上使用Flex(词法分析器)

我有一个文件test.lex,需要运行它 $ flex test.lex 那给了我lex.yy.c文件,我尝试编译它: $ gcc lex.yy.c -lfl 这让我产生了错误信息:ld: 找不到库-lfl。我知道Flex规范是正确的,lex.yy.c在Linux机器上也可以编译通...

8得票2回答
如何消除flex和bison的“main”例程,以便我可以将词法分析和语法分析过程放入库中?

我正在开发一个解析JSON字符串的库,但遇到了问题。使用ld将我写的库链接时,出现了错误消息: main.o: In function `main': main.c:(.text+0x0): multiple definition of `main' json-parser.o:/build...