Perl 6 at a glance - Grammar 读书笔记

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

Perl 6 at a glance - Grammar 读书笔记_第1张图片
Grammar

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

use v6;

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

    rule statement {       
        |        
        |    
    } 

    rule assignment {       
         '='    
    }  
    rule printout {       
        'print'   
    }
    rule expression {       
        |        
        |   
    } 

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

}

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

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

    rule expression {       
        |        
        |   
    } 

你可能感兴趣的:(Perl 6 at a glance - Grammar 读书笔记)