莎士比亚编程语言的解释器。

shakespearelang的Python项目详细描述


Code Climate

莎士比亚编程语言的解释器,在 蟒蛇。

莎士比亚的编程语言是什么?

莎士比亚编程语言(spl)是一种编程语言 源代码看起来像莎士比亚的戏剧。语言是 图灵完备,理论上和任何其他的图灵一样强大 语言。写起来很有趣,但对任何大的都不实用 项目。可以找到更多信息on Wikipedia

注:莎士比亚的实际剧本是无效的SPL。SPL的目标不是 提供与大约400年前编写的遗留代码的向后兼容性。

这个项目是什么?

这是我为SPL写的翻译。它是用python编写的。目标 是为了帮助程序员更好地理解他们的spl代码 执行,具有控制台和调试等功能。所有以前的 SPL的实现是源到源编译器,这使得 令人困惑的语言更难理解。

这个项目在哪个州?

我还没有写任何测试,但它可能会运行任何有效的 SPL程序。控制台和调试器都在工作。

安装

pip install shakespearelang
# Or however else you install things. You do you.

用法

cli

命令

shakespeare run my-program.spl
shakespeare debug my-program.spl
shakespeare console # or just "shakespeare" unadorned

控制台

在控制台中,您实际上将逐行编写一个spl程序/播放, 先定义你的角色。

控制台的输入可以是以下任一项:

    在戏剧/节目中通常出现的入口、出口和口语线。
  • 最后一个说话的人说的句子。例如, 如果前一行是Juliet: You are a fat pig.,那么 Remember thyself! You are a fat fat pig.可以附加到 上一行。
  • 表达式(不带赋值的独立值),由 最后说的字符或显式字符:Juliet: The difference between thyself and a fat pig。 这些不能以句点结束。
  • 一个字符的名称,显示该字符的堆栈和当前值。
  • stage,显示哪些字符处于打开和关闭阶段。
  • exitquit,这将离开控制台。

调试

许多程序的调试和运行是相同的。为了利用 调试特性,您需要在spl代码中的某个地方放置一个断点 使用以下阶段方向:

[A pause]

当调试器到达这个阶段方向时,它将暂停播放/程序的执行 然后输入一个repl。这就像独立控制台,除了 您可以使用next命令前进,然后使用continue 命令退出RePL并继续运行程序/播放。

编程

解释器的run_play方法可用于运行整个播放, 还有其他方法来计算表达式和问题,运行 事件和句子,以及添加字符。这些都可以用绳子 或者ast(前者更容易从用户那里获得,后者更容易 在代码中生成)。它们的命名方式可能是你希望它们被命名的方式。 有关与 python的解释器。

注意:建议使用interpreter.parser.parse()进行任何必要的分析。 因为解释器需要特定的 设置分析器以正确工作。否则,有关parse()的信息 可以找到at the Grako docs

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

推荐PyPI第三方库


热门话题
面向java语句的方法与面向表达式的方法   密码学如何在java中为json对象签名?   是否可以通过java程序知道给定卡夫卡消费群体的消费偏移量?   打印字符时出现java未知问号   java为JFrame设置背景色   在ubuntu中检查java版本时linux权限被拒绝   如何用java创建xml模式   java无法在远程服务器上运行Vaadin应用程序   java智能垃圾收集?   java如何在SpringMVC中设置缓存头?   在unix计算机上运行java应用程序a:>签名以输入内容   Java、Apache Commons配置XML属性   使用ArrayList调用Java未经检查的方法   在文本文件中查找并替换单词(Java GUI)   java Android Studio无法检测到JDK7或更新版本   java从socket的有效负载获取事件消息   安卓中java调用子类方法   java如何通过点击超链接来运行jar文件(Firefox)