加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

让Grammar :: Tracer在Perl6上运行的最简单方法是什么?

发布时间:2020-12-15 23:37:11 所属栏目:大数据 来源:网络整理
导读:要了解perl6如何解析代码,可以使用–target选项: $perl6 --target=parse -e '"Hello World".say'- statementlist: "Hello World".say - statement: 1 matches - EXPR: .say - 0: "Hello World" - value: "Hello World" - quote: "Hello World" - nibble: He
要了解perl6如何解析代码,可以使用–target选项:

$perl6 --target=parse -e '"Hello World".say'
- statementlist: "Hello World".say
  - statement: 1 matches
    - EXPR: .say
      - 0: "Hello World"
        - value: "Hello World"
          - quote: "Hello World"
            - nibble: Hello World
      - OPER: .say
        - sym: .
        - dottyop: say
          - methodop: say
            - longname: say
              - name: say
                - identifier: say
        - O: <object>
      - dotty: .say
        - sym: .
        - dottyop: say
          - methodop: say
            - longname: say
              - name: say
                - identifier: say
        - O: <object>
$

更好的是描述here的Grammar :: Tracer模块.根据模块documentation,只需添加使用Grammar :: Tracer,并且将跟踪在使用语句出现的范围内定义的任何语法.

我的问题很简单:如果我使用的是“star release”,那么在Perl6语法本身上获取跟踪(使用Grammar :: Tracer)的最简单方法是什么?

或者,如果我使用rakudobrew,那么在Perl6语法本身上进行跟踪的最简单方法是什么?

这是recommended perl6用户使用星级版本 – 是否希望更仔细地研究perl6如何解析自己,使用Grammar :: Tracer,值得在本地从源代码构建?

解决方法

所以Rakudo的语法足够接近Perl 6语法,但它在NQP级别 https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Grammar.nqp实现所以Grammar :: Tracer的魔力在这里不起作用.但是,您可以使用STD语法 https://github.com/perl6/std/blob/master/STD.pm6来解析一些代码,这应该与Grammar :: Tracer一起使用,我一直在努力让它与Grammar :: Highlighter一起工作.希望有帮助吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读