重载程序设计语言中半破损车辆的编译与解释器
hbcht的Python项目详细描述
在交通拥挤的情况下,半破损的汽车是一种困难的编程语言,只有 5二维网格的组合运算符和方向“标志”。
hbcht是一种python 3.1+语言的组合编译器/解释器。
许可证
梅格是个自由软件,他妈的你想公开什么就公开什么 许可证(wtfpl);请参阅文件copying.txt。Mege的作者是Niels G.W.Serup, 可在ngws@metanohi.name联系。
联系人
hbcht的作者是niels g.w.serup。应发送错误报告和建议 暂时到ngws@metanohi.name。
安装
方式1
获取hbcht的最新版本 http://metanohi.name/projects/hbcht/或 http://pypi.python.org/pypi/hbcht
从下载的文件中提取hbcht,cd到其中,并在 终端:
# python3 setup.py install
示例可在examples目录中找到。
方式2
就这样运行:
# pip-3 install hbcht
请注意,这不会提供任何示例。
语言文档
这是哈佛商学院的官方文件。
hbcht是一种基于二维网格的编程语言。你是一辆为了到达 一条非常混乱的公路的出口。你必须跟着路标走,但无论何时 你这样做,你也会改变你的记忆。当前内存单元的值 可以递增或递减,并且内存单元索引可以更改。你 也能找到指示你右转或根本不转的标志, 取决于你的记忆力。
汽车可以朝四个方向行驶:上、右、下和左。因为 混乱,你永远不知道当程序 开始。这使得输出随机化变得容易。
更糟糕的是(实际上,这是为了让在hbcht中编程成为可能)。 你不能左转,因为你的车坏了一半。你可以直接开车 在前面,你可以右转,也可以倒车。
标记
o car # exit, return/print
操作
> go right, next memory cell < go left, previous memory cell ^ go up, increment v go down, decrement / go right if the current memory cell has the same value as the previous memory cell, else continue (if the previous memory cell does not exist, its value is zero)
规则
-
只有一辆车,只有一个出口。
- 汽车不能左转,任何相对左转都将被忽略 它们的记忆效果
- 程序总是从存储单元0开始
- 默认情况下,所有存储单元的值都为0
- 输入值不能为负,但程序返回的值可以 这辆车不能驶出边界,如果它向右拐,就会重新进入。 向左等。
- 值不能输入到内存单元0以下的内存单元,但程序 可以设置这些值
- 值可以任意大。没有这个的解释器或编译器 功能是有效的,但不是完美的(注意,hbcht的c转换器使用 32位整数,因此不是完美的)。
分号表示注释。从分号到 忽略行。
如果程序文件包含以@intext开头的行,它将看到 作为文本输入并在运行core之前将文本转换为序号 功能。
如果程序文件包含以@outtext开头的行,它将显示 输出为文本字符串而不是数字列表。
使用
作为命令行工具
运行hbcht来使用它。运行hbcht --help查看如何使用它。
作为模块
要了解如何使用它,请运行:
$ pydoc3 hbcht
示例
在examples目录中有几个示例。
开发
hbcht使用git进行代码管理。最新(有时不稳定)的代码 网址:
$ git clone git://gitorious.org/hbcht/hbcht.git