github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/lang/expressions/execute.go (about) 1 package expressions 2 3 import ( 4 "github.com/lmorg/murex/lang" 5 "github.com/lmorg/murex/lang/expressions/primitives" 6 ) 7 8 func ExecuteExpr(p *lang.Process, expression []rune) (*primitives.DataType, error) { 9 tree := NewParser(p, expression, 0) 10 11 err := tree.parseExpression(true, true) 12 if err != nil { 13 return nil, err 14 } 15 16 return tree.executeExpr() 17 } 18 19 func (tree *ParserT) ParseStatement(exec bool) error { 20 tree.statement = new(StatementT) 21 tree.charPos = 0 22 23 err := tree.parseStatement(exec) 24 if err != nil { 25 return err 26 } 27 28 return nil 29 }