72 lines
1.2 KiB
Plaintext
72 lines
1.2 KiB
Plaintext
Programs
|
|
|
|
pattern { action }
|
|
function name (parameter-list) { statement }
|
|
|
|
Patterns
|
|
BEGIN
|
|
END
|
|
expresion
|
|
/regular expression/
|
|
pattern && pattern
|
|
pattern || pattern
|
|
!pattern
|
|
(pattern)
|
|
pattern, pattern -> range pattern
|
|
|
|
Actions
|
|
break
|
|
continue
|
|
delete array-element
|
|
do statement while (expression)
|
|
exit [expression]
|
|
expression
|
|
if (expression) statement [else statement]
|
|
input-output statement
|
|
for (expression; expression; expression) statement
|
|
for (variable in array) statement
|
|
next
|
|
return [expression]
|
|
while (expression) statement
|
|
{ statements }
|
|
|
|
Variables
|
|
|
|
global variables (enabled when awk->opt & HAWK_AWK_OPT_VARDCL)
|
|
|
|
global x;
|
|
global x, y;
|
|
|
|
local variables (enabled when awk->opt & HAWK_AWK_OPT_VARDCL)
|
|
|
|
local x;
|
|
local x, y;
|
|
|
|
function arguments (enabled always)
|
|
|
|
function funca (x, y)
|
|
|
|
|
|
local variables in function declaration (enabled when awk->opt & HAWK_AWK_OPT_FUNCLOCAL)
|
|
|
|
function funca (x, y, v1, v2)
|
|
|
|
|
|
variables without any declarations (enabled when awk->opt & HAWK_AWK_OPT_NAMEDVAR)
|
|
|
|
x = 10; // x is put into the global hash table.
|
|
|
|
|
|
Optimization
|
|
|
|
constant folding
|
|
2 * 10 => 20
|
|
|
|
loop
|
|
remove while (0) { ... }
|
|
|
|
if
|
|
remove if (0) {}
|
|
use else_part only
|
|
|