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 }

变量可以包含空格,如果 他们还没准备好。没有其他方法可以写入字符串,因此是空的 无法写入字符串。

不支持负整数。

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

推荐PyPI第三方库


热门话题
如何使用泛型在Java中生成通用方法?   java从ISO/IEC 197944图像数据文件创建图像   java实现RSA的代码有什么问题?   javascript如何将JsonArray从解析云检索到安卓?   在vaadin中上传和下载java文件   java ListView自定义适配器OnClick启动URL链接   java在一个hbox中提供两个元素的独立对齐   java用类名创建类   java从unix命令行运行jar文件   java FTP下载在文件#146处停止