问题标签 [nqp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
raku - 使用 Metamodel::ConcreteRoleHOW.new_type 时出错
在 MetamodelConcreteRoleHOW中似乎没有使用new_type的方法,顾名思义,它应该用于创建角色的新实例。主要问题是当您尝试混合新角色时,正如签名 ( method new_type(:@roles, :$name = '<anon>', :$ver, :$auth, :$repr, :$api)
) 所暗示的那样:
使用另一个Positional
列表会产生不同的错误:
击败我在那里我可以使用什么样的位置。可以肯定的是,这是在 NQP 中实现的,所以也许我应该定义一个 NQP 数组。但我真的不知道。任何帮助将不胜感激。
编辑. 首先,错误发生在您调用compose
. 其次,正如 Raiph 所说,您实际上必须使用 NQP 数组
compose
现在工作了,它实际上是组合的,但组合的角色仍然只显示你的角色 Mu,而不是Iterable
应该添加到它的角色。任何想法?
raku - 角色“currying”的错误
在 Perl 6 世界中,柯里化是一个通用术语,表示部分实例化,它也用于(参数化)角色的世界。
但是,尚不清楚如何实际使用它:
错误No such symbol T
;如果我们T
在声明类时简单地使用相同,但在这种情况下它是Undeclared name
. 消除方括号及其内容产生No appropriate parametric role variant available for 'Zipi'
,与将方括号留空相同。似乎有一个(有点)错误报告可以追溯到 2012 年,当然这些示例直接取自CurriedRolehow 的源代码。知道这最终将如何工作,或者是否可以通过仅实例化角色的一些参数来咖喱参数化角色?
raku - Raku Regex 中单管和双管的区别 (| Vs ||)
Raku 的正则表达式中有两种类型的交替:|
和||
。有什么区别 ?
raku - 如何在自定义语法 (Raku) 中重用语言标记
我想在我的自定义俚语中重用token parameter
from Perl6::Grammar来添加“custom-param”参数而无需 cargo culting。
我的意思是说:
不确定是否清楚:就像在角色的令牌中调用父令牌一样。我知道这个角色会覆盖它,所以我在$grammar
.
已经测试过:
- 将其定义为返回父匹配对象的方法,但出现以下错误:
- 从正则表达式代码插值返回
raku - 如何覆盖 NQPMatch.Str 函数
...或者如何从匹配的文本$<sigil>.Str
中独立地更改值。是的,我在问如何欺骗上面的语法(即打电话给我)。token sigil { ... }
我正在尝试为没有 sigil 的 Raku 写一个俚语。
所以我想要nogil
令牌,匹配任何东西<?>
以返回字符串化的 NqpMatch:$<sigil>.Str
到'$'。
目前,我的令牌印记看起来像这样
并且该方法应该返回一个被覆盖的NQPMatch
方法Str
尝试失败:
目前,我的大部分测试都有效,但我在没有我的 (with no strict
)的情况下在声明中遇到问题,my-var = 42;
因为它们被视为方法调用。
@Arne-Sommer 已经发表了一篇文章和一篇文章。这是密切相关的。但这个问题的目的是:
我们如何自定义编译时令牌的返回值,而不是如何声明它。
regex - 是否可以在语法 nqp 中运行子语法?
如果我有Grammar a
并定义了一个Grammar b
具有语法的块'{ ... }',Grammar a
是否有可能以某种方式将这些语法链接在一起?即Grammar a
是Tcl,Grammar b
是嵌入式C。从Perl6 语法切换到Regex 语法时,Rakudo 是如何做到这一点的?
raku - Apocalypse #1 中引入的“语义模型”是什么?
在启示录 #1中,拉里写道,我特别强调:
Raku 将支持映射到单个语义模型的多种语法。其次,该单一语义模型将依次映射到多个平台。
我对拉里在写“单一语义模型”时可能意味着什么有一些模糊的概念:
图灵完备语言/自动机;和/或
什么变成了6model;和/或
什么变成了 NQP/nqp。
(我用谷歌搜索并发现了一些讨论,例如slashdot 上的这个,但它们同样含糊不清。)
也许比回答他当时的想法更重要的是已经发生的事情。
他的表述听起来很像它可能映射到NQP 和/或 nqp(在 Raku / NQP/nqp / NQP 后端架构的中间)。
(如果是这样,大概该模型是由 nqp 等效于 Raku 的烤“指定”的?)
或者,根据 Liz++、QAST 或 RAST?
我知道我认为谁能够最好地回答我的主要问题(在标题中),但也许其他人知道?
grammar - 可以在 Raku 中编写 NQP 的优先级解析器
我试图弄清楚如何在 Raku 中重写 NQP 的 Precedence Parser:
优先级解析器在此处实现:https ://github.com/Raku/nqp/blob/master/src/HLL/Grammar.nqp#L384 NQP 应该是 Raku 的子集,但语法部分似乎是专门的。
如果我想改写 Raku 中 EXPR() 中的优先级解析器,那么要使用什么 Raku 语法原语?即什么会cursor_start_cur()
翻译成?cursor
Raku 语法中有 a吗?如何设置pos
Raku Match 对象?会 $termcur.MATCH()
翻译成什么等等...
我不是在寻找编写优先解析器的不同方法,而是想知道它是否可以像 NQP 那样在 Raku 中完成。