EOLAS解释器
eolas的Python项目详细描述
eolas是从@Maitre_Eolas’ Tweet派生的玩具语言。少许 有人回复微博说这是无效代码,不会是 由于存在诸如^{tt1}之类的明显缺陷,可以用任何语言编写这样的程序$ 用于比较和不带引号的字符串。
这个项目为这种语言提供了一个解释器。它解析原始的 按预期对其进行规划和评估。
安装
eolas作为python3库和可执行文件分发:
pip install eolas
注意:如果您的默认值是pip3,则可能需要使用pip。 安装是python 2。
运行
运行eolas --help查看所有选项。解释器从^{tt5}读取$ 除非你给它一个文件名。您也可以使用 --eval "<your code>"。
您可以使用--set name=value设置原始内存。比较结果 在原始程序上运行解释器时:
$ eolas code.eolas lose $ eolas --set 'avocat=Maitre Eolas' code.eolas Win
规格
原始代码块:
{ IF (avocat = Maitre Eolas) THEN (Result = Win) ELSE (Result = lose) return 0; }
在eolas中,程序是一组用花括号括起来的指令。
说明
eolas有三条指令:
- IF (condition) THEN (instruction) ELSE (instruction):通常是if/then/else。 ELSE部分是必需的,并且到处都有括号。你不能 每个部分有多个指令。条件可以是任何 表达式。
- 赋值:eolas中的赋值按预期工作,使用语法 name = value。所有变量都是全局变量,名称可以包含空格。
- {TT11}$:用给定的退出代码中断程序。
程序可以将其结果存储在特殊变量Result中。会的 最后由翻译打印。
表达式
只支持三种值类型:整数、字符串和布尔值。有 布尔人没有文字;只能通过比较获得 操作员。现在只有一个这样的运算符:=来检查相等性。
=运算符是右关联的,因此您可以编写如下代码:
{ this_is_true = 42 = 42 }
变量可以包含空格,如果 他们还没准备好。没有其他方法可以写入字符串,因此是空的 无法写入字符串。
不支持负整数。