Ada 95 Quality and Style Guide | Index |
'Base, 5.3.3
'Callable, 6.2.3
'Constrained, 5.3.3
'Count, 6.2.3
protected objects, 6.2.3, 6.4
tasks, 6.2.3, 6.4
'First, 5.5, 5.10
'Image, 3.4.2
'Last, 5.5, 5.10
'Length, 5.5, 5.10
'Pos, 3.4.2
'Pred, 3.4.2
'Range, 5.5, 5.10
'Size,5.3.3
'Storage_Size, 7.3
'Succ, 3.4.2
'Terminated,6.2.3, 6.3.2
'Val, 3.4.2
'Value, 3.4.2
abbreviation, 3.1.4, 3.2.1, 3.5
capitalization, 3.1.3
renames clause, 5.7.2, 5.10
reusability, 8.1.1
abnormal termination, 6.3.4
abort
affects 'Count, 6.2.3
completion point, 6.3.3
portability, 7.4.6
statement, 6.3.3, 7.4.6
task, 7.4.6
abstract data object, 8.3.5
abstract data type, 4.1.5, 62, 8.3.5
abstract data types, 8.3.5, 8.5, 9.2.4
abstract state machine, 8.3.5
abstract subprograms, 9.2.4
abstract types, 9.2.4, 9.3.1, 9.6
abstraction, 5.8.4
affect on naming, 8.1.1, 8.5
complete functionality, 8.3.1
data modeling, 5.4
enhanced by subprogram, 4.1.3, 4.4
includes exception, 4.3.1
name, 3.2.4, 3.5
protect with exception handler, 5.8.4, 5.10
supported, 4.1
using abstract types, 9.2.4, 9.6
using constrained subtype, 5.6.3
using nested record, 5.4.4
using private type,5.3.3
using types, 5.3.1
accept, 6.2.5, 6.4
blocking, 6.1.7
causing deadlock, 6.3.2, 6.4
closed, 6.2.2, 6.4
end statement, 5.1.4, 5.10
indentation, 2.1.2
minimize, 6.2.1, 6.2.6, 6.4
rendezvous, 6.2.1, 6.4
selective, 6.2.1, 6.2.2, 6.4
access, 5.4.5, 5.10
affects equality, 5.7.5
I/O portability, 7.7.4
portability, 7.6.4
to subprogram, 7.3
access function, 4.1.8
access value, 4.1.6, 4.4
accuracy
analysis, 7.2.3
constraints, 7.2.4
floating point, 7.1, 7.2.3, 7.8
fraction, 3.1.2
greater, 7.2.1, 7.8
model, 7.2.2
of relational expression, 5.5.6
portability, 7.2.5
acronym
capitalization, 6.3.1
active iterator, 8.3.6, 8.5
actual parameter, 5.2, 5.10
anonymous, 5.3.2
Ada.Command_Line
and portability, 7.1.4
versus POSIX, 7.1.4
Ada.Strings_Bounded, 4.2.2
adaptability, 8.3, 8.5
address clause, 5.9.4
adjective
for boolean object, 3.2.3, 3.5
aggregate, 5.6.10
function calls in, 4.1.4
performance, 10.6.1, 10.8
algorithm
comment in header, 3.3.4
concurrent, 4.1.9, 4.4
encapsulated in generic, 8.3.4
portability, 7.6, 7.8
alias
of dynamic data, 5.4.5
using address clause, 5.9.4, 5.10
alignment
and nesting, 5.6.1
declaration, 2.1.4
parameter modes,2.1.5,2.2,
vertical, 9, 13, 2.1.4,2.1.5,2.2,
allocate
dynamic data, 5.4.5, 5.10
dynamic task, 6.1.5, , 6.4
ambiguous
use clause,5.7.1, 5.10
anonymous type, 5.3.2
protected objects, 6.1.4, 6.4,
task, 6.1.4,
anticipated change
adaptability, 8.3.1
anonymous task, 6.1.4,
comment in header, 3.3.3
encapsulate, 4.1.5, 4.4
parameter mode, 5.2.4,
apostrophe
spacing, 2.1.1application domain
abbreviation, 3.1.4, 3.5application specific
abbreviation affects reusability, 8.1.2
literal, 31
application-independent
name, 8.1.1array
anonymous type, 5.3.2, 5.10assignment
attribute, 5.5
constrained, 75, 227, 10.8
function calls in initialization, 4.1.4
indexing, 227, 10.8
parallel
do not use, 5.4.2parameter passing, 8.2.2, 8.5
performance, 227, 228, 230, 10.8
range, 5.5
slice, 5.6.2, 5.10
unconstrained, 8.2.2, 8.5
conditional, 230, 10.8assumption
for private type,5.3.3
reduced by aggregate, 5.6.10, 5.10
document, 8.2.3, 8.5asynchronous
documented through generic parameter, 8.3.3
minimizing, 8.2.3, 8.5
'Count, 6.2.3attribute
entity, 115, 6.4,
'Base,5.3.3
'Callable, 6.2.3
'Constrained,5.3.3
'Count, 6.2.3
'First, 5.5, 5.10
'Image, 3.4.2
'Last, 5.5, 5.10
'Length, 5.5, 5.10
'Pos, 3.4.2
'Pred, 3.4.2
'Range, 5.5, 5.10
'Size,5.3.3
'Storage_Size, 7.3
'Succ, 3.4.2
'Terminated, 6.2.3
'Val, 3.4.2
'Value, 3.4.2
implementation-specific, 7.7.5
in generic, 8.2.4, 8.5
binary operator
spacing, 9blank lines, 16
for goto statement, 5.6.7block
for label, 5.6.7
return statement, 5.6.8, 5.10
indentation, 2.1.2blocking
localizing exception, 5.8.4, 5.10
marker comment, 3.3.7, 3.3.7, 3.5
name, 66
nesting, 66, 5.10
performance, 226
statement, 93
to minimize suppress, 105, 5.10
use clause,5.7.1, 5.10
not busy waiting, 6.1.7body
with priority, 122
within protected object, 107
comment, 3.3.4boolean
end statement, 5.1.4, 5.10
header
as pagination, 17hide interface to foreign code, 148
hide Unchecked_Conversion, 5.9, 5.10
name repeated in begin, 3.3.7, 3.5
task, 6.3.3, 139
function name, 3.2.5, 3.5boundary value, 5.2.4, , 5.10
object name, 3.2.3-3.5
bounded error, 5.9
busy wait, 122, 6.4
created with priorities, 6.2.5
Calendar
portability, 7.4.3capitalization, 6.3.1
in numeric literal, 3.1.2, 3.4.2case statement, 5.4.3, 88
indentation, 2.1.2child package. See package, child
marker comment, 3.3.7, 3.5
nesting, 5.6.1
performance, 229, 10.8
use constrained subtype, 5.6.3
class-wide operation, 212, 9.6
class-wide type, 203, 205, 9.3.1, 216, 9.6
clause
address, 5.9.4closing file
context
minimize, 4.2, 4.4length
visibility, 4.2.3, 64
for dynamic data, 5.4.5, 5.10renames, 96
representation, 7.3, 7.6, 7.8
instead of enumeration, 43, 3.5use,5.7.1, 96, 5.10
portability, 162code
formatting, 9cohesion, 54
colon
alignment, 2.1.4, 15comma
spacing, 10
spacing, 10comment, 3.1.2, 31
body header, 3.3.4comments
data, 38
distinct from code, 40, 3.5
do not repeat, 38, 3.5
exception, 38, 3.5
header, 32, 3.5
file, 33label, 5.6.7
for group of routines, 3.3.4
purpose, 35
when to omit, 37
machine code insert, 159
marker, 3.3.7
minimize, 32
numerical analysis, 7.2.3
program specification, 3.3.3, 3.5
reduced by naming, 3.2.1, 3.2.6 3.4.2, 66, 5.2, 5.10
reduced by static expression,3.2.6
return statement, 5.6.8, 5.10
statement, 40
tasking implementation, 4.3.1
to document portability, 144
trailing
alignment, 2.1.4type, 38, 3.5
to document portability, 7.2.2communication
complexity, 6.2.6compilation
protected objects, 6.2.1
tasks, 6.2.1
affected by Inline, 236complex communication, 6.2.6
conditional, 195
separate, 4.1
complex data
comment, 38, 3.5concurrency, 113, 225. See task. See task
affects exception behavior, 99concurrent algorithm, 4.1.9, 4.4, 115, 6.4,
conditional compilation, 195
conditional entry
call, 4.3.1, 6.2.5, 6.4conditional expression
indentation, 2.1.2
in while loop, 5.6.4, 5.10configuration pragmas, 49
constant,3.2.6
declarationconstrained, 7.1
alignment, 2.1.4in static expression, 8.2.1
to avoid use clause, 96
to reduce nesting, 5.6.1
type of,3.2.6
constraint, 43, 5.3.1 , 5.10
constraint check
for generic formal, 175constraint checking, 175
constructor, 4.1.6, 4.4, 212
context
dependency, 4.1.8, 4.4context clause
of exceptions, 4.3.1, 64
to shorten names, 3.2.1
generic needs elaboration, 193, 8.5continuation condition
indentation, 12
minimize, 4.2, 4.4
per line, 18
reduced using generic parameter, 8.4.2, 8.5
use type,5.7.1, 5.10
visibility, 4.2.3, 64
for while loop, 5.6.4, 5.10continuation line
indentation,2.1.1,13, 19controlled types, 206, 9.6
conversion
of a private type,5.3.3copyright notice, 33
rational fraction, 3.1.2
type, 5.3.1
unchecked, 5.9, 161
coupling
data, 54cyclic activity, 4.1.9, 4.4
due to pragma, 193
reduced using generic parameter, 8.4.2
cyclic executive
termination, 6.3.1
dangling reference, 5.4.5, 5.10
data
abstract type, 8.3.5, 8.5data-driven program, 195
comment, 38
coupling, 54
dynamic, 5.4.5
grouped in package, 54, 4.4
in algorithm, 8.3.4, 8.5
iterator for complex, 8.3.6, 8.5
protected, 6.2.4
representation, 7.6, 7.8
shared, 4.1.8, 6.2.4, 6.4
structure, 5.4, 5.10
structures, 227
Unchecked_Conversion, 5.9
dead code, 195, 8.5
deadlock, 4.3.1
eliminate, 122deallocation, 5.4.5, 5.10
decimal types
and the Information Systems annex, 153declaration
alignment, 2.1.4default mode, 5.2.4,
anonymous task, 6.1.4,
array size, 8.2.2, 8.5
blank lines, 16
constant, 3.2.6 3.5
constrained subtype, 5.6.3
digits, 7.2.1, 7.8
floating point, 7.2.2
function call in, 105, 5.10
grouping, 4.1.5, 4.4
hiding, 5.7.2
minimize, 4.2, 4.4
named number, 3.2.6 3.5
per line, 18
range, 7.2.1, 7.8
record
for heterogeneous data, 75, 5.10renames, 3.1.4, 96, 5.10
type, 3.2.1, 3.4
variable, 54, 4.4
within block, 93, 5.10
default parameter, 5.2.3
delay
drift, 122, 6.1.7delimiter
in selective accepts, 6.2.5, 6.4
inaccurate, 122, 6.4
portability, 155
statement, 122, 6.4
statements, 155
to avoid deadlock, 6.3.2, 139
spacing, 9, 19dependency
affects reusability, 191, 8.5derived type, 3.4, 3.5, 5.2.4,
comment about, 3.3.3
context, 4.2, 4.4
reduced using generic parameter, 193
design
for reusability, 8.0digits declaration, 7.2.1, 7.8
impact of typing, 43
impact on nesting, 5.6.1
tradeoffs, 4
uses data representation, 7.6, 7.8
Direct_IO,5.3.3, 106, 7.7.4
import private type, 8.3.3discrete
affects equality, 5.7.5discriminant
access, 213, 9.6discriminants
of a private type,5.3.3
protected objects, 117, 118, 6.4,
tasks, 117, 6.4,
tasks, 118dispatching, 188, 203, 205, 206, 210, 212, 9.6, 231, 10.8
documentation
exception in abstraction, 4.3.1, 64drift
generic formal parameter, 8.1.2, 8.5
hidden task, 176, 8.5
infinite loop, 5.6.6
invalid state, 8.2.7
object value, 3.2.3, 3.5
of assumption, 8.2.3, 8.5
of implementation dependency, 146, 164
of iterator behavior, 8.3.6, 8.5
of machine code, 159
of numerical analysis, 7.2.2, 7.8
of system call, 162
portability, 144, 164
table-driven code, 196
using named number, 8.2.3
delay, 122Duration, 143, 164
portability, 7.4.3dynamic data, 5.4.5
adaptability, 8.3.1, 8.5dynamic storage, 7.3, 7.8
deallocation, 103
dynamic task, 6.1.5,
Elaborate, 106
elaboration, 105, 5.10, 8.4.3
of value, 3.2.6 3.5else clause
comment, 3.3.7, 3.5else part
nesting, 5.6.1
in selective accept, 6.2.5, 6.4elsif clause
open alternative, 6.2.3
to avoid deadlock, 6.3.2, 139
nesting, 5.6.1encapsulation, 4.1.5, 4.4
implementation dependency, 146, 7.6end statement
of algorithm in generic, 8.3.4
supported, 4.1
name, 5.1.4entry
pagination, 17, 19
address clause, 5.9.4, 5.10enumeration
attribute, 6.2.3, 6.4
call, 59, 6.2.5, 6.3.5, , 6.4, 139
avoiding Tasking_Error, 6.2.3, 6.4conditional, 4.3.1, 6.2.5, 6.4
circular, 6.3.5, , 139
conditional, 6.2.5, 6.4
named association, 5.2, 5.10
default parameter, 5.2.3, 5.10
exceptions raised in, 4.3.1, 64
hiding, 59
indentation, 2.1.2
interrupt, 5.9.4
minimize, 132
minimize accepts, 6.2.6, 6.4
name, 3.2.4, 3.5
parameter list, 5.2, 5.10
parameter mode, 5.2.4, 5.10
queue
'Count, 6.2.3timed, 4.3.1, 6.2.5, 6.4
not prioritized, 120, 6.4
affects 'Count, 6.2.3
alignment, 2.1.4enumeration types
in case statement, 88, 5.10
literal,5.7.1, 5.10
representation clause, 161
type, 43, 5.4.4
representation clauses, 3.5equality, 5.7.5, 5.10, 8.3.4, 214, 223
for private type,5.3.3erroneous execution, 5.9, 5.10
overload operator, 5.7.4
not portable, 141error
files, 7.7.5evaluation order
unrecoverable
use exception, 4.3.1
parenthesis, 84, 5.10exception, 4.3.1, 64, 99, 5.10, 210, 9.3.1, 9.6
select statement, 7.4.4
avoiding, 99, 5.10execution pattern
cause, 5.8.4
comment, 3.3.3, 38, 3.5
do not propagate, 4.3.1, 64
do not raise, 4.3.1, 64
handler, 4.3.1, 64, 99, 100, 5.8.4, 5.10, 5.10, 6.2.2, 6.4
during rendezvous, 6.2.2, 6.4implementation-defined, 5.8.4, 5.10, 157
for Storage_Error, 5.4.5, 5.10
in block, 93, 5.10
in task body, 6.2.1, 6.3.3, 6.4, 139
reusability, 176, 8.5
to avoid termination, 132, 6.4
in initialization, 106
keep error separate, 4.3.1
numeric error, 7.1
part of abstraction, 4.3.1
portability, 157, 7.8
predefined, 5.8.4, 5.10, 5.10, 157
Program_Error, 6.2.2, 6.2.3, 6.4
erroneous execution, 5.9propagation, 5.8.3, 5.10, 176, 8.5
rendezvous, 6.2.3
reusability, 176
Storage_Error, 5.4.5, 5.10
suppress, 105
Tasking_Error, 6.2.2, 6.2.3, 6.4
user-defined, 5.8.3, 5.10
portable, 155, 7.8exit statement, 5.1.3, 5.6.4, 5.6.5, 5.10
conditional, 86exit status
in loop, 65, 5.6.4, 5.10
setting, 6.3.6 139export
overloading in generic, 175, 8.5expression, 5.5, 5.10
aggregate, 5.6.10
alignment, 13, 15
evaluation
portability,7.2.2 7.2.2function calls in, 4.1.4
logical, 5.5.5
nesting, 86, 5.10
numeric, 7.2, 7.8
order dependency, 7.2.1, 7.8
parenthesis, 84
relational, 84, 5.5.6, 5.10
slice, 5.6.2
spacing, 10
static, 3.2.6 3.5, 172, 8.5
use named association, 5.2, 5.10
family of parts, 8.4.4
file
closing, 162finalization, 8.3.1, 206, 9.2.3, 9.6
header, 33
naming convention, 48
naming conventions, 4.1, 4.4
organization, 4.1, 4.4
complete functionality, 8.3.1, 8.5fixed point
in relational expression, 86flag
precision, 143, 164
in complex loop, 5.6.4floating point
in while loop, 5.6.4
naming, 84, 5.10
accuracy, 7.2.3flow of control, 99
affects equality, 5.7.5
arithmetic, 7.2.1, 7.8
in relational expression, 86
precision, 143, 7.2.3, 164
relational expression, 152, 7.8
for loop, 5.6.4, 5.10
indentation, 2.1.2foreign code, 148
is bounded, 5.6.7
Form
parameter in predefined I/O, 162formal parameter, 5.2, 5.10
anonymous, 5.3.2formatter,2.1.1,13, 2.1.4,2.1.5, 16, 17, 18,2.2, 3.1.2, 3.1.3
generic, 8.1.2
name, 5.2, 5.10
FORTRAN, 5.4.2
equivalence, 5.9.4, 5.10fraction, 3.1.2
free list, 5.4.5
function
access, 4.1.8functionality
body
indentation, 12call
in declaration, 105, 5.10default parameter, 5.2.3, 5.10
named association, 5.2, 5.10
recursive, 91, 5.10
spacing, 9
end statement, 5.1.4, 5.10
generic, 8.3.2, 8.4.2, 8.5
Inline, 236, 10.8
interrogative
to avoid exception, 4.3.1, 64name, 3.2.4, 3.5
overload, 5.7.3, 5.10
parameter list, 5.2, 5.10
return, 5.6.8
side effect, 4.1.4, 4.4
specification
indentation, 12to reduce nesting, 5.6.1
use of, 4.1.4
complete, 8.3.1
garbage collection
of dynamic data, 5.4.5generic, 8.3.2, 8.4.2, 8.5, 218, 223
Unchecked_Deallocation, 103
abstract data object, 8.3.5generics, 191, 8.5, 216
abstract data type, 8.3.2
abstract data types, 8.3.2, 8.5
families, 8.4.4, 8.5
formal derived types, 9.2.4, 9.6
formal package, 8.4.1, 8.5
formal packages, 193
formal parameters, 176, 8.5
formal subprograms, 216
formal type, 8.3.5, 8.5
instance
indentation, 12name, 3.2.4, 3.5, 8.1.1, 8.5
named association, 5.2, 5.10
package, 4.2.2, 175, 8.5
parameter, 8.1.2, 8.5
accessed within task, 176, 8.5parameters, 8.4.2, 8.5
indentation, 12
to reduce coupling, 8.4.2
reusability, 8.0
robustness, 8.2.3
subtype in formal, 8.2.4, 8.5
to encapsulate algorithm, 8.3.4
when formal raise exception, 176, 8.5
global data
access, 56, 4.4global effect
comment, 3.3.3, 3.5goto, 5.6.7
simulated by exception, 100guard
causing Program_Error, 6.2.2, 6.4guideline
evaluation order, 7.4.4, 7.8
nonlocal variable, 6.2.4, 6.4
referencing 'Count, 6.2.3
violation, 32
header
file, 33heterogeneous data, 75, 203
hidden task, 59, 176
hiding
declarations, 5.7.2horizontal spacing, 9
identifier
abbreviation, 3.1.4, 3.5, 8.1.2, 8.5if statement
capitalization, 6.3.1
constant, 3.2.6 3.5
naming convention, 3.1.4
numeric,3.2.6
object, 3.2.3, 3.5
reusability, 8.0, 8.5
type, 3.2.1
use of underscore, 3.1.1
visibility, 4.1.8, 4.4
avoid exit, 5.6.5, 5.10immediately
indentation, 2.1.2
marker comment, 3.3.7, 3.5
nesting, 5.6.1
positive name, 84
undefined, 6.2.5implementation
added feature, 146implementation dependent, 7.6, 7.8
comment in header, 3.3.4
encapsulate decisions, 4.1.5, 4.4
hide detail, 56, 4.4
at run time, 161, 167implementation-defined
encapsulation, 146
global assumptions, 143
storage specification, 7.3
tentative rendezvous, 6.2.5
exception, 5.8.4, 5.10, 157implementation-specific
System constant, 159
Unchecked_Conversion, 103
attribute, 7.7.5in
pragma, 7.7.5
alignment, 15in out
used in generic formal, 8.2.4, 8.5indentation, 10
affects abbreviation, 3.1.4independence, 31, 191
of declarations, 2.1.4, 19
inequality
for private type,5.3.3infinite loop, 91, 5.10
information hiding, 4.1, 4.1.5, 4.4
aids adaptability, 8.3.1inheritance, 201
effects exception handling, 4.3.1
enforced through visibility, 4.2
using iterator, 189
using private type,5.3.3
mixin, 8.3.3, 191, 8.5, 201, 218initialization, 105, 8.3.1, 206, 9.2.4, 213, 9.6
multiple, 201, 9.2.4, 220
example, 220reusability, 8.0
in declarationinput/output
alignment, 2.1.4performance, 226, 10.8
procedure, 8.3.1, 8.5
on access type, 7.7.3instantiation
portability, 162, 167
stream_IO, 162
name, 3.2.4, 3.5, 8.1.1, 8.5Integer
named association, 5.2, 5.10
reusability, 8.3.2, 8.5
portability, 143, 164interface
access to device, 4.1.10, 4.4, 114, 6.4,interrupt
comment, 3.3.3, 3.5
implementation-defined exception, 157, 7.8
minimize, 4.2
parameter list, 5.2, 5.10
portability, 7.6
to a device, 4.1.5, 4.4, 75, 5.9.4, 5.10, 5.10
to device data, 7.6
to foreign code, 148, 159
to foreign language, 159, 7.8
undocumented, 56
entry, 5.9.4interval
handler, 233, 10.8
implementation dependent, 146, 7.8
scheduling portability, 7.4.6, 7.8
delay, 6.1.7iteration
bound, 91iterator, 8.3.6, 189
using loop statement, 5.6.4, 5.10
label, 5.6.7
delimiter, 10late initialization, 226, 10.8
indentation, 2.1.2
length
line, 19length clause
for dynamic data, 5.4.5, 5.10library
reuse, 5.7.2library unit
separate compilation, 4.1, 4.2.2, 62
child, 4.4. See also package, child.limited private type
I/O difficult, 8.3.3line
versus private, 5.3.3, 8.3.2
continuationliteral
indentation,2.1.2,19
length, 19
multiple, 18, 19
statements per, 18, 19
avoid in generic, 8.2.4, 8.5localize
enumeration,5.7.1, 5.10
linear independence of, 3.2.6 3.5
numeric, 3.1.2, 3.5, 5.5, 5.10
self-documenting, 31
string, 9
use named association, 5.2, 5.10
declaration, 93, 5.10logical operator, 5.5.5
implementation dependency, 146
scope,5.7.1, 5.10
loop, 5.6.4
array slices, 5.6.2, 5.10lower case, 6.3.1
bound, 91, 5.10
busy wait, 122, 6.2.5, 6.4
conditional exit, 86
exit, 5.6.5, 5.10
using relational expression, 86indentation, 2.1.2
infinite, 91, 5.10
marker comment, 3.3.7
name, 65, 5.1.4, 5.10
nesting, 65, 5.1.3, 5.10
machine code
not portable, 159machine dependency
encapsulated, 4.1.5, 4.4main program, 144
marker comment, 3.3.7
membership test
of a private type,5.3.3memory management
of dynamic data, 5.4.5mode
Unchecked_Deallocation, 103
alignment,2.1.5,2.2,model
explicit, 5.2.3, 5.10
task, 115, 6.4,model interval
affects equality, 5.7.5modular types, 82, 231, 234
affects relational expression, 86, 152
modularity, 4.1.6
multiple inheritance, 218
multiple return statement, 93
multiprocessor, 4.1.9, 4.4, 117
name, 3.2.1
abbreviation, 3.1.4, 3.5, 8.1.2, 8.5named association, 5.2, 5.2.3
block, 66
Boolean, 84, 5.10
capitalization, 6.3.1
convention, 3.1.4, 3.2.4
end statement, 5.1.4
flag, 84, 5.10
formal parameter, 5.2, 5.10
fully qualified, 3.1.4, 96, 5.10
loop, 65, 5.1.3, 5.10
nested record, 5.4.4, 5.10
number, 3.2.6 3.5
object, 3.2.3
overloading
in generic, 175, 8.5parameter in predefined I/O, 162
predefined, 3.3.7, 3.5
program, 3.2.5
qualified, 4.2.2
repeated in begin, 3.3.7, 3.5
repeated in header, 3.3.3, 3.3.4, 3.5, 3.5
reusability, 8.0
simple, 3.1.2, 3.4.2
state, 84, 5.10
subtype, 3.4, 3.5
type, 3.2.1, 3.4, 3.5
use positive form, 84, 5.10
in aggregate, 5.6.10named number, 3.2.6 172
negative logic
in name, 84, 5.10nesting, 86
affects abbreviation, 3.1.4new
block, 66, 5.10
control structure, 86, 5.10
expression, 86, 5.10
indentation,2.1.2,19
initialization exception, 106
loop, 65, 5.1.3, 5.10
package, 4.2.2
record, 5.4.4
as an allocator, 5.4.5nonterminating
tasks, 6.3.1, 6.4normal termination, 6.3.2
noun
as function name, 3.2.5, 3.5numeric
as identifier, 3.2.3, 3.5
for record component, 3.2.3, 3.5
to describe abstraction, 3.2.4, 3.5
conversion, 3.1.2
encoding, 43, 3.5
expression, 7.2, 7.8
in relational expression, 5.5.6, 5.10
literal, 3.1.2, 3.4.2, 5.5, 5.10
named,3.2.6
type, 7.2, 7.8
object
identifier, 3.2.3, 3.5operating system
initialization, 105, 5.10
name, 3.2.3
dependence, 161, 167operator
alignment, 13, 2.1.4, 19optimizing compiler
bit-wise, 82
equality, 5.7.5
logical, 5.5.5
overload, 5.7.4
performance, 228, 10.8
precedence,2.1.2,84, 5.6.1
renamed, 96, 5.10
short circuit, 5.5.5
spacing, 9
values not checked, 106optional parameter, 5.2, 5.10
order
of arguments in aggregate, 5.6.10, 5.10others clause
of elaboration, 8.4.3
of evaluation, 4.1.44.1.4, 5.5.5, 149
in expression, 84, 5.10
in case statement, 88, 5.10out
in exception, 4.3.1, 64, 100
in task body, 6.3.4, 139
alignment, 15overload
equality, 5.7.5
in generic, 175
operator, 5.7.4
subprogram, 5.7.3
type name, 3.4, 3.5
use clause,5.7.1, 5.10
package, 4.1.5
abstract data type, 5.5pagination, 17, 3.3.7, 3.5
Ada.Asynchronous_Task_Control, 236
Ada.Streams.Stream_IO, 7.7.4
Ada.Strings_Bounded, 4.2.2
Ada.Synchronous_Task_Control, 236
Ada.Unchecked Deallocation, 161
portability, 161
body, 6.1.1, 6.4,
comment, 3.3.4Calendar
file name, 4.1
for different environment, 146, 7.8
hide Unchecked_Conversion, 5.9, 5.10
hide Unchecked_Deallocation, 103, 5.9.3, 5.10
indentation, 12
multiple implementation, 48
using pragma Interface, 159, 7.8
portability, 7.4.3child, 4.1.6, 53, 4.4, 8.4.1, 8.5, 213, 217, 223
cohesion, 54, 4.4
comment, 3.3.3
coupling, 54
dependency, 56
Direct_IO, 106
document nonportable, 144, 164
end statement, 5.1.4, 5.10
generic, 4.2.2, 8.3.2, 8.4.2, 8.5
implementation-defined exception, 157, 7.8
interface, 146, 164
minimize interface, 4.2
name, 3.2.4, 3.5
named in use clause,5.7.1, 5.10
nested, 4.2.2, 214
predefined
type name, 3.2.1, 3.4.2private, 5.3.3, 114, 6.4,
vendor supplied feature, 146, 7.8
private child, 4.1.6, 53, 56, 4.2.2, 4.4
public child, 4.1.6, 4.4
Sequential_IO, 106
specification, 4.2, 4.2.2, 4.4
exception declaration, 4.3.1, 64Standard, 3.3.7, 3.5
file name, 4.1
indentation, 12
pagination, 17, 19
portability, 146, 164
predefined numeric type, 7.2.1, 7.8System
portability, 7.6vendor supplied, 146, 7.8
portability of Tick, 7.4.3
paragraphing, 10
parameter
adding to list, 5.2.3, 5.10parameter type
aggregate, 5.6.10, 5.10
alignment, 15
anonymous, 5.3.2
array, 8.2.2, 8.5
declaration
per line, 18default value, 5.2.3
for main program, 144, 164
formal name, 5.2, 5.10
generic formal, 8.1.2
generic reduces coupling, 8.4.2
in predefined I/O, 162
list, 5.2, 5.10
mode, 5.2.4, 5.10
alignment,2.1.5,2.2,name in header, 3.3.3
named association, 5.2, 5.10
number, 4.1.8, 4.4
optional, 5.2, 5.10
passing mechanism, 7.1.8, 8.2.7
with exception, 8.2.7profile, 5.7.3, 5.10
size, 8.2.2, 8.5
unmodified with exception, 176, 8.5
alignment, 15parenthesis, 84
alignment,2.1.5,2.2,parser
spacing, 10
superfluous, 10
use table-driven program, 195part family, 8.4.4
passive iterator, 8.3.6, 8.5
performance
access to data, 4.1.8period
aspects, 225
comment in header, 3.3.3, 3.5
measuring, 225
named number,3.2.6
spacing, 10persistent object, 56
plain loop, 5.6.4, 5.10
pointer. See access.
to task, 120polymorphism, 5.4.3, 197, 201, 206, 216, 223
portability,2.2, 4.1.6, 141
and obsolescent features, 7.1positional association, 5.2.3, 5.6.10, 5.10
assumptions, 143
target platforms, 143comment in header, 3.3.4
execution pattern, 155
of relational expression, 86
order dependency, 149
principles, 141
positive logic
naming, 84pragma
Atomic, 6.2.4, 6.4precedence of operator, 84, 5.6.1
configuration, 49, 62
Discard_Names, 237, 10.8
Elaborate, 106
Elaborate_All, 8.4.3
Elaborate_Body, 193, 8.5
implementation-specific, 7.7.5
Inline, 236, 10.8
Interface
portability, 7.6introduce coupling, 193
to foreign code, 159, 7.8
Preelaborate, 8.4.3, 237, 10.8
Priority, 120
portability, 7.4.6, 7.8
Pure, 8.4.3, 237, 10.8
Restrictions, 237, 10.8
Reviewable, 237, 239
Shared
portability, 157
Suppress, 49, 105, 237, 239
Volatile, 6.2.4, 128, 6.4
precision
fixed point, 143, 164predefined type, 3.4, 3.5
floating point, 143, 7.2.2, 164, 7.8
predefined
exception
do not raise, 4.3.1, 64I/O parameter, 162, 167
handle, 5.8.2, 5.10
portability, 157
as a name, 3.2.1, 3.4.2predicate
numeric, 149
as function name, 3.2.5, 3.5preemptive scheduling, 7.4.6
for boolean object, 3.2.3, 3.5
prioritized activity, 4.1.8, 4.4
priority, 120
can create busy wait, 6.2.5priority inversion, 122
ceiling priority, 115, 120, 122, 6.4
mutual exclusion, 122
portability, 7.4.6, 7.8
priority ceiling blocking, 122
priority ceiling emulation, 122
priority inversion, 122
protected objects, 120, 6.4
sequence of execution, 122
tasks, 120, 122, 6.4
private type, 5.3.3, 18.3.3, 8.5
equality, 5.7.5, 5.10problem domain
for numeric type, 7.2.1, 7.8
versus limited, 8.3.3
model with task, 115, 6.4,procedure
as main program, 144, 164processor
call
named association, 5.2, 5.10default parameter, 5.2.3, 5.10
recursive, 91, 5.10
end statement, 5.1.4, 5.10
generic, 8.3.2, 8.4.2, 8.5
Inline, 236, 10.8
name, 3.2.4, 3.5
overload, 5.7.3, 5.10
parameter list, 5.2, 5.10
parameter mode, 5.2.3, 5.10
return, 5.6.8
to reduce nesting, 5.6.1
multiple, 117program
virtual, 117
bodyProgram_Error, 6.2.2, 6.4
indentation, 12grouping, 4.1.5, 4.4
name, 3.2.4
pagination, 17, 19
structure, 226
termination, 5.8.3, 6.3.1
unit, 8.4.1
visibility, 4.2.3, 64
erroneous execution, 5.9project
abbreviation, 3.1.4prologues
entry name, 29
as pagination, 17propagation, 5.8.3
exception, 5.8.4, 176, 8.5protected objects, 107
and interrupt handlers, 114, 115, 6.4,
and tagged types, 6.1.8, 6.4
communication, 6.2.1, 6.2.2, 6.4
entries, 6.2.3, 6.4
'Count, 6.2.3, 6.4execution overhead, 6.2.5
mutual exclusion, 114, 6.4,
performance, 233, 10.8
reusability, 6.1.8
synchronization, 114, 6.2.2, 6.2.5, 6.2.5, 6.4,
versus rendezvous, 6.2.5, 6.2.5, 6.4
qualified name, 4.2.2, 96, 5.10
queue
entry not prioritized, 122
race condition, 4.3.1, 6.3.1
attribute, 6.2.3race conditions
in tentative rendezvous, 6.2.5
priority, 122
with shared variable, 6.2.4
avoiding, 6.4, , 139radix, 3.1.2, 3.5
raise statement
in abstraction, 4.3.1real operand
range
constraint, 5.2.4, , 5.10
declaration, 7.2.1, 7.8
Duration, 143, 164
in case statement, 88, 5.10
scalar types, 3.4, 3.5
subexpression, 7.2.6
values, 5.5
in relational expression, 5.5.6, 5.10recompilation
reduced by separate file, 48record
assignment, 5.6.10, 5.10recursion
component
name, 3.2.3, 3.5heterogeneous data, 75
indentation, 12
map to device data, 75, 5.10
nesting, 5.4.4
performance, 227, 228, 10.8
variant, 5.4.2, 5.4.3
with access type component, 5.4.5, 5.10
bound, 91relational expression(s), 84, 5.5.6, 5.10
portability, 152renames clause, 3.1.4, 96
declare in block, 93, 5.10rendezvous
for a type, 43
efficient, 6.2.1, 6.4repeat until
exception during, 6.2.2, 6.4
tentative, 6.2.4
versus shared variable, 157, 7.8
with exception handler, 132, 6.4
how to simulate, 5.6.4representation clause
evaluate during porting, 7.6reserved word
for device data, 5.4.2
indentation, 12
instead of enumeration, 43, 3.5
portability, 7.3, 7.6, 7.8
capitalization, 6.3.1, 3.5return statement, 5.6.8
reusability
library, 5.7.2robust software, 172, 8.5
of nonterminating program, 6.3.1
renames clause, 96, 5.10
Root_Integer
portability, 143run time system
dependence, 161, 167runaway task, 6.3.3
safe programming, 5.6.6
scheduling
algorithmscope
affected by hidden task, 176delay, 6.1.7
portability, 7.4.6
task, 6.2.6
using priority, 6.1.6
scientific notation, 3.1.2 3.5
access typeselect
portability, 7.7.5exception, 4.3.1, 64
minimize, 4.2.2, 64
use clause, 96
minimize, 6.2.6, 6.4select statement
asynchronous, 6.3.1, 139selected component
blocking, 6.1.7
portability, 7.4.6
terminate alternative, 6.3.1, 6.4
to provide normal termination, 6.3.2, 6.4
of a private type,5.3.3selective accept
closed alternatives, 6.2.2, 6.4selectiveaccept
efficient, 6.2.1, 6.4
with else, 6.2.5, 6.4
indentation, 2.1.2semicolon
spacing, 10sentinel value, 5.3.1
separate
compilation, 4.1separation of concerns, 4.1.8
indentation, 12
to reduce visibility, 59
Sequential_IO, 106, 7.7.4
import private type, 8.3.3Shared
portability, 157shared data, 4.1.8, 6.2.4
hidden task in generic, 176shared variable, 6.2.4
portability, 157side effect, 4.1.4, 62, 5.5.5
unprotected, 6.2.4, 6.4
short circuit operator, 5.5.5
simplification heuristics, 86, 5.10
slice, 5.6.2
source text, 9, 143, 164
spacing, 9, 19
for goto statement, 5.6.7Specialized Needs annexes
for label, 5.6.7
horizontal, 9
implementation, 147specification
comment, 3.3.3, 3.5spelling, 3.1
end statement, 5.1.4, 5.10
generic, 8.2.4, 8.5
header
as pagination, 17indentation, 12
package, 4.1.8, 4.2.2, 4.4
reusable part family, 8.4.4, 8.5
task hiding, 59, 176, 8.5
abbreviation, 3.1.4Standard, 3.3.7, 3.5
in comments, 32, 3.5
predefined numeric type, 7.2.1, 7.8starvation, 4.3.1
state
and exception, 4.3.1, 64statement, 86, 5.10
naming, 84, 5.10
abort, 6.3.1, 7.4.6static
accept, 6.2.2, 6.2.6, 6.4
block, 93
case, 88
comment, 40
delay, 122, 6.4, 155
end, 5.1.4
exit, 5.1.3, 5.6.4, 5.6.5, 5.10
goto, 5.6.7
indentation, 10
loop, 5.6.2, 5.10
conditional exit, 86marker comment, 3.3.7
per line, 18, 19
return, 5.6.8
select, 6.2.2, 6.2.6, 6.4
portability, 7.4.6tentative rendezvous, 6.2.4
data, 5.4.5, 5.10storage control
expression, 3.2.6, 3.5, 172, 8.5
and portability, 7.3storage pool mechanisms, 7.3
Storage_Error, 5.4.5, 5.10
Stream_IO, 7.7.4
string
handling, 196, 8.5strings
performance, 235, 10.8strong typing, 3.4, 4.1, 5.3.1 , 5.10
to enforce assumption, 8.2.3, 8.5subprogram, 4.1.3
to reduce constraint check, 235, 10.8
callsubrecord, 5.4.4, 5.10
named association, 5.2, 5.10default parameter, 5.2.3, 5.10
overhead, 4.1.3
recursive, 91, 5.10
document nonportable, 144, 164
end statement, 5.1.4, 5.10
exceptions raised in, 4.3.1, 64
generic, 8.3.2, 8.4.2, 8.5
grouped in package, 54, 4.4
grouping, 4.1
hiding task entries, 59
Inline, 236, 10.8
main, 144
name, 3.2.4
overload, 5.7.3
overloading in generic, 175, 8.5
parameter list, 4.1.8, 4.4, 5.2, 5.10
procedure versus function, 4.1.4, 62
return, 5.6.8
to reduce nesting, 5.6.1
subtype, 3.4, 3.5, 5.3.1
in case statement, 5.6.3subunit
in generic, 8.2.4, 8.5
used as range, 5.5, 5.10
using suffixes, 3.2.1, 3.5
embeddedSuppress, 105
pagination, 17file name, 4.1
indentation, 12
symbolic
value, 3.2.6, 3.5synchronization, 4.1.10, 4.4, 114, 6.4,
portability, 7.4.6, 7.8System
using shared variable, 6.2.4, 6.4
portability, 7.6
portability of Tick, 7.4.3
tab character,2.1.1,19
table-driven programming, 195
tagged type, 216
derived, 218tagged typed, 214
hierarchies, 197, 8.5, 9.2.1
operations, 9.3
visibility, 218
tagged types, 191, 8.5, 206
and dispatching, 203, 9.6task, 4.1.9, 117, 6.4,
and maintainability, 203
and protected objects, 6.1.8, 6.4
derived, 217, 223
naming, 26
redispatching, 38, 40, 3.5
activation order, 155Tasking_Error, 6.2.2, 6.2.3, 6.4
allocate, 6.1.4, , 6.4
anonymous type, 6.1.4,
asynchronous control, 115, 6.4,
attribute, 6.2.3, 6.4
avoid termination, 132
body
exception handler, 6.3.4, 139communication, 59, 6.2.1, 6.2.1
indentation, 12
complexity, 6.2.6, 6.4deadlock, 6.3.5,
portability, 157, 7.8
declaration, 6.1.4,
document nonportable, 144, 164
dynamic, 6.1.5, , 120
end statement, 5.1.4, 5.10
entries, 6.2.3, 6.4
'Count, 6.2.3, 6.4hidden, 59, 176
comment in header, 3.3.3model, 115, 6.4,
name, 3.2.4, 3.5
nonterminating, 6.3.2, 6.4
portability, 155, 7.4.5, 7.8
receiving interrupt, 146, 7.8
rendezvous, 115, 118, 6.2.1, 6.2.4, 6.4, , 6.4
reusability, 176
runaway, 6.3.3
scheduling, 122, 6.1.7, 6.3.1
portability, 7.4.5specification
indentation, 12synchronization, 117, 6.2.3, 6.2.5, 6.4
pagination, 17, 19
point, 7.4.5, 7.8termination, 132, 6.3.2, 6.3.1, 6.3.4, 139
portability, 157, 7.8
type, 6.1.4,
temporary file
portability, 7.7.3tentative rendezvous, 6.2.4
terminate alternative
to avoid deadlock, 6.3.2, 139termination
abnormal, 6.3.4thread of control, 117
controlled, 5.8.3
file status, 7.7.5
normal, 6.3.2
of loop, 5.6.4, 5.10
of task, 132
undesired, 132, 6.4
Tick
portability, 7.4.3time sliced
scheduling, 7.4.5timed entry, 6.2.5, 6.4
affects 'Count, 6.2.3tool, 9, 33, 96
call, 4.3.1
indentation, 2.1.2
type, 5.3.1 , 5.10
access, 5.4.5, 5.10
portability, 7.7.5anonymous, 5.3.2
anonymous task, 6.1.4,
attribute
for real value, 152, 7.8boundary value, 5.2.4, , 5.10
choice affects equality, 5.7.5
comment, 38, 3.5
conversion, 5.3.1
declaration, 3.3.7
derived, 3.3.7, 3.5, 5.2.4,
Duration, 143, 164
portability, 7.4.5enumeration, 43
grouped in package, 54, 4.4
identifier, 3.2.2
Integer, 143, 164
limited private, 5.3.2, 8.3.3
modular, 82, 5.10, 234, 10.8
name, 3.2.1, 3.3.7, 3.5
numeric, 7.2, 7.8
of constant,3.2.6
predefined, 3.3.7, 3.5, 149
private, 5.3.3, 8.3.3
renaming, 43
strong, 3.3.7, 4.1, 5.2.4, , 5.10, 235, 10.8
subtype, 5.3.1
suffix, 3.2.2, 3.5
tagged, 9.2.1
unconstrained array, 8.2.2, 8.5
universal,3.2.6
used as range, 5.5, 5.10
Unchecked_Conversion, 5.9
portability, 161Unchecked_Deallocation, 103
portability, 7.6.4underscore, 3.1.1, 3.5
in file name, 4.1universal_integer,3.2.6
in numbers, 3.1.1, 3.5
significant in name, 3.1.4
universal_real,3.2.6
until loop
how to simulate, 5.6.4
upper case, 6.3.1
use clause,5.7.1, 96, 5.10. See context clause
use type clause, 5.7.2, 5.10
user-defined exception, 5.8.4, 5.10
replaces implementation-defined, 7.8
variable
declaration
alignment, 14
localize declaration, 5.6.9
of access type, 5.4.5, 5.10
referenced in guard, 6.2.4, 6.4
replaced with aggregate, 5.6.10, 5.10
to reduce nesting, 5.6.1
valid state, 176, 8.5
verb
as entry name, 3.2.5, 3.5
as procedure name, 3.2.5, 3.5
vertical alignment, 13,2.1.4, 2.1.5,2.2. See alignment
virtual processor, 117
visibility, 53, 4.2, 56, 4.2.3, 4.4,5.7.1, 5.10, 217, 223
use type clause, 5.7.2, 5.10
using renames clause, 96, 5.10
while loop. Seeloop
indentation, 2.1.2
with clause. See context clause
< Previous Page Search Contents Index < END >
1 2 3 4 5 6 7 8 9 10 11 TOC TOC TOC TOC TOC TOC TOC TOC TOC TOC TOC
Appendix References Bibliography