The "Unknown:"s below indicate that an entry is incomplete.
do ... end | block (grouping statements, especially when statements are not expressions) |
, | breaking lines (useful when end-of-line and/or indentation has a special meaning) |
/* ... */ | commenting (nestable) |
< > <= >= | comparison |
<< >> <<= >>=(1) | comparison |
MIN / MAX | comparison (min / max (binary or more)) |
== \== | equality / inequality (deep) |
( ... ) | grouping expressions |
SOURCELINE() / parse source OS . SOURCENAME | information about the current line and file |
interpret | runtime evaluation |
case-insensitive | tokens (case-sensitivity (keywords, variable identifiers...)) |
[a-zA-Z!?@#][a-zA-Z0-9!?@#]* | tokens (variable identifier regexp) |
= | variable assignment or declaration (assignment) |
Unknown:
tokens (what is the standard way for scrunching together multiple words)
v = f(a, b, ...) or call f a, b, ... | function call |
v = f() | function call (with no parameter) |
call f | function call (with no parameter) |
f : procedure ... return retval | function definition |
f : procedure ... return | function definition (procedures) |
return(2) | function return value (breaks the control flow) |
trace 'I' | runtime inspecting the caller information |
iterate / leave | breaking control flow (continue / break) |
signal | breaking control flow (goto (unconditional jump)) |
return(2) | breaking control flow (returning a value) |
signal on predefined_condition_name ... predefined_condition_name : ... | exception (catching) |
signal predefined_condition_name | exception (throwing) |
if c then ; ... if c then ... if c then do ... end | if_then |
if c then ; b1 ; else ; b2 if c then b1 else b2 if c then do b1 ... end else do b2 ... end | if_then_else |
do i = 10 to 1 by -1 ... end | loop (for each value in a numeric range, 1 decrement) |
do i = 1 for 10 ... end | loop (for each value in a numeric range, 1 increment (see also the entries about ranges)) |
do i = 1 to 10 by 2 ... end | loop (for each value in a numeric range, free increment) |
do forever ... end | loop (forever loop) |
do while c ... end | loop (while condition do something) |
select when v1 ... when v2 | v3 ... otherwise ... end | multiple selection (switch) |
nothing, optionally ; | sequence |
Unknown:
loop (do something until condition)
X2C, D2C | ascii to character |
'z' | character "z" |
"z" | character "z" |
C2X, C2D | character to ascii |
COPIES | duplicate n times |
SUBSTR | extract a substring |
POS | locate a substring |
LASTPOS | locate a substring (starting at the end) |
"...", "..." | multi-line |
say | simple print (on strings) |
|| | string concatenation |
string concatenation | |
= \= | string equality & inequality |
== \== or = <> \= | string equality & inequality |
LENGTH | string size |
'...' | strings (with no interpolation of variables) |
"..." | strings (with no interpolation of variables) |
parse upper var in_var out_var / parse lower var in_var out_var | uppercase / lowercase / capitalized string |
Unknown:
serialize (marshalling)
unserialize (un-marshalling)
upper / lower case character
0(3) | false value |
\ | logical not |
| / & | logical or / and (non short circuit (always evaluates both arguments)) |
1 | true value |
+ / - / * / / | addition / subtraction / multiplication / division |
BITAND / BITOR / BITXOR | bitwise operators (and / or / xor) |
** | exponentiation (power) |
Log10 | logarithm (base 10) |
Log | logarithm (base e) |
// | modulo (modulo of -3 / 2 is -1) |
% | modulo (modulo of -3 / 2 is 1) |
- | negation |
1000., 1E3 | numbers syntax (floating point) |
'1'B, 'F'X | numbers syntax (integers in base 2, octal and hexadecimal) |
1000, '1000'D | numbers syntax (integers) |
mathematical | operator priorities and associativities (addition vs multiplication) |
mathematical | operator priorities and associativities (exponentiation vs negation (is -3^2 equal to 9 or -9)) |
Sqrt / Exp / ABS | square root / e-exponential / absolute value |
Sin / Cos / Tan | trigonometry (basic) |
ASin / ACos / ATan | trigonometry (inverse) |
TRUNC / FORMAT / Floor / Ceil | truncate / round / floor / ceil |
Unknown:
random (random number)
random (seed the pseudo random generator)