Stardust

From Esolang
Jump to navigation Jump to search

Stardust 是一种受 Starry 启发的esolang语言,一种类似经典esolang中 Whitespace 的语言,程序仅由空格与少量符号构成,指令语义由前导空格数量决定。 与 Starry 不同,Stardust 采用多栈架构:主程序运行在主栈,函数调用时创建独立新栈执行,结束后再将栈内容整体压回主栈,天然支持多值返回。 控制流上,Stardust 保留了基于空格命名的标志与无条件跳转,同时支持通过函数调用来组织逻辑。 在语义上兼顾了结构化与艺术表现力。

           +               +  *       +* +,
        +            +  *      +** +,            +* +, +,
       +* +,         +             +  * +,        +  *
             + * +,    + +,        +* +,           + * +,
            + *,        +               +  *        +*,

上面是用Stardust写的Hello World!程序。

我用rust为Stardust写了一个简单的解释器:https://github.com/hamfreebird/esolang_stardust