# 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.
# Type aliases
Stmts is a block containing multiple statements.