yaklang网络安全领域编程语言

联合创作 · 2023-09-27 23:05

yaklang 是由电子科技大学网络空间安全研究院联合 yaklang.io 团队推出的中国首款网络安全领域编程语言。

为了加速安全产品和安全工具的工程化研发,我们创建了一门新的语言(Yaklang),并且同时实现了一个栈虚拟机(YakVM)。Yaklang 是一门图灵完备的编程语言,其语法由上下文无关文法定义。它运行在 YakVM 上。

为什么要做 DSL? (Why DSL?)

  1. 提高生产力。DSL 设计简洁高效,专注于解决特定问题,可以大大提高开发效率和生产力。
  2. 改善抽象能力。DSL 可以帮助开发者利用高层抽象构建解决方案,不需要处理底层细节,提高开发效率。
  3. 可维护性好。DSL 语言简单明了,代码也更加清晰易读,这有利于代码的维护和扩展。
  4. 可靠性高。DSL 专注一定领域,语言和语义都更加精确,这有助于编写出更加可靠的程序。
  5. 易于嵌入。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())
}

 

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报