Arithmetic Evaluator/Go: Difference between revisions
Content added Content deleted
(Alternative solution using library functions) |
m (Both examples work with Go 1. Library example needed a small tweak to match the API.) |
||
Line 1: | Line 1: | ||
__TOC__ |
__TOC__ |
||
=Operator precedence parser= |
=Operator precedence parser= |
||
{{works with|gc|2010-04-27}} |
|||
This is an operator precedence parser. The number format used in calculation can be changed with the line "type Number int". |
This is an operator precedence parser. The number format used in calculation can be changed with the line "type Number int". |
||
Line 287: | Line 285: | ||
func parseAndEval(exp string) (int, error) { |
func parseAndEval(exp string) (int, error) { |
||
tree, err := parser.ParseExpr(exp) |
|||
tree, err := parser.ParseExpr(fs, "", exp) |
|||
if err != nil { |
if err != nil { |
||
return 0, err |
return 0, err |