【发布时间】:2020-11-02 15:18:58
【问题描述】:
我正在尝试在 R 语法中为原始字符串创建一个新规则。
引用 R 新闻:
有一种用于指定原始字符常量的新语法,类似于 到 C++ 中使用的那个: r"(...)" with ... 任何字符序列不是 包含序列)”。这使得编写字符串变得更容易 包含反斜杠或单引号和双引号。更多细节 见?行情。
例子:
## A Windows path written as a raw string constant:
r"(c:\Program files\R)"
## More raw strings:
r"{(\1\2)}"
r"(use both "double" and 'single' quotes)"
r"---(\1--)-)---"
但我不确定仅一个语法文件是否足以实现该规则。 到目前为止,我尝试了类似语法的类似语法的旧建议:
解析器:
| RAW_STRING_LITERAL #e42
词法分析器:
RAW_STRING_LITERAL
: ('R' | 'r') '"' ( '\\' [btnfr"'\\] | ~[\r\n"]|LETTER )* '"' ;
感谢任何提示或建议。
R ANTLR 语法:
https://github.com/antlr/grammars-v4/blob/master/r/R.g4
Bison 中的原始 R 语法:
【问题讨论】: