List of reserved words in Ada and where they are used


[back to rule list]

abort -> abort_statement
      -> asynchronous_select
      -> requeue_statement
abs -> factor
abstract -> abstract_subprogram_declaration
         -> derived_type_definition
         -> formal_derived_type_definition
         -> formal_private_type_definition
         -> private_extension_declaration
         -> private_type_declaration
         -> record_type_definition
accept -> accept_statement
access -> access_definition
       -> access_to_object_definition
       -> access_to_subprogram_definition
aliased -> component_definition
        -> object_declaration
all -> access_to_object_definition
    -> explicit_dereference
and -> expression
array -> constrained_array_definition
      -> unconstrained_array_definition
at -> at_clause
   -> component_clause
   -> mod_clause
begin -> block_statement
      -> entry_body
      -> package_body
      -> subprogram_body
      -> task_body
body -> package_body
     -> package_body_stub
     -> protected_body
     -> protected_body_stub
     -> task_body
     -> task_body_stub
case -> case_statement
     -> variant_part
constant -> access_to_object_definition
         -> number_declaration
         -> object_declaration
declare -> block_statement
delay -> delay_relative_statement
      -> delay_until_statement
delta -> decimal_fixed_point_definition
      -> delta_constraint
      -> formal_decimal_fixed_point_definition
      -> formal_ordinary_fixed_point_definition
      -> ordinary_fixed_point_definition
digits -> decimal_fixed_point_definition
       -> digits_constraint
       -> floating_point_definition
       -> formal_decimal_fixed_point_definition
       -> formal_floating_point_definition
do -> accept_statement
else -> conditional_entry_call
     -> expression
     -> if_statement
     -> selective_accept
elsif -> if_statement
end of line -> comment
end -> accept_statement
    -> asynchronous_select
    -> block_statement
    -> case_statement
    -> conditional_entry_call
    -> entry_body
    -> if_statement
    -> loop_statement
    -> package_body
    -> package_specification
    -> protected_body
    -> protected_definition
    -> record_definition
    -> record_representation_clause
    -> selective_accept
    -> subprogram_body
    -> task_body
    -> task_definition
    -> timed_entry_call
    -> variant_part
entry -> entry_body
      -> entry_declaration
exception -> exception_declaration
          -> handled_sequence_of_statements
          -> renaming_declaration
exit -> exit_statement
for -> at_clause
    -> attribute_definition_clause
    -> entry_index_specification
    -> enumeration_representation_clause
    -> loop_statement
    -> record_representation_clause
function -> access_to_subprogram_definition
         -> generic_instantiation
         -> generic_renaming_declaration
         -> renaming_declaration
         -> subprogram_specification
generic -> generic_declaration
        -> generic_formal_part
        -> generic_renaming_declaration
        -> renaming_declaration
goto -> goto_statement
if -> if_statement
in -> entry_index_specification
   -> loop_statement
   -> mode
   -> relation
is -> abstract_subprogram_declaration
   -> case_statement
   -> entry_body
   -> formal_package_declaration
   -> formal_subprogram_declaration
   -> formal_type_declaration
   -> full_type_declaration
   -> generic_instantiation
   -> package_body
   -> package_body_stub
   -> package_specification
   -> private_extension_declaration
   -> private_type_declaration
   -> protected_body
   -> protected_body_stub
   -> protected_type_declaration
   -> single_protected_declaration
   -> single_task_declaration
   -> subprogram_body
   -> subprogram_body_stub
   -> subtype_declaration
   -> task_body
   -> task_body_stub
   -> task_type_declaration
   -> variant_part
limited -> formal_private_type_definition
        -> private_type_declaration
        -> record_type_definition
loop -> loop_statement
mod -> formal_modular_type_definition
    -> integer_type_definition
    -> mod_clause
    -> term
new -> allocator
    -> derived_type_definition
    -> formal_derived_type_definition
    -> formal_package_declaration
    -> generic_instantiation
    -> private_extension_declaration
not -> factor
    -> relation
null -> extension_aggregate
     -> null_statement
     -> primary
     -> record_aggregate
     -> record_definition
     -> variant
of -> constrained_array_definition
   -> unconstrained_array_definition
or -> expression
   -> selective_accept
   -> timed_entry_call
other control function -> character
others -> component_choice_list
       -> discrete_choice
       -> exception_choice
       -> positional_array_aggregate
out -> mode
package -> formal_package_declaration
        -> generic_instantiation
        -> generic_renaming_declaration
        -> package_body
        -> package_body_stub
        -> package_renaming_declaration
        -> package_specification
        -> renaming_declaration
pair of quotation mark -> string_element
pragma -> pragma
private -> formal_derived_type_definition
        -> formal_private_type_definition
        -> library_item
        -> package_specification
        -> private_extension_declaration
        -> private_type_declaration
        -> protected_definition
        -> task_definition
procedure -> access_to_subprogram_definition
          -> generic_instantiation
          -> generic_renaming_declaration
          -> renaming_declaration
          -> subprogram_specification
protected -> access_to_subprogram_definition
          -> protected_body
          -> protected_body_stub
          -> protected_type_declaration
          -> single_protected_declaration
quotation mark -> string_literal
raise -> raise_statement
range -> component_clause
      -> decimal_fixed_point_definition
      -> floating_point_definition
      -> formal_signed_integer_type_definition
      -> integer_type_definition
      -> ordinary_fixed_point_definition
      -> range_constraint
record -> extension_aggregate
       -> record_aggregate
       -> record_definition
       -> record_representation_clause
rem -> term
renames -> generic_renaming_declaration
        -> package_renaming_declaration
        -> renaming_declaration
        -> subprogram_renaming_declaration
requeue -> requeue_statement
return -> parameter_and_result_profile
       -> return_statement
       -> subprogram_specification
reverse -> loop_statement
select -> asynchronous_select
       -> conditional_entry_call
       -> selective_accept
       -> timed_entry_call
separate -> package_body_stub
         -> protected_body_stub
         -> subprogram_body_stub
         -> subunit
         -> task_body_stub
subtype -> subtype_declaration
tagged -> formal_private_type_definition
       -> private_type_declaration
       -> record_type_definition
task -> single_task_declaration
     -> task_body
     -> task_body_stub
     -> task_type_declaration
terminate -> terminate_alternative
then -> asynchronous_select
     -> expression
     -> if_statement
type -> formal_type_declaration
     -> full_type_declaration
     -> incomplete_type_declaration
     -> private_extension_declaration
     -> private_type_declaration
     -> protected_type_declaration
     -> task_type_declaration
     -> use_clause
until -> delay_until_statement
use -> at_clause
    -> attribute_definition_clause
    -> enumeration_representation_clause
    -> record_representation_clause
    -> use_clause
when -> case_statement_alternative
     -> entry_barrier
     -> exception_handler
     -> exit_statement
     -> guard
     -> variant
while -> loop_statement
with -> extension_aggregate
     -> formal_derived_type_definition
     -> formal_package_declaration
     -> formal_subprogram_declaration
     -> private_extension_declaration
     -> record_extension_part
     -> requeue_statement
     -> with_clause
xor -> expression

Attributes (formally, these are not reserved words)

Access -> attribute_designator
Delta -> attribute_designator
Digits -> attribute_designator
Range -> range_attribute_designator

[back to rule list]

© 1994-1995 Th. Estier Geneva / estier@cui.unige.ch