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())
}
#yaklang首頁文檔和下載 #網絡安全領域編程語言 #Development details