muv 2.0到fuzzball muck muf编译器的python实现。
pymuv的Python项目详细描述
这是muv 2.0编译器的纯python实现。 它接受类似于c的muv语言源代码,并将其编译为 更深奥的基于forth的muf语言,适合上传 到FB6(或更高版本)fuzzball muck聊天服务器。
MUV 2.0语言
创建muf程序是一种丑陋、痛苦、几乎只写的体验, 这是由设计了大部分语言的编码员说的为什么? 花大量时间调试和跟踪堆栈项, 什么时候你能用更现代,更可读的语言写代码
而不是像这样编写神秘的代码:
: showspecies[ -- ret ] var obj loc @ contents_array foreach obj ! pop obj @ player? if obj @ "species" getpropstr dup not if pop "Unknown" then obj @ "sex" getpropstr dup not if pop "Unknown" then obj @ "%-30D %-10s %-30s" fmtstring me @ swap notify then repeat ;
你可以写:
func showspecies() { for (var obj in contents_array(loc)) { if (player?(obj)) { tell( fmtstring( "%-30D %-10s %-30s", obj, getpropstr(obj, "sex") || "Unknown", getpropstr(obj, "species") || "Unknown" ) ); } } }
安装
使用pypi安装:
pip install pymuv
从源安装:
python3 setup.py build install
用法
muv程序希望在 命令行。默认情况下,muf输出将写入STDOUT。 错误消息将被打印到STDERR,返回代码为 如果发现错误,则为非零:
muv sourcefile.muv >outfile.muf
可以使用-w PROGNAME在MUF编辑器命令中包装输出:
muv -w cmd-whospecies whospecies.muv >whospecies.muf
使用-o OUTFILE将把输出的MUF代码写入OUTFILE 标准输出的数量:
muv -o whospecies.muf whospecies.muv
向命令行添加-d将向muf输出添加调试代码。 每行muv都将向muf输出添加如下代码:"foo.muv:23" pop:
muv -d -o whospecies.muf whospecies.muv