Using EFP (Excel Formula Parser) you can get an Abstract Syntax Tree (AST) from Excel formula.
go get github.com/xuri/efp
package main
import "github.com/xuri/efp"
func main() {
ps := efp.ExcelParser()
ps.Parse("=SUM(A3+B9*2)/2")
println(ps.PrettyPrint())
}
Get AST
SUM <Function> <Start>
A3 <Operand> <Range>
+ <OperatorInfix> <Math>
B9 <Operand> <Range>
* <OperatorInfix> <Math>
2 <Operand> <Number>
<Function> <Stop>
/ <OperatorInfix> <Math>
2 <Operand> <Number>
Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.
EFP (Excel Formula Parser) is a Go language port of E. W. Bachtal's Excel formula parser.
This program is under the terms of the BSD 3-Clause License. See https://opensource.org/licenses/BSD-3-Clause.