gpt4 book ai didi

c++ - 如何使用C++运行时从CSS提取ANTLR4引号的字符串

转载 作者:行者123 更新时间:2023-12-02 10:33:45 27 4
gpt4 key购买 nike

我正在使用ANTt4和https://github.com/antlr/grammars-v4/tree/master/css3的CSS语法。它通常可以正常工作,但是当我在CSS中使用带引号的字符串时,我遇到了问题。例如,使用以下CSS

.b1
{
font-family: "Gill Sans", serif;
}

我想提取“Gill Sans”和“serif”,但都不要加上引号。当在字符串周围使用引号时,解析器将生成 KnownTermContext,然后使用 String()方法返回 antlr4::tree::TerminalNode*。返回的对象的 getText()方法返回字符串,包括引号。看来 String()仅在字符串加引号时才有效,因此从理论上讲,我可以在这种情况下手动删除引号,但是当使用类似ANTLR的解析器时,似乎没有必要。

有没有一种方法可以提取除去引号的字符串,或者在这种情况下由调用方决定除去引号?

最佳答案

[...] or is it up to the caller to remove the quotes in this case?



是的,这是正确的。 ANTLR中无法从 token 中剥离字符(即没有目标特定的代码)。在侦听器或访问者中遍历分析树时可以完成此操作。

关于c++ - 如何使用C++运行时从CSS提取ANTLR4引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61198367/

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