# Functions
ArrayRef is a constructor for *ArrayExpr.
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.
UserCall is a constructor for *UserCallExpr.
VarRef is a constructor for *VarExpr.
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
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.
ArrayExpr is an array reference.
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.
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".
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 an entire AWK program.
RegExpr is a stand-alone regex expression, equivalent to: $0 ~ /regex/.
ResolvedProgram is a parsed AWK program + additional data prepared by resolve step needed for subsequent interpretation.
ReturnStmt is a return statement.
StrExpr is a literal string like "foo".
UnaryExpr is an expression like -1234.
UserCallExpr is a user-defined function call like my_func(1, 2, 3)
Index is the resolved function index used by the interpreter; Name is the original name used by String().
VarExpr is a variable reference (special var, global, or local).
WhileStmt is a while loop.