如果我做:
my $parsed_grammar = PG.parse( $some_string );
Run Code Online (Sandbox Code Playgroud)
有没有办法做类似下面的伪代码的事情?
$parsed_grammar.run_action( $action_class.new );
Run Code Online (Sandbox Code Playgroud)
不。
你的语法基本上是一个程序。
与其他(正则表达式)实现相反,Raku 语法基本上只是编写类和方法的另一种方式。下面都是代码。可以为每个运行的方法提供回调的代码。这就是您的操作类:一种指定回调的方法。
因此,语法的解析发生在编译时。.parse
这将创建当您使用给定字符串作为输入进行调用时运行的代码。
您的误解似乎是.parse
在语法上运行会解析语法。事实并非如此。它运行语法,解析您的输入字符串。
归档时间: |
|
查看次数: |
99 次 |
最近记录: |