code.dwrz.net

Go monorepo.
Log | Files | Refs

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 }