15得票3回答
Lex不区分大小写的单词检测

我需要在C语言中处理一个字符串,其中特定单词(如果存在)必须转换为大写字母。 我的首选方案是在LEX中处理它,像这样:%% word1 {setToUppercase(yytext);RETURN WORD1;} word2 {setToUppercase(yytext);RETU...

15得票3回答
解析树和推导树有什么区别吗?

AST(抽象语法树)、解析树和推导树这些术语在不同人士的口中,是指解析符合语法规则的文本所得到的结果。假设我们正在讨论计算机语言的解析,这些术语之间的差异是否足够微小,以至于我们可以互换使用这些术语?如果不能,我们应该如何正确地使用这些术语?

14得票5回答
如何在Lex & Yacc(Solaris)中将YY_INPUT指向字符串而不是stdin

我想让我的 yylex() 解析一个字符串而不是文件或标准输入。如何在Solaris提供的Lex和Yacc中实现?

13得票2回答
如何在LEX / FLEX中编写非贪婪匹配?

我正在尝试使用FLEX和BISON解析一种类似于'C'的旧语言。除了匹配字符串之外,一切都很顺利。 这种相当奇怪的旧语言不支持在字符串文字中引用字符,因此以下都是有效的字符串文字:"hello" "" "\" 我使用以下规则匹配字符串文字:\".*\" { yylval...

13得票5回答
Bison文件结尾

如果我忘记在任何一个文件的末尾放置空行,那么我的程序会出现语法错误。问题在于我的语法需要换行符来结束当前行。由于没有换行符,bison 生成语法错误,因为它没有完成规则。 如何解决这个问题?我尝试让<<EOF>>返回MY_EOF,但是当我这样做时,lex 就会崩溃。我...

13得票5回答
有没有适用于Flex和Bison的Sublime Text语法?

我正在寻找Sublime Text中可以使我的Flex和Bison文件(或lex/yacc)以易读的方式高亮显示的语法... Sublime Text自动选择Lisp用于Flex文件,但这并不是很好。有没有建议尝试其他语法?或者是否有一个有用的插件(到目前为止还没有找到任何东西)?

12得票2回答
如何使用Flex和YACC实现#include结构?

在解析过程中,如果我遇到一个include标记,我想要指示YACC打开指定的输入文件并开始解析它。一旦解析完成,我想要指示YACC返回原文件并直接继续解析include表达式后面的内容。我将限制include深度级别为一。

12得票6回答
我该如何消除以下“隐式声明函数”的警告?

如何在使用gcc编译lex文件时避免以下警告?lex.yy.c: In function `yy_init_buffer': lex.yy.c:1688: warning: implicit declaration of function `fileno' lex.l: In function...

12得票9回答
Flex和Yacc - 找不到 - lfl?

嗨,我正在学习Lex和Yacc。我创建了以下的Lex程序。 %{ #include <stdio.h> %} %% [0123456789]+ printf("NUMBER\n"); [a-zA-Z][a-zA-Z0-9]* printf("WORD\...

12得票3回答
寻找Java语法的lex/yacc格式

有人知道在线的lex/yacc格式语法库吗?我正在寻找一个Java语法来制作一个快速的源代码转换器。 谢谢! 编辑:我希望使用尽可能少的语法重写fslex / fsyacc,因此更倾向于使用lex / yacc。