美文网首页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