Ejemplo n.º 1
0
Archivo: ex15.go Proyecto: utahta/gopl
func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for {
		fmt.Print("> ")
		if !scanner.Scan() {
			break
		}

		expr, err := eval.Parse(scanner.Text())
		if err != nil {
			fmt.Println(err)
			continue
		}

		if err = expr.Check(map[eval.Var]bool{}); err != nil {
			fmt.Println(err)
			continue
		}
		fmt.Println(expr.Eval(eval.Env{}))
	}
}
Ejemplo n.º 2
0
Archivo: ex14.go Proyecto: utahta/gopl
func main() {
	expr, _ := eval.Parse("x ? y")
	fmt.Println(expr.Eval(eval.Env{"x": 10, "y": 20}))
}
Ejemplo n.º 3
0
Archivo: ex13.go Proyecto: utahta/gopl
func main() {
	expr, _ := eval.Parse("pow(x + pow(y))")
	fmt.Println(expr.String())
}