允许在JFLEX输入文件中涵盖词汇规则的部分中允许使用关键字和REGEXES有什么意义?
似乎
retrieve { action code}
...和
"retrieve" { action code }
...均匹配包含"检索"的输入,第一个是正则态度,第二个是关键字。我的意思是,所有关键字都应该能够以正则表达式的形式解释,因此允许两者都多余。
我不确定您所说的"关键字"。根据 jflex用户手册的"词汇规则"部分,的两个 使用Regexes。
的确,Regexes retrieve
和"retrieve"
是等效的,但这仅仅是因为"..."
符号的唯一效果是禁用Regex Metacharacters,retrieve
中的字符都不是Regex Metacharacters。(顺便说一句,您还可以将正则的part 用在引号中 part ;因此,例如, retrieve
也等同于 r"et"ri"ev"e
。)
如果(说)语言中的关键字之一是+++***+++
,则引号更有用,在这种情况下,您可以编写其中的任何一个:
+++***+++ { action code }
"+++***+++" { action code }