我开发了一个编译成 VBScript 的现代编程语言 - Hulo

78 阅读1分钟

嘿,VBScript 爱好者们!👋

我一直在做一个编译器/转译器项目,想要解决一些真正有用的问题。你知道 VBScript 最令人沮丧的是什么吗?用那种冗长的语法和有限的功能来编写复杂逻辑!

就在那时我想到了——如果我们能用一种简洁、现代的语言编写脚本,然后编译成 VBScript 会怎样?于是 Hulo 诞生了!

什么是 Hulo? 一种现代的、类型安全的编程语言,可以转译成 VBScript,让编写复杂的 Windows 自动化脚本变得容易得多。

快速示例:

简单的消息框:

MsgBox "Hello, World!"

带类型的函数:

fn sayHello(name: str) -> void {
    MsgBox "Hello, $name!"
}

fn add(a: num, b: num) => $a + $b

sayHello "Hulo";
MsgBox add(5, 3);

类和对象:

class User {
    pub name: str
    pub age: num

    pub fn greet(other: str) {
        MsgBox "Hello, $other! I'm $name."
    }
}

let u = User("John", 25)
$u.greet("Jane")

控制流和用户输入:

let n = InputBox("Input a number:")

if $n < 0 {
    MsgBox("The number is negative.")
} else {
    MsgBox("The number is positive.")
}

列表和循环:

let arr: list<num> = [1, 2, 3, 4, 5]

loop $item in $arr {
    MsgBox $item
}

loop $i in [0, 1, 2] {
    MsgBox $i
}

更多示例可在 examples/ 目录中查阅!

不再需要与 VBScript 的冗长语法或有限功能作斗争——只需编写干净的代码,让 Hulo 处理 VBScript 的生成!

你们觉得这种方法如何。这对你们的 VBScript 开发有用吗?欢迎任何反馈或建议!

查看项目:github.com/hulo-lang/h…

你们觉得怎么样?