我们可以通过自由数据结构(Free Structure)实现对程序的算式和算法分离关注(separation of concern).算式(Abstract Syntax Tree, AST)即运算表达式,是对程序功能的描述.算法则是程序的具体运算方式(Interpreter),它赋予了算式意义.下面我们先用一个例子简单解释何为算式.算法: 用一个简单的表达式 1+2+3,这个表达式同时包含了算式和算法:运算表达式是 a Op b Op c, 算法是:Int加法,a,b,c为Int, oP为In…