与使用正则表达式进行不区分大小写的关键字匹配的my earlier question相关。
是否有可能在Marpa中匹配不区分大小写的字符串?如果是这样的话,是怎么做的?
假设我有语法
:start ::= script
identifier ~ [\w]+
script ::= 'script' identifier code
code ::= command*
command ::= 'run' | 'walk' | 'stop'如何使其与script、Script、SCRIPT或任何其他大小写字母的组合匹配?
发布于 2013-07-09 12:27:04
没有一种简单的方法来指定不区分大小写。当然,您可以将字符类: sS rR pP串连在一起,但这非常尴尬。
抱歉的。不区分大小写的字符串将是一个很好的添加功能。
更新:从最新的索引版本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。
https://stackoverflow.com/questions/17530973
复制相似问题