感叹AI的进步,创建属于自己的DSL易如反掌
2026/9/7 22:09:27 网站建设 项目流程

很多年前曾经痴迷和学习过Domain Specific Language的设计,试过flex/bison/antlr。

当时觉得这门技术属于“高大上”的范畴,实在高攀不起;现实世界里忙着工作糊口,也没有太多精力去深入学习。当时学习了一个calc.y的例子,但是发现写抽象语法本身就很抽象,想要写出复杂的语法很困难。

十几年过去了,AI时代的到来,让曾经高不可攀的技术高峰变得不再遥不可及。

比如,你用自然语言描述你的DSL的大概功能:

  • 常用运算符
  • 代码块,如C/C++的 { }
  • 流控制 if-else/while
  • 常用内置函数
  • 常量声明:let constVar = value
  • 变量声明:var varValueCanBeChanged = value
  • 内置常量:true/false

AI就能根据你的描述自动生成相关的lexer/parser和一些支持类,仅仅需要一些无关底层框架的改动就可以使用。

比如我前面发布的一篇文章:一周体验腾讯 CodeBuddy:AI 编码助手真能“碾压”个人经验吗?-CSDN博客

我陆陆续续做了很多改进,也添加了很多新功能,其中之一就是实现了一个简单的有关文件的DSL。有兴趣的朋友可以去看看 FileDsl · master · neolib.net/MyHouseKeeper。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询