莎士比亚编程语言的解释器。
shakespearelang的Python项目详细描述
莎士比亚编程语言的解释器,在 蟒蛇。
莎士比亚的编程语言是什么?
莎士比亚编程语言(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
,显示哪些字符处于打开和关闭阶段。exit
或quit
,这将离开控制台。
调试
许多程序的调试和运行是相同的。为了利用 调试特性,您需要在spl代码中的某个地方放置一个断点 使用以下阶段方向:
[A pause]
当调试器到达这个阶段方向时,它将暂停播放/程序的执行
然后输入一个repl。这就像独立控制台,除了
您可以使用next
命令前进,然后使用continue
命令退出RePL并继续运行程序/播放。
编程
解释器的run_play
方法可用于运行整个播放,
还有其他方法来计算表达式和问题,运行
事件和句子,以及添加字符。这些都可以用绳子
或者ast(前者更容易从用户那里获得,后者更容易
在代码中生成)。它们的命名方式可能是你希望它们被命名的方式。
有关与
python的解释器。
注意:建议使用interpreter.parser.parse()
进行任何必要的分析。
因为解释器需要特定的
设置分析器以正确工作。否则,有关parse()
的信息
可以找到at the Grako docs。