1. IBM 704 code-nundrums (By Murray Grumette)CACM 10.1145/368711.368718
嗯,这个基本看不懂,讲一些指令啥的
2. Algorithm for Analyzing Logical Statements to Produce a Truth Function Table(By HAI~OLD WOLPE, I.B.M. Corporation)
嗯,这个提了我们现在非常熟悉的if-else这样的logical statement,也就是条件判断语句的设计了。里面提到了and、or、negation三个operator,以及他们组合在一起时(包括使用括号)其运算的优先级。类似the range of influence of each operator。比如A*B+C*D中,*的作用就分别是A和B、C和D,*比+优先级高啥的。
文章说道对一个logical statement设计的从left-to-right scan的方式进行分析,解释了原因。然后对于logical statement,提到Frequency的问题,即一个condition为True或者False的Frequency,这样能决定将更有determine power的小判断语句放到左边(比如A*B,如果B 90%为假,而A90%为真,那其实程序员在写的时候可以写成B*A。)感觉这个其实Frequency如果能通过先验知识说着数据分析得到的话,对优化还是挺有作用的。
文章给了一个系统的对一个logical statement如何系统的加括号,构造level以及从左至右分析的transfer point(即接下来是执行哪一个)。对于复杂的判断语句,用程序构造出统一的表示,在同一个level上操作判断,才更能执行自动化吧。人如果面对复杂的判断语句其实也需要借助一些括号来把优先级等给弄出来。