我有一个关于我发现为 ANTLR4 生成的 UCB 徽标语法的符号的问题。有些记号看不懂,想问问。如果有人愿意澄清,我将不胜感激。以下是我不太明白的符号:
WORD
: {listDepth > 0}? ~[ \t\r\n\[\];] ( ~[ \t\r\n\];~] | LINE_CONTINUATION | '\\' ( [ \t\[\]();~] | LINE_BREAK ) )*
| {arrayDepth > 0}? ~[ \t\r\n{};] ( ~[ \t\r\n};~] | LINE_CONTINUATION | '\\' ( [ \t{}();~] | LINE_BREAK ) )*;
array
: '{' ( ~( '{' | '}' ) | array )* '}';
NAME
: ~[-+*/=<> \t\r\n\[\]()":{}] ( ~[-+*/=<> \t\r\n\[\](){}] | LINE_CONTINUATION | '\\' [-+*/=<> \t\r\n\[\]();~{}] )*;
我猜这个数组意味着它可以以 { 开头并具有任意数量的级别,但必须以 } 结尾。我认为其他人是某种形式的正则表达式?据我所知,正则表达式对于不同的编程语言是不同的。
我做对了吗?