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 & XP_AWK_OPT_VARDCL)
|
||
|
|
||
|
global x;
|
||
|
global x, y;
|
||
|
|
||
|
local variables (enabled when awk->opt & XP_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 & XP_AWK_OPT_FUNCLOCAL)
|
||
|
|
||
|
function funca (x, y, v1, v2)
|
||
|
|
||
|
|
||
|
variables without any declarations (enabled when awk->opt & XP_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
|
||
|
|