package
1.29.1
Repository: https://github.com/benhoyt/goawk.git
Documentation: pkg.go.dev

# Functions

IsLValue returns true if the given expression can be used as an lvalue (on the left-hand side of an assignment, in a ++ or -- operation, or as the third argument to sub or gsub).
PosErrorf like fmt.Errorf, but with an explicit position.
SpecialVarIndex returns the "index" of the special variable, or 0 if it's not a special variable.
SpecialVarName returns the name of the special variable by index.
Walk traverses an AST in depth-first order: It starts by calling v.Visit(node); if node is nil, it does nothing.
WalkExprList walks a visitor over a list of expression AST nodes.
WalkStmtList walks a visitor over a list of statement AST nodes.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

Action is pattern-action section of a program.
AssignExpr is an expression like x = 1234.
AugAssignExpr is an assignment expression like x += 5.
BinaryExpr is an expression like 1 + 2.
BlockStmt is a stand-alone block like { print "x" }.
BreakStmt is a break statement.
CallExpr is a builtin function call like length($1).
CondExpr is an expression like cond ? 1 : 0.
ContinueStmt is a continue statement.
DeleteStmt is a statement like delete a[k].
DoWhileStmt is a do-while loop.
ExitStmt is an exit statement.
ExprStmt is statement like a bare function call: my_func(x).
FieldExpr is an expression like $0.
ForInStmt is a for loop like for (k in a) print k, a[k].
ForStmt is a C-like for loop: for (i=0; i<10; i++) print i.
Function is the AST for a user-defined function.
GetlineExpr is an expression read from file or pipe input.
GroupingExpr is a parenthesized grouping expression.
IfStmt is an if or if-else statement.
IncrExpr is an increment or decrement expression like x++ or --y.
IndexExpr is an expression like a[k] (rvalue or lvalue).
InExpr is an expression like (index in array).
MultiExpr isn't an interpretable expression, but it's used as a pseudo-expression for print[f] parsing.
NamedFieldExpr is an expression like @"name".
NextfileStmt is a nextfile statement.
NextStmt is a next statement.
NumExpr is a literal number like 1234.
PositionError represents an error bound to specific position in source.
PrintfStmt is a statement like printf "%3d", 1234.
PrintStmt is a statement like print $1, $3.
Program is a parsed AWK program.
RegExpr is a stand-alone regex expression, equivalent to: $0 ~ /regex/.
ReturnStmt is a return statement.
StrExpr is a literal string like "foo" or a regex constant like /foo/.
UnaryExpr is an expression like -1234.
UserCallExpr is a user-defined function call like my_func(1, 2, 3), where my_func is either AWK-defined or a native Go function.
VarExpr is a variable reference (special var, global, or local).
WhileStmt is a while loop.

# Interfaces

Expr is the abstract syntax tree for any AWK expression.
Node is an interface to be satisfied by all AST elements.
Stmt is the abstract syntax tree for any AWK statement.
Visitor has a Visit method which is invoked for each node encountered by Walk.

# Type aliases

Stmts is a block containing multiple statements.