JFLEX REGEX与词汇规则中的关键字



允许在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 }

最新更新