expression.go (565B)
1 package ini 2 3 // newExpression will return an expression AST. 4 // Expr represents an expression 5 // 6 // grammar: 7 // expr -> string | number 8 func newExpression(tok Token) AST { 9 return newASTWithRootToken(ASTKindExpr, tok) 10 } 11 12 func newEqualExpr(left AST, tok Token) AST { 13 return newASTWithRootToken(ASTKindEqualExpr, tok, left) 14 } 15 16 // EqualExprKey will return a LHS value in the equal expr 17 func EqualExprKey(ast AST) string { 18 children := ast.GetChildren() 19 if len(children) == 0 || ast.Kind != ASTKindEqualExpr { 20 return "" 21 } 22 23 return string(children[0].Root.Raw()) 24 }