我的开源项目:表达式引擎 Mages
来源:dev.to — 2026-09-16
📋 概述
作者回顾自己维护的 .NET 表达式解析器 Mages(Mages: Another Generalized Expression Simplifier)。它把 sin(2) * cos(pi / 4) 这样的字符串变成一个数字,同时支持变量、函数、闭包、对象、列表、复数和一点 JSX,定位是给 .NET 应用嵌入一门微型脚本语言,而不必引入完整运行时或许可谈判。
🔑 核心要点
- 前身是 YAMP,一个以反射驱动扩展、追求灵活而非速度的数学解析器实验。
- YAMP 意外进入了 2013 年的 Unity 游戏 SineRider,玩家靠输入函数式来决定滑行坡度。
- Mages 后来拿到 Thiel 基金资助做了重写,如今在 Microsoft PowerToys 和奥地利的测试设备里默默做算术。
- 调用方式极简,一句 engine.Interpret("sin(2) * cos(pi / 4)") 就出结果,没有配置也没有仪式感。
- 作者写这个系列,是想讲清自己起头或维护的开源项目背后的故事。
💡 金句
想给 .NET 应用配一门微型可嵌入脚本语言,却不想拖进完整运行时、电话簿般的依赖树,或者一场授权谈判。
👍 0
👎 0
← 返回 dev.to 首页