相关疑难解决方法(0)

白色空间何时在Perl6语法中真的很重要?

当Perl 6语法规则中的空白区域显着时,有人可以澄清吗?我正在通过反复试验来学习一些,但似乎无法在文档中找到实际的规则.

例1:

rule number {
    <pm> \d '.'? \d*[ <pm> \d* ]?
}

rule pm {
    [ '+' || '-' ]?
}
Run Code Online (Sandbox Code Playgroud)

将匹配一个数字2.68156e+154,而不关心存在的空格rule number.但是,如果我之后添加一个空格\d*,它将失败.(即<pm> \d '.'? \d* [ <pm> \d* ]?失败).

示例2:如果我试图在单词的中间找到文字,那么它们之间的间距很重要.即,在找到条目Double_t Delta_phi_R_1_9_pTproj_13_dat_cent_fx3001[52] = {

grammar TOP {
    ^ .*? <word-to-find> .* ?
}
rule word-to-find {
    \w*?fx\w*
}
Run Code Online (Sandbox Code Playgroud)

会找到这个词.然而,如果规则的定义word-to-find更改为: fx\w* fx\w*\w*fx \w*那么就不会进行匹配.

此外,然后定义'[52]'将匹配,而定义'fx[52]'将不匹配.

感谢您的任何见解.指向文档中正确点的指针将有很大帮助!谢谢,

whitespace grammar perl6

5
推荐指数
2
解决办法
209
查看次数

标签 统计

grammar ×1

perl6 ×1

whitespace ×1