dsl – 使用rakudo编译和执行用perl6子集编写的程序
假设我想使用仅作为Perl6子集的简单语言作为扩展/嵌入语言来“编写”我自己的Perl 6程序.
例如,让这种语言只有: >变量声明 使用Perl6语法,可能是内置函数的非常有限的子集. 除此之外的任何内容都应该导致编译错误,不应该 是否可以(重新)使用Rakudo编译器,或者只能通过手写的解释器/编译器来完成? 让我澄清一下我的动机. >使用(子集)宿主语言(在本例中为Perl 6)作为 但同样,为什么主机语言配置/脚本? >将数据从这些格式转换为本机Perl6内存数据结构所需的额外代码/库,但我们已经有了所有(语言和编译器)来表达conf的内容; 在扩展/脚本的情况下:再次,我没有看到任何理由使用Lua或Python for Perl 6应用程序,但我再次不喜欢发明我自??己的扩展/脚本语言并为它编写解释器/编译器的想法Perl 6 解决方法
我知道这不是您正在寻找的答案,但我认为JSON可以很好地处理大多数配置. JSON在JavaScript社区之外被广泛接受.许多语言都使用它.事实上,
JSON::Fast 与Rakudo-Star一起出现(由
it’s json_fast submodule证明).您可以使用这个单线程将JSON文件转换为Perl 6数据结构(好吧,包括使用JSON :: Fast的双线程):
use JSON::Fast; my %json = from-json(slurp($filename)); 此外,JSON是一个相当不错的数据结构.如果您需要简单,它可以很简单,但您可以使用嵌套的哈希和数组进行非常复杂的配置,几乎任何组合. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |