跳到内容
此存储库已由所有者于2021年2月3日存档。它现在是只读的。

perl6/nqp-rx

弃用通知

目前,NQP-rx未得到维护;nqp在https://github.com/perl6/nqp/。此存储库仅用作历史文档和/或编译器设计中的隐含课程。

NQP-rx-不太符合Perl(6)

NQP-rx版权所有(C)2009,归Perl Foundation所有。请参见许可证获取许可详细信息。

这是“Not Betty Perl”——一个从类Perl6代码快速生成PIR例程的编译器。NQP-rx的关键特性是,它被设计为一个非常小的编译器(与perl6或Rakudo相比),并且专注于作为为Parrot(尤其是hll编译器)创建转换器的高级方法。此外,与Rakudo不同,NQP-rx尝试将自身限制为生成可以在Parrot中运行的代码,而不存在任何特定于NQP的运行库。

从源头构建

NQP-rx与Parrot捆绑在一起,因此,如果您有最近的Parrot发行版,那么您可能还拥有NQP-rx的副本。Parrot安装的内部NQP-rx称为鹦鹉学舌.

要从源代码构建NQP-rx,只需要制作实用程序和Perl 5.8或更新版本。要自动获取并构建Parrot,您可能还需要一个subversion(svn)客户端。

要直接从其存储库获取NQP-rx,请执行以下操作:

$git克隆git://github.com/perl6/nqp-rx.git

如果您没有安装git,您可以访问github获取NQP的tarball或ziphttp://github.com/perl6/nqp-rx/tree/master然后单击“下载”。然后打开柏油球或拉链。

获得NQP-rx的副本后,按如下方式构建:

$cd nqp-rx$perl Configure.pl--生成鹦鹉$制造

这将在当前(nqp-rx)目录中创建“nqp”或“nqp.exe”可执行文件。然后可以使用以下命令从构建目录运行程序:

$ ./nqp你好.pl

这个--生成-验证上面的选项告诉Configure.pl自动下载最合适的Parrot版本并将其构建到本地的“Parrot/”子目录中,将该Parrot安装到“Parrot_install/”子目录,然后使用它来构建NQP-rx。可以使用--生成-验证稍后调用Configure.pl时的选项;只有当您使用的Rakudo的任何版本都需要更新版本时,配置系统才会重新构建Parrot。

你可以使用--parrot-config=/path/to/prorot_config而不是--根鹦鹉使用已安装的Parrot构建NQP。安装的Parrot必须包括其开发环境;通常通过鹦鹉餐厅完成进行安装目标或通过安装预构建鹦鹉学舌和/或libpartor-dev病毒包装。已安装的Parrot的版本必须满足正在构建的NQP-rx指定的最低版本要求--Configure.pl将为您进行验证。NQP-rx的发布版本总是根据Parrot的最新版本构建;从github签出HEAD修订版通常需要一个比最新的Parrot月发行版更新的Parrot版本。

构建后,NQP-rx进行安装目标将把NQP-rx及其库安装到用于创建它的Parrot安装中。在执行此步骤之前制作以上只能从NQP-rx的构建目录的根目录可靠运行。之后进行安装可执行文件可以从任何目录运行(只要用于创建它的Parrot安装保持不变)。

如果在没有显式脚本运行的情况下调用NQP-rx编译器,它将进入一个小的交互模式,允许从命令行执行语句。

与以前版本的NQP的差异

*默认情况下,子声明现在是词法的(“my”),如果需要包范围的子例程,请使用“our Sub xyz(){…}”。

*PIR q<…>;构造消失了。改用Q:PIR或PIR::opcode(…)。

*默认情况下,模块的主线代码不再标记为“:load:init”。对于要在启动时自动运行的任何代码,请使用INIT{…}。

*被套住的else不再是有效的Perl6,“else”后面需要一个空格。

*双引号字符串现在插入$-变量。

关于

(存档)nqp-rx

话题

资源

许可证

星星

观察者

叉子

发布

未发布任何版本

包装

未发布任何程序包

语言文字