gpt4 book ai didi

grammar - 如何将 Grammar::Tracer 与单元范围语法一起使用?

转载 作者:行者123 更新时间:2023-12-04 07:48:27 30 4
gpt4 key购买 nike

我正在使用 Grammar::Tracer使用以下设置:

第6页

use v6;
use lib '.';
use MyGrammar;
my $res = MyGrammar.parse('hello 6 9 bye');
say $res;

我的语法.pm6 :
unit grammar MyGrammar;
use Grammar::Tracer;

rule TOP { [<number> || <word> ]* }
rule number { \d+ }
rule word { \w+}

但未启用跟踪。我猜是因为语法 MyGrammar不在 use Grammar::Tracer 的词法范围内陈述?

最佳答案

Grammar::Tracer模块通过导出一个自定义元类来代替 grammar 的默认元类来工作。关键词。这必须在关键字 grammar 之前已经存在。遇到,因为那是我们解析并提交要用于声明的类型的元类的时候。

解决办法是把 use grammar 之前的声明宣言:

use Grammar::Tracer;
unit grammar MyGrammar;

关于grammar - 如何将 Grammar::Tracer 与单元范围语法一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55569905/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com