问题标签 [lemon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
111 浏览

parsing - 具有 void * 类型的柠檬解析器标记值

我试图为我的柠檬解析器使用 void* 类型,但我遇到了一些奇怪的问题。

最初我使用自定义标记类型,一个结构来保存标记的值,然后我切换到 void* 因为我的标记值类型不同。

这是我的一些解析器代码;

这是我的词法分析器,它是 re2c 文件;

sy[size].val是双重类型。

但是当我运行它时1+2返回4,当我运行1+4它时返回8

我的猜测是解析器将最正确的值放入它的堆栈中,并在它看到令牌参数的任何地方使用它。

0 投票
2 回答
169 浏览

parsing - 如何解决此解析冲突?

我有一个用柠檬写的小语法,导致解析冲突。

这是导致冲突的语法部分:

我已经看到了这个答案,但它只适用于野牛/yacc 我不知道如何在柠檬中复制它。

解决此解析冲突的最佳方法是什么?

提前致谢。

0 投票
1 回答
94 浏览

parsing - 语法中的 SR 冲突 - 如何解决?(柠檬/yacc)

我在 Lemon 中整理了一个语法(类似于 YACC),但它产生了 S/R 冲突。我不习惯 LALR 解析,不明白问题是什么,也不知道如何解决。语法是:

柠檬的输出是:

您可以在“状态 36”中找到冲突(我剔除了多余的输出)。我相信它应该可以通过优先规则解决,但我不知道如何解决。

0 投票
0 回答
96 浏览

c++ - 如何正确编写第三方库的 CmakeLists.txt?

我正在使用 CLion 编写一个 Cmake 项目。这是目录的树视图(文件被忽略),其中 lemon-1.3-1 是第三方库。

我还写了以下内容CMakeLists.txt。使用此文件,自动代码完成可以正常工作。

main.cpp

但是当我运行该main函数时,我收到以下错误消息。

我该如何解决这个问题?