美文网首页Raku Programming Language
Perl 6 at a glance - Grammar 读书笔

Perl 6 at a glance - Grammar 读书笔

作者: 焉知非鱼 | 来源:发表于2017-07-02 21:50 被阅读62次

感谢和颜兄分享了 Perl 6 at a glance 一书。

Grammar

这段是说 rule 和 rule 的定义之间是可以有任意空白的,例如 rule TOP 和 rule statements 之间。

use v6;

grammar Lang {       
    rule TOP {          
        ^ <statements> $       
    } 
    rule statements {           
        <statement>+ %% ';'       
    }

    rule statement {       
        | <assignment>       
        | <printout>   
    } 

    rule assignment {       
        <identifier> '=' <expression>   
    }  
    rule printout {       
        'print' <expression>  
    }
    rule expression {       
        | <identifier>       
        | <value>  
    } 

    token identifier {       
        <:alpha>+  
    } 
  
    token value {
        \d+
    }

}

my $parsed = Lang.parsefile('test.lang'); 
say $parsed;  

下面这个多余的垂直线是为了美观和易于维护:

    rule expression {       
        | <identifier>       
        | <value>  
    } 

相关文章

网友评论

  • Abelfourier:和彦:grin::grin:
    焉知非鱼:@Abelfourier :sweat_smile: 笔误了哈哈哈
  • Cherish_Qiang:朋友你是做哪个方向的?为啥也用perl,我现在也用的是perl,感觉现在用这个语言的不多了啊
    Cherish_Qiang:@焉知非鱼 哦,这样啊,你们以前是用过perl是么,我们现在还用这个
    焉知非鱼:@Cherish_Qiang 大数据,不用 Perl 了, 用的 Python 和 Scala,Perl 6 业余看看。

本文标题:Perl 6 at a glance - Grammar 读书笔

本文链接:https://www.haomeiwen.com/subject/uvyocxtx.html