在代码编写过程中,我们强调分层的概念,于是DAO或者model层应运而生。但是这些代码之间相似度其实很高,有没有办法用更少的代码实现?或者自动生成可读、可维护的代码呢?

我的初始想法是,写个脚本按需生成代码。之后恰巧读到DSL的一些相关文章,虽然针对我们当前的场景而言,没有使用DSL的必要性,但是猜想每个程序员心里可能都有一个创造新语言的梦想吧?发明一种类似C、Java的流行性语言难度和推广难度都很大,但是在某种应用场景内,发明一种恰恰适合的DSL还是有一丝可能性的。

1. http://www.infoq.com/cn/articles/External-DSL-Vaughn-Vernon  开发复杂的外部DSL

2. http://www.infoq.com/cn/articles/architecture-as-language-a-story 将架构作为语言:一个故事

3. http://en.wikipedia.org/wiki/Domain-specific_language wiki

 

构造一门语言,常用的工具:

lex 词法分析器

bison 语法分析器

Leave a Reply