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

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

11得票2回答
Haskell parsing tools - yacc:lex :: happy:?

因此,看起来在Haskell中,Happy似乎是yacc的一个强有力的替代品。是否存在同样强大的词法分析器生成器来替换lex/flex?

11得票2回答
有没有 Yacc 语法调试器?

我一直在帮助增强公司内部的一种20多年专有语言。它是一种大型、图灵完备的语言。将其翻译成其他语法体系(如Antlr)不是一个选项(这不由我决定)。 在大多数情况下,扩展语法都很顺利。但偶尔会出现减少-减少或移位-减少的情况 很难消除 有时根本没有意义(对我这个脑子笨的人来说) 经过漫...

11得票1回答
从lex和yacc语法生成编译器

我正在尝试生成一个编译器,以便可以将.c文件传递给它。 我从http://www.quut.com/c/ANSI-C-grammar-y.html下载了YACC和LEX语法,并将它们命名为clexyacc.l和clexyacc.y。 在终端上生成时我执行了以下命令: yacc -d cl...

11得票2回答
在yacc/ocamlyacc中解决reduce/reduce冲突

我正在尝试在ocamlyacc中解析文法(与常规yacc几乎相同),该文法支持没有运算符的函数应用(如Ocaml或Haskell中的函数应用)以及正常的二元和一元运算符。我遇到了一个减号“-”运算符的reduce/reduce冲突,因为它既可以用于减法又可以用于否定。以下是我正在使用的文法示例...

11得票2回答
收到警告:规则无法匹配。

我正在构建一个词法和语法分析器。当我尝试使用flex处理我的.l文件时,出现了以下警告。 littleDuck.l:26: warning, rule cannot be matched 第26条规则以{cteI}开头,我的规则部分如下: [ \t\n] ; {RW} ...

11得票2回答
尝试为bison/wisent构建C#语法

我以前从未使用过Bison或Wisent。 我该如何入门? 我的真正目标是为C#生成一个可工作的Wisent/Semantic语法,以允许在emacs中编辑C#代码并具备代码自动完成和其他CEDET功能。 (对于那些不知道的人,Wisent是GNU Bison的一个emacs-lisp端口,...

10得票2回答
Go工具yacc中最简单的解析器

使用以下命令:go tool yacc -p Verb -o verb.go boilerplate.y 尝试构建此yacc文件:// boilerplate.y %{ package main import ( "bufio" "fmt" "os" "un...

10得票1回答
在 lex 中如何使 yyin 指向 yacc 中的 main 函数所在的文件?

我将在yacc中存储传递给main的参数到一个文件中。现在我想让lex从这个文件中读取输入,而不是从终端。我知道我可以指向一个文件来设置yyin,例如yyin = fopen("fn","r");,但是这只适用于当main在lex中时。当我在yacc的main函数中使用这个yyin声明时,它会...

10得票3回答
如何在yacc中使用字符串与yylval

我想要传递一个令牌的实际字符串。如果我有一个名为ID的令牌,那么我希望我的yacc文件实际上知道ID被称为什么。我认为我需要通过使用yylval从flex文件向yacc文件传递一个字符串。我该如何做到这一点?