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 |