V2EX 07月26日 13:30
[分享创造] 自制编程语言 Hulo —— 模块系统跳票,但 Batch 和 Powershell 对接、解释器初步
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Hulo在v0.3.0版本中迎来重大升级,正式成为一个具有编译期求值能力的现代编程语言。此次更新实现了全平台脚本转译,支持VBScript、Bash、Batch和PowerShell,允许用户使用统一的现代语法生成跨平台脚本。最核心的亮点是引入了comptime(编译期求值)系统,可在编译时执行代码并动态生成AST,实现条件编译和代码生成。尽管模块系统有所推迟,但Hulo的技术栈已显著增强,为未来的发展奠定了坚实基础,为开发者带来了更强大的跨平台脚本编写能力。

🌟 全平台脚本转译完成:Hulo v0.3.0现已支持VBScript、Bash、Batch和PowerShell四大平台,用户可以使用同一套现代语法为不同操作系统生成脚本,极大地提升了跨平台开发的便捷性。

🚀 编译期求值(comptime)系统引入:这是本次更新的最大亮点,Hulo现在可以在编译时执行代码,并根据计算结果动态生成或修改抽象语法树(AST),实现了如编译期计算和条件编译等高级功能,为代码生成带来了极大的灵活性。

💡 编译期求值引擎的技术升级:新的comptime系统包含运行时求值、AST转换和动态代码生成能力,使得Hulo不仅是一个转译器,更是一个能够进行复杂编译期操作的现代编程语言,为开发者提供了更深层次的控制和创造力。

⏭️ 下一步发展规划:Hulo的未来计划包括模块系统(用于支持第三方库导入)、命令体操(更智能的跨平台命令适配)和包发布系统(方便社区分享和复用代码),以及语言服务器以提供更好的IDE支持,项目发展潜力巨大。

又到了每周的 Hulo 更新时刻!

这次 v0.3.0 的更新,让 Hulo 从一个"简单的转译器"进化成了"具有编译期求值能力的现代编程语言"。

听起来很酷对吧?让我来告诉你这次到底更新了什么。

🚀 本周重磅更新

1. 全平台转译器正式完成!

是的,你没看错! Hulo 现在支持四大平台的脚本转译了:

这意味着你可以用同一套现代语法,生成所有主流平台的脚本!

目前支持基础语句转换,更多高级特性正在开发中

2. 编译期求值系统 - comptime 来了!

这是本次更新的最大亮点! Hulo 现在支持编译期求值,可以在编译时执行代码并基于结果生成不同的 AST 。

来看几个实际例子:

编译期计算

let a = comptime {    let sum = 0    loop $i := 0; $i < 10; $i++ {        echo $i;        $sum += $i;    }    return $sum}// 编译期计算的结果:a = 45echo $a

条件编译

comptime when $TARGET == "powershell" {    Write-Host "Hello, PowerShell"} else when $TARGET == "batch" {    echo "Hello, Batch"} else when $TARGET == "bash" {    echo "Hello, Bash"} else when $TARGET == "vbs" {    MsgBox "Hello, VBScript"}

生成的 PowerShell 代码:

Write-Host "Hello, PowerShell"

生成的 Batch 代码:

echo "Hello, Batch"

生成的 Bash 代码:

echo "Hello, Bash"

生成的 VBScript 代码:

MsgBox "Hello, VBScript"

🔧 技术架构升级

编译期求值引擎

新的 comptime 系统提供了:

🚧 下一步计划

    模块系统 - 支持第三方库导入(跳票到 v0.4.0 )命令体操 - 更智能的跨平台命令适配包发布系统 - 让社区能分享和复用代码语言服务器 - 更好的 IDE 支持

💭 写在最后

这次更新让 Hulo 从一个简单的转译器,变成了一个具有编译期求值能力的现代编程语言。comptime 系统的加入,为 Hulo 带来了无限的可能性。

虽然模块系统跳票了,但技术栈更加完整和强大。相信在 v0.4.0 中,模块系统会以更优雅的方式呈现给大家。

项目地址: https://github.com/hulo-lang/hulo

如果你觉得这个项目有意思,欢迎在 GitHub 提 issue 或参与讨论!给个 Star 支持一下,让更多人看到这个项目。

你觉得这种"编译期求值 + 多平台转译"的方式怎么样?有什么建议或想法吗?

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Hulo 编程语言 编译期求值 跨平台 脚本转译
相关文章