示例#1
0
文件: eval.go 项目: albrow/calc
func Eval(tree ast.Node) (*big.Rat, error) {
	switch node := tree.(type) {
	case *ast.Number:
		return parseNumNode(node)
	case *ast.BaseNode:
		return evalNodes(tree.Children())
	default:
		return nil, fmt.Errorf("Unkown node type: %T", tree)
	}
}