gpt4 book ai didi

Perl 6 - 接受 "Bareword"输入的子程序

转载 作者:行者123 更新时间:2023-12-04 15:55:58 24 4
gpt4 key购买 nike

所以我一直在深入研究 Perl 6,并一直在研究使用 Perl 6 的运算符定义来解释另一种语言。我知道这可以通过解析代码来完成,但我希望插入 Perl 6 的功能,看看它可以做什么。拥有此功能也将使解析更容易

我正在尝试以 C 样式格式进行变量定义。(语言并不重要)

就像是:

char foo;

字符 表示类型,foo 是变量名。据我了解 字符 可以使用像这样的运算符定义来解释:
sub prefix:<char>($input) {
say $input;
}

其中调用带有 的子程序foo $input .这里的想法是使用 foo 作为一个字符串并将它的引用保存在某个地方的哈希中。问题在于 Perl 6 似乎将任何裸字视为函数调用,并且在找不到“未声明的例程”时会提示。

我可能到处寻找这个问题的答案,唯一让我仍然认为这可能是可能的就是 qw Perl 5 中的函数,现在是 < > 在 Perl 6 中。 < > 显然是一个运算符,它让我相信在某处定义了一个子程序,它告诉这个运算符如何工作以及如何处理裸字输入。

所以我的问题:

有没有办法像 一样将裸字输入接受到子程序中< > 运营商呢?

干杯!

最佳答案

最好的方法是创建一个 Grammar解析你的语言。如果您还希望它运行您刚刚创建的 DSL,请将其与 Actions 结合使用。 .

关于Perl 6 - 接受 "Bareword"输入的子程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33749176/

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