le border=1 cellpadding=6>
method(parent(dispatching-parameter)) | accessing parent method |
type c is tagged record ... end record | class declaration |
dispatching parameter | current instance |
type child is new parent with record ... end record | inheritance |
Requires instantiation of Ada.Unchecked_Deallocation | manually call an object's destructor |
method(object, para) | method invocation |
method(object) | method invocation (with no parameter) |
o2.all := o.all | object cloning |
new | object creation |
in | testing class membership |
package p is -- Declare public package members here private -- Declare private package members here end p; package body p is ... -- Define package implementation here end p; | declare |
package p is ... end; package body p is ... end; | declare (selective export) |
with p; use p; | import (everything into current namespace) |
with p; | import (package (ie. load the package)) |
with p; use type p.type1; ... | import (selectively) |
. | package scope |
s(n) | accessing n-th character |
'Val | ascii to character |
'z' | character "z" |
'Pos | character to ascii |
Character | character type name |
'Image | convert something to a string (see also string interpolation) |
* | duplicate n times |
s(n..m) | extract a substring |
index / index_non_blank / find_token | locate a substring |
index(Going => Backward) | locate a substring (starting at the end) |
Put | simple print (on any objects) |
Put_Line | simple print (on strings) |
& | string concatenation |
= /= | string equality & inequality |
'Length | string size |
"..." | strings (verbatim) |
String | type name |
To_Upper / To_Lower | upper / lower case character |
to_upper / to_lower | uppercase / lowercase / capitalized string |
Missing:
strings (with interpolation)
strings (end-of-line (without writing the real CR or LF character))
multi-line
serialize (marshaling)
unserialize (un-marshaling)
false | false value |
not | logical not |
or / and | logical or / and (non short circuit (always evaluates both arguments)) |
or else / and then | logical or / and (short circuit) |
true | true value |
Boolean | type name |
for v in range loop .. end loop | for each element do something |
a(i) | list/array indexing |
Null (81) | optional value (null value) |
v | optional value (value) |
a .. b | range (inclusive .. inclusive) |
. | record selector |
' (82) | record selector |
'access | reference (pointer) (creation) |
.[all] | reference (pointer) (dereference) |
( a, b, c ) | tuple constructor |
** | exponentiation (power) |
Log / Log(X => val, Base => 10.0) | logarithm |
rem | modulo (modulo of -3 / 2 is -1) |
mod | modulo (modulo of -3 / 2 is 1) |
- | negation |
1000., 1E3 | numbers syntax (decimals) |
1_000 | numbers syntax (integer thousand-seperator) |
2#1#, 8#7#, 16#f# | numbers syntax (integers in base 2, octal and hexadecimal) |
1000 | numbers syntax (integers) |
sqrt / exp / abs | square root / e-exponential / absolute value |
sin / cos / tan | trigonometry (basic) |
asin / acos / atan (88) | trigonometry (inverse) |
/ Rounding / Floor / Ceiling | truncate / round / floor / ceil |
Missing:
type name
addition / subtraction / multiplication / division
random (random number)
random (seed the pseudo random generator)
operator priorities and associativities
bitwise operators
Call a task entry on the other thread | Joining Another Thread (Suspending a Thread Until Another Thread Establishes An Internal State) |
Call task entry serviced just before task termination | Joining Another Thread (Suspending a thread until another thread completes) |
Set_Priority(Priority_Value); | Thread Prioritization (Changing Thead Priority) |
pragma Priority(expression); | Thread Prioritization (Establishing a base thread priority) |
pragma Locking_Policy(Ceiling_Locking); | Thread Prioritization (Selecting a Prioritization Model) |
protected Object_Name is [entry entry_name(Parameter : [in out] is type [...]); procedure procedure_name(Parameter : [in out] is type [...]); function function_name return type; private shared data declaration end Object_Name; | Thread Synchronization (Defining a Synchronized Shared Resource) |
Objectg_Name.Entry_Name(Parms) | Thread Synchronization (Monitor Syntax) |
Object_Name.Function_Name | Thread Synchronization (Synchronized Reading of a Shared Resource) |
Object_Name.Entry_Name(Parms) Object_Name.Procedure_Name(Parms) | Thread Synchronization (Synchronized Writing to a shared resource) |
pragma Volatile(Object_Name); | Thread-safe sharing of data without synchronization (Ensuring access is always via a local copy of the shared data) |
pragma Atomic(Object_Name); | Thread-safe sharing of data without synchronization (Ensuring access is atomic) |
call an entry with paramters | passing data directly between threads |
Tasks are started when created / call Stop entry or "abort task-object-name" | starting / stopping threads |
select task_entry_call; or delay timeout_limit; end select; | terminating thread communication due to a time-out |
task task_name is [entry entry_name[(parameter ...)]...] end task_name | thread definition |
task type task_type_name is [entry entry_name[(parameter ...)]...] end task_type_name | thread definition |
MyTask : task_type_name; | thread object creation |