yaklang网络安全领域编程语言
yaklang 是由电子科技大学网络空间安全研究院联合 yaklang.io 团队推出的中国首款网络安全领域编程语言。
为了加速安全产品和安全工具的工程化研发,我们创建了一门新的语言(Yaklang),并且同时实现了一个栈虚拟机(YakVM)。Yaklang 是一门图灵完备的编程语言,其语法由上下文无关文法定义。它运行在 YakVM 上。
为什么要做 DSL? (Why DSL?)
- 提高生产力。DSL 设计简洁高效,专注于解决特定问题,可以大大提高开发效率和生产力。
- 改善抽象能力。DSL 可以帮助开发者利用高层抽象构建解决方案,不需要处理底层细节,提高开发效率。
- 可维护性好。DSL 语言简单明了,代码也更加清晰易读,这有利于代码的维护和扩展。
- 可靠性高。DSL 专注一定领域,语言和语义都更加精确,这有助于编写出更加可靠的程序。
- 易于嵌入。DSL可以很容易地嵌入到一门宿主语言中,实现起来非常方便。
示例代码:
// 极简获取参数,--target xxxx --port 80
scanTarget, scanPorts = cli.String("target"), cli.String("port")
// 默认批量进行服务扫描
results, err = servicescan.Scan(scanTarget, scanPorts)
die(err)
// 取出扫描结果(异步扫描结果)
for result = range results {
println(result.String())
}
评论