与
my earlier question相关,使用正则表达式进行不区分大小写的关键字匹配.
是否有可能在Marpa中不区分大小写地匹配字符串?
如果是这样,怎么样?
假设我有语法
:start ::= script identifier ~ [\w]+ script ::= 'script' identifier code code ::= command* command ::= 'run' | 'walk' | 'stop'
如何使其与脚本,脚本,SCRIPT或任何其他小写和大写字母组合相匹配?
没有一种直接指定不区分大小写的方法.当然,你可以将字符类串起来:[sS] [cC] [rR] [iI] [pP] [tT],但这很尴尬.
更新:截至2.076000,最新的索引版本,Marpa :: R2现在对字符串和字符类都有一个:ic修饰符,使它们不区分大小写.在文档中,请参阅https://metacpan.org/pod/Marpa::R2::Scanless::DSL#Single-quoted-strings和https://metacpan.org/pod/Marpa::R2::Scanless::DSL#Character-classes.