title | description | created | updated |
---|---|---|---|
Ada |
Ada Programming language cheatsheet contains useful code syntax with examples which is handy while coding. |
2020-06-24 |
2024-02-05 |
- Strongly typed
Types | Data-type |
---|---|
Basic | Integer, Character, Float, Long_Float, Short_Integer, Long_Integer, etc |
Pointer | access |
Composite | array, String |
User Defined Data Type | record, enumeration, tagged type, variant record, range types, etc. |
- First character in identifier is a letter, then letters (both uppercase and lowercase letters), digits and underscore(
_
). - Case insensitive
array-name : array (Fist..Last) of element-type; -- one-dimensional Array
array-name : array (Fist1..Last1, First2..Last2) of element-type; -- two-dimensional Array
It is an array of Character.
My_String := String := "abcde"; -- string declaration
Literal | Example |
---|---|
Integer Literal- decimal | 255 |
Integer Literal- octal | 8#377# |
Integer Literal- hexadecimal | 16#FF# |
Float point Literal | 53.0, 79e-6 |
Character literals | 'a', '1' |
String literals | "OneCompiler", "Foo" |
Boolean literals | True, False |
Special characters are defined as constans in ASCII
or Ada.Characters.Latin_1
package.
Constant | Description |
---|---|
LF | New line |
CR | Carriage Return |
HT | Horizontal tab |
VT | Vertical tab |
NUL | Null character |
Operator type | Description |
---|---|
Arithmetic Operator | + , - , * , / , ** (exponentiation) |
Relational Operator | < , > , <= , >=, /= , = |
Logical Operator | and , or , xor , not |
Assignment Operator | := |
If expression | (if a then b else c) |
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
Ada.Text_IO
: package that contains routines for I/O of text.with
: tells compiler that the package will be used.use
: tells compiler that the package should be automatically searched and allows access to routines without using the fully qualified name.procedure
: used to declare a procedure named Hello here.Put_Line
: is a procedure for string output.--
: comment.
varName : DataType := value;
varName : constant DataType := value;
if conditional-expr then
--code if above statement is true
elseif conditional-expr then
--code if above statement is true
end if;
case expr is
when expr => --code
when expr => --code
...
when others => --code;
end case;
This is the simplest loop
Index := 1; --initialization
loop
--code
exit when Index = n;
end loop;
Count := 1; --initialization
while Count < n loop
--code
end loop;
for Index in 1..n loop
--code
end loop;
Functions and procedures are collectively called as sub-programs.
procedure proc_name
(X : in Integer ; Y : out Integer ; Z : in out Integer ) is
begin
X := 10; −− it's an Error as you can’t modify an in parameter.
Y := X; −− can modify Y as it's an out parameter.
Z := Z + 1; −− can read and write as it's an in out parameter.
end proc_name;
function function_name(parameter : parameter_type) return value is
begin
--code
end function_name;