gpt4 book ai didi

c - 为什么使用 ANTLR works 1.5 不生成 c 头文件?

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:50 28 4
gpt4 key购买 nike

我正在尝试从 ANTLR.grammar 文件生成 c 代码,在 Windows 上使用 antlrworks 1.5 (ANTLR 3.5),但它不会生成任何头文件,例如它生成的 sample.g:
sample.tokens
sampleLexer.c
sampleParser.c

但没有任何头文件,我不明白为什么。

为了示例,我现在使用的语法非常简单:

grammar sample;

options
{
language = C;
}

rule1:
'ABC'
;

我也收到这样的警告:

[12:39:44] warning(24):  template error: context [/outputFile /parser] 1:1 could not pass through undefined attribute filterMode
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /_sub721 /ruleAttributeScopeFuncMacro] 1:4 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser] 155:5 no such property or can't access: null.apifuncs
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /rule /ruleDeclarations] 4:1 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /rule /ruleInitializations] 8:1 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /lexer /lexerRule /ruleDeclarations] 4:1 no such property or can't access: null.attributes

我在 stackoverflow 上找到了一篇关于类似警告的文章:
numerous template errors generating OracleSQL grammar using Antlr-3.5-complete.jar
(这是我唯一发现的事情,我认为它可能对未生成的头文件没有任何作用)

我将不胜感激任何帮助,我想从我很久以前为 java 制作的一些 sql 语法为我的 c++ 项目生成一些 AST 树,但我被这个有趣的问题困住了。

注意:

我还查看了所有这些文章:

http://www.antlr.org/wiki/display/ANTLR3/FAQ+-+Getting+Started//启动向导 http://www.antlr.org/wiki/pages/viewpage.action?pageId=728//关于如何安装ANTLR的指南(虽然我使用的是 antlrworks,所以我真的不需要任何其他安装) http://www.antlr.org/wiki/pages/viewpage.action?pageId=29130826//CplusTARGET(它不支持 AST 树,我已经在 stackoverflow 上阅读过它,这就是我现在尝试 c target 的原因) http://www.antlr.org/wiki/display/ANTLR3/Using+the+ANTLR3+C+Target//C目标 https://github.com/antlr/examples-v3//目标示例

最佳答案

这可能是 ANTLRWorks 1.5.1 已经解决的错误的副作用(下周内会出现)。

https://github.com/antlr/antlrworks/pull/9

关于c - 为什么使用 ANTLR works 1.5 不生成 c 头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487286/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com