Beispiel #1
0
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)
	}
}