看了一段时间的Tex源码,还没有看完.
从今天开始写一些阅读过程中记录下来的笔记.可能会比较乱.
1) 虽然对所谓的"文学编程"还没有太多理解,不过这种分段分节解释的方式确实比较适合理解,或许符合"分而治之"的思想吧.
DEK的具体做法是将源代码和相关解释分为1379个节,每个节以<解释><代码>的模式来进行处理,
一些特殊的节可能会没有<解释>或者没有<代码>.
2) 因为Tex是有pascal语言写的, 而pascal有一种语言上的限制:
那就是要使用的声明(包括函数,过程和变量)必须在主程序的前面声明完,而不可以等到用的时候才声明.
DEK的典型做法是通过逐渐增加的方式来定义声明.
比如第4节定义变量为:
var <Global variables
13>;
在第13节定义:
<Global variables
13>=bad:integer;
在第20节定义:
<Global variables
13>+=xord:array[text_char] of
ASCII_code; ...
可以看出来, 这种逐渐添加声明的方式是很适合分段解释的.