抽象语法树(Abstract Syntax Tree)
抽象语法树(AST)表示组成程序的结构,可以让程序员更容易使用,F# 适宜这种开发的一个原因就是它的联合类型。这种类型非常适合表示语言,因为它可以用来表示相关而结构不相同的项目。下面就是抽象语法树的例子:
type Ast =
| Ident of string
| Val of System.Double
| Multi of Ast * Ast
| Div of Ast * Ast
| Plus of Ast * Ast
| Minus of Ast * Ast
树非常简单,只包含一种类型;复杂的树可能包含很多类型,但都遵循这一基本模式。对于这个树,它是Ast [ 原文有误,忘记修改了] 类型,包含了标识符(Ident 类型),标识符的名字由字符串表示,还包含了值(Val 类型),值由System.Double 表示。Ast 类型还包含了另外四个类型(Multi、Div、Plus、Minus),表示算术运算,并使用递归,由此组成其他表达式。
抽象语法树(Abstract Syntax Tree),布布扣,bubuko.com
原文地址:http://blog.csdn.net/hadstj/article/details/28393733