评点2021-2022年上市的那些Go语言新书
本文永久链接 – https://tonybai.com/2022/06/01/reviewing-those-new-go-language-books-coming-out-in-2021-2022 计算机科学与技术这个工业大类与传统工业类别相比还很“年轻”,并且由于历史原因,整个计算机科学与技术学科的奠基都是由欧美人完成的,因此但凡诞生一门新IT技术或新编程语言,我们首先参考的都是来自欧美的外文技术书籍(影印或翻译)。 ...
本文永久链接 – https://tonybai.com/2022/06/01/reviewing-those-new-go-language-books-coming-out-in-2021-2022 计算机科学与技术这个工业大类与传统工业类别相比还很“年轻”,并且由于历史原因,整个计算机科学与技术学科的奠基都是由欧美人完成的,因此但凡诞生一门新IT技术或新编程语言,我们首先参考的都是来自欧美的外文技术书籍(影印或翻译)。 ...
本文永久链接 – https://tonybai.com/2022/05/25/an-example-of-implement-dsl-using-antlr-and-go-part2 在本系列的第一篇文章《手把手教你使用ANTLR和Go实现一门DSL语言:设计DSL语法与文法》中,我们已经为气象学家们设计了一门DSL,建立了语法样例,并用ANTLR4文法将DSL定义了出来。按照外部DSL设计与实现的工作流,在这一篇中,我们将对上一篇设计的DSL文法进行验证,看看ANTLR基于我们设计的文法是否能成功生成解析器代码,并且基于生成的解析器是否可以成功处理我们编写的语法样例。 ANTLR文法验证可分为两个阶段,我们分别来看一下。 一. 验证ANTLR是否能解析我们定义的文法(Tdat.g4) 验证ANTLR是否能解析我们的文法Tdat.g4的过程也是通过antlr4尝试生成DSL语法解析器代码的过程,如果顺利生成目标代码,没有报错,则说明我们的Tdat.g4文法至少是符合ANTLR4对文法的要求的。一旦成功,ANTLR就会在特定目录下生成你期望的语法的解析器(parser)代码,比如下面命令将Tdat.g4文法生成目标代码为Go的解析器实现,生成的Go代码位于当前目录下的parser目录下。 ...
本文永久链接 – https://tonybai.com/2022/05/24/an-example-of-implement-dsl-using-antlr-and-go-part1 在《使用ANTLR和Go实现DSL入门》一文中,我们了解了DSL与通用编程语言(GPL)的差异、DSL解析器生成工具选择以及ANTLR文法的简要书写规则,并和大家一起完成了一个CSV解析器的例子。看完上述文章后,你是不是有了打造属于自己的DSL的冲动了呢! 那么究竟该如何设计和实现一门自己的DSL呢?在这个系列文章中,我将“手把手”地和大家一起看看设计和实现一门DSL(这里主要指外部DSL)的全流程。 ...