重载程序设计语言中半破损车辆的编译与解释器

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如果java RecyclerView数组位于arraystring上,则为null   java AutoComplete TextView从同一页面删除RecyclerView   java Spring验证程序在集成测试中未触发   java如何从AlertDialog Android中删除视图   java Tomcat有没有一种方法可以输出当前/活动的尚未响应的请求?   如何在Java中使用jcifs将文件从smb共享复制到本地驱动器?   依赖关系管理中的java导入pom   java Android ListView不显示新项目   java AntJUnit错误:Ant需要JUnit。jar在它的类路径中   java为什么是数组。sort()不能按降序排列基元类型数组吗?   java更改路径大小而不更改以前的路径   对于矩阵运算,为什么“ikj”比“ijk”快?   java在Clojure的format函数中设置舍入模式   在Azure上的Docker容器中运行时,java Maven build下载工件连接缓慢/重置   java获取Asynk任务的ANR   JavaNoSuchMethodError:scala。Predef$$符合()Lscala/Predef$$less$冒号$less   java While循环:需要帮助吗   java如何将多个文件夹移动到一个文件夹中   javamvc和springmvc单元测试