gpt4 book ai didi

c++ - ANTLR - 在 c/c++ 中访问 token 值

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:22 24 4
gpt4 key购买 nike

我正在尝试解析整数并在 antlr 3.2 中访问它们的值。

我已经找到了如何在 Java 中执行此操作:

//token definition

INT : '0'..'9'+;

//rule to access token value:

start : val=INT {Integer x = Integer.valueOf( $val.text ).intValue(); }

;

...但我无法在 C/C++ 中找到解决方案。有人知道怎么做吗?

最佳答案

根据来自 http://www.antlr.org/download/examples-v3.tar.gzexamples-v3/C/C.g , $INT.text->chars 应该适用于 C,但我没有测试它。

如果您在 C 程序中从解析器外部遍历 AST,并且您有一个类型为 ANTLR3_BASE_TREE 的名为“node”的节点,您可以使用 node->getText(node )->chars(自从我自己使用后进行测试)。

请记住,C 和 C++ 目标是两个完全不同的东西。我只使用 C 目标,所以我不能多说 C++ 目标。

不过,这些示例是了解这些细节的重要资源,不幸的是,这些细节没有得到很好的记录。

关于c++ - ANTLR - 在 c/c++ 中访问 token 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483192/

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