Ada 95 Quality and Style Guide                            Index


Search the Ada 95 Style Guide using keywords:


Number of results to return:

                              

                                

                                

                              INDEX

                                

                                

            SYMBOL                  enhanced by subprogram, 50,

'Base, 73                           62

'Callable, 126                      includes exception, 61

'Constrained, 73                    name, 28, 45

'Count, 126                         protect with exception

 protected objects, 126, 138        handler, 101, 112

 tasks, 126, 138                    supported, 47

'First, 83, 110                     using abstract types, 207,

'Image, 44                          222

'Last, 83, 110                      using constrained subtype,

'Length, 83, 110                    89

'Pos, 44                            using nested record, 77

'Pred, 44                           using private type, 73

'Range, 83, 110                     using types, 71

'Size, 73                          accept, 129, 138

'Storage_Size, 154                  blocking, 123

'Succ, 44                           causing deadlock, 133, 138

'Terminated, 126, 133               closed, 125, 138

'Val, 44                            end statement, 67, 108

'Value, 44                          indentation, 11

                                    minimize, 124, 131, 138

              A                     rendezvous, 124, 138

abbreviation, 23, 24, 44            selective, 124, 125, 138

 capitalization, 22                access, 78, 109

 renames clause, 97, 111            affects equality, 98

 reusability, 171                   I/O portability, 163

abnormal termination, 136           portability, 160

abort                               to subprogram, 154

 affects 'Count, 127               access function, 55

 completion point, 135             access value, 52, 63

 portability, 156                  accuracy

 statement, 134, 156                analysis, 151

 task, 156                          constraints, 151

abstract data object, 183           floating point, 142, 151,

abstract data type, 51, 62,         165

     183                            fraction, 22

abstract data types, 183, 199,      greater, 150, 165

     209                            model, 150

abstract state machine, 183         of relational expression, 85

abstract subprograms, 209           portability, 151

abstract types, 207, 209, 211,     acronym

     222                            capitalization, 22

abstraction, 102                   active iterator, 186, 199

 affect on naming, 170, 198        actual parameter, 68, 108

 complete functionality, 178        anonymous, 72

 data modeling, 74                 Ada.Command_Line

                                    and portability, 145

                                    versus POSIX, 146

                                   Ada.Strings_Bounded, 57

adaptability, 177, 198              anonymous type, 72, 108

address clause, 104                 attribute, 83

adjective                           constrained, 75, 227, 238

 for boolean object, 25, 45         function calls in

aggregate, 94                       initialization, 51

 function calls in, 51              indexing, 227, 238

 performance, 232, 238              parallel

algorithm                            do not use, 76

 comment in header, 36              parameter passing, 173, 198

 concurrent, 55, 63                 performance, 227, 228, 230,

 encapsulated in generic, 181       238

 portability, 158, 166              range, 83

alias                               slice, 87, 110

 of dynamic data, 79                unconstrained, 173, 198

 using address clause, 104,        assignment

 112                                conditional, 230, 238

alignment                           for private type, 73

 and nesting, 87                    reduced by aggregate, 94,

 declaration, 14                    111

 parameter modes, 15, 19           assumption

 vertical, 9, 13, 14, 15, 19        document, 173, 198

allocate                            documented through generic

 dynamic data, 78, 109              parameter, 181

 dynamic task, 119, 138             minimizing, 173, 198

ambiguous                          asynchronous

 use clause, 95, 111                'Count, 127

anonymous type, 72                  entity, 115, 137

 protected objects, 119, 137       attribute

 task, 119                          'Base, 73

anticipated change                  'Callable, 126

 adaptability, 178                  'Constrained, 73

 anonymous task, 119                'Count, 126

 comment in header, 36              'First, 83, 110

 encapsulate, 51, 63                'Image, 44

 parameter mode, 70                 'Last, 83, 110

apostrophe                          'Length, 83, 110

 spacing, 10                        'Pos, 44

application domain                  'Pred, 44

 abbreviation, 23, 44               'Range, 83, 110

 abbreviation affects               'Size, 73

 reusability, 171                   'Storage_Size, 154

application specific                'Succ, 44

 literal, 31                        'Terminated, 126

application-independent             'Val, 44

 name, 170                          'Value, 44

array                               implementation-specific, 160

                                    in generic, 174, 198

                                                  

                                                 B

                                   binary operator

 spacing, 9                        case statement, 77, 88

blank lines, 16                     indentation, 11

 for goto statement, 92             marker comment, 41, 46

 for label, 92                      nesting, 87

 return statement, 92, 110          performance, 229, 238

block                               use constrained subtype, 89

 indentation, 11                   child package.  See package,

 localizing exception, 101,             child

 112                               class-wide operation, 212, 222

 marker comment, 41, 42, 46        class-wide type, 203, 205,

 name, 66                               211, 216, 222

 nesting, 66, 108                  clause

 performance, 226                   address, 104

 statement, 93                      context

 to minimize suppress, 105,          minimize, 55, 63

 112                                 visibility, 57, 64

 use clause, 95, 111                length

blocking                             for dynamic data, 78, 109

 not busy waiting, 123              renames, 96

 with priority, 122                 representation, 154, 158,

 within protected object, 107       166

body                                 instead of enumeration, 43,

 comment, 36                           46

 end statement, 67, 108             use, 95, 96, 111

 header                            closing file

  as pagination, 17                 portability, 162

 hide interface to foreign         code

 code, 148                          formatting, 9

 hide Unchecked_Conversion,        cohesion, 54

 102, 112                          colon

 name repeated in begin, 41,        alignment, 14, 15

 46                                 spacing, 10

 task, 136, 139                    comma

boolean                             spacing, 10

 function                          comment, 21, 31

  name, 28, 45                      body header, 36

 object                             data, 38

  name, 25, 45                      distinct from code, 40, 46

boundary value, 70, 108             do not repeat, 38, 46

bounded error, 102                  exception, 38, 46

busy wait, 122, 138                 header, 32, 45

 created with priorities, 131        file, 33

                                     for group of routines, 36

              C                      purpose, 35

Calendar                             when to omit, 37

 portability, 156                   label, 92

capitalization, 22                  machine code insert, 159

 in numeric literal, 21, 44         marker, 41

 minimize, 32                       type of, 30

 numerical analysis, 151           constrained, 142

 program specification, 34,        constraint, 43, 70, 108

 45                                constraint check

 reduced by naming, 24, 30,         for generic formal, 175

 44, 66, 68, 108                   constraint checking, 175

 reduced by static                 constructor, 52, 63, 212

 expression, 30                    context

 return statement, 92, 110          dependency, 55, 63

 statement, 40                      of exceptions, 60, 64

 tasking implementation, 60         to shorten names, 24

 to document portability, 144      context clause

 trailing                           generic needs elaboration,

  alignment, 14                     193, 199

 type, 38, 46                       indentation, 12

comments                            minimize, 55, 63

 to document portability, 151       per line, 18

communication                       reduced using generic

 complexity, 131                    parameter, 192, 199

 protected objects, 124             use type, 95, 111

 tasks, 124                         visibility, 57, 64

compilation                        continuation condition

 affected by Inline, 236            for while loop, 89, 110

 conditional, 195                  continuation line

 separate, 47                       indentation, 10, 13, 19

complex communication, 131         controlled types, 206, 222

complex data                       conversion

 comment, 38, 46                    of a private type, 73

concurrency, 113, 225.  See         rational fraction, 22

     task.  See task                type, 71

 affects exception behavior,        unchecked, 102, 161

 99                                copyright notice, 33

concurrent algorithm, 55, 63,      coupling

     115, 137                       data, 54

conditional compilation, 195        due to pragma, 193

conditional entry                   reduced using generic

 call, 60, 129, 138                 parameter, 192

 indentation, 11                   cyclic activity, 55, 63

conditional expression             cyclic executive

 in while loop, 89, 110             termination, 134

configuration pragmas, 49                         

constant, 30                                     D

 declaration                       dangling reference, 78, 109

  alignment, 14                    data

 in static expression, 173

 to avoid use clause, 96

 to reduce nesting, 87

 abstract type, 183, 199            in selective accepts, 129,

 comment, 38                        138

 coupling, 54                       inaccurate, 122, 138

 dynamic, 78                        portability, 155

 grouped in package, 54, 63         statement, 122, 138

 in algorithm, 181, 199             statements, 155

 iterator for complex, 186,         to avoid deadlock, 133, 139

 199                               delimiter

 protected, 129                     spacing, 9, 19

 representation, 158, 166          dependency

 shared, 55, 127, 138               affects reusability, 191,

 structure, 74, 109                 199

 structures, 227                    comment about, 34

 Unchecked_Conversion, 102          context, 55, 63

data-driven program, 195            reduced using generic

dead code, 195, 199                 parameter, 193

deadlock, 60                       derived type, 42, 46, 70

 eliminate, 122                    design

deallocation, 78, 109               for reusability, 169

decimal types                       impact of typing, 43

 and the Information Systems        impact on nesting, 87

 annex, 153                         tradeoffs, 4

declaration                         uses data representation,

 alignment, 14                      158, 166

 anonymous task, 119               digits declaration, 149, 165

 array size, 173, 198              Direct_IO, 73, 106, 163

 blank lines, 16                    import private type, 181

 constant, 30, 45                  discrete

 constrained subtype, 89            affects equality, 98

 digits, 149, 165                  discriminant

 floating point, 151                access, 213, 222

 function call in, 105, 112         of a private type, 73

 grouping, 51, 63                   protected objects, 117, 118,

 hiding, 97                         137

 minimize, 55, 63                   tasks, 117, 137

 named number, 30, 45              discriminants

 per line, 18                       tasks, 118

 range, 149, 165                   dispatching, 188, 203, 205,

 record                                 206, 210, 212, 222, 231,

  for heterogeneous data, 75,           238

    109                            documentation

 renames, 23, 96, 111               exception in abstraction,

 type, 24, 42                       60, 64

 variable, 54, 63                   generic formal parameter,

 within block, 93, 110              171, 198

default mode, 70                    hidden task, 176, 198

default parameter, 69               infinite loop, 92

delay

 drift, 122, 123

 invalid state, 177                entry

 object value, 25, 45               address clause, 104, 112

 of assumption, 173, 198            attribute, 126, 138

 of implementation                  call, 59, 129, 137, 138, 139

 dependency, 146, 164                avoiding Tasking_Error,

 of iterator behavior, 186,            126, 138

 199                                 circular, 137, 139

 of machine code, 159                conditional, 129, 138

 of numerical analysis, 151,         named association, 68, 108

 165                                conditional, 60, 129, 138

 of system call, 162                default parameter, 69, 108

 portability, 144, 164              exceptions raised in, 60, 64

 table-driven code, 196             hiding, 59

 using named number, 173            indentation, 11

drift                               interrupt, 104

 delay, 122                         minimize, 132

Duration, 143, 164                  minimize accepts, 131, 138

 portability, 156                   name, 28, 45

dynamic data, 78                    parameter list, 68, 108

 adaptability, 178, 198             parameter mode, 69, 108

 deallocation, 103                  queue

dynamic storage, 154, 166            'Count, 127

dynamic task, 119                    not prioritized, 120, 138

                                    timed, 60, 129, 138

              E                      affects 'Count, 127

Elaborate, 106                     enumeration

elaboration, 105, 112, 194          alignment, 14

 of value, 30, 45                   in case statement, 88, 110

else clause                         literal, 95, 111

 comment, 41, 46                    representation clause, 161

 nesting, 87                        type, 43, 77

else part                          enumeration types

 in selective accept, 129,          representation clauses, 44

 138                               equality, 98, 111, 181, 214,

 open alternative, 126                  223

 to avoid deadlock, 133, 139        for private type, 73

elsif clause                        overload operator, 98

 nesting, 87                       erroneous execution, 102, 112

encapsulation, 51, 63               not portable, 141

 implementation dependency,        error

 146, 158                           files, 163

 of algorithm in generic, 181       unrecoverable

 supported, 47                       use exception, 61

end statement                      evaluation order

 name, 67                           parenthesis, 84, 110

 pagination, 17, 19                 select statement, 156

                                   exception, 60, 64, 99, 111,

                                        210, 211, 222

                                    avoiding, 99, 111

 cause, 101                         nesting, 86, 110

 comment, 34, 38, 46                numeric, 149, 165

 do not propagate, 60, 64           order dependency, 149, 165

 do not raise, 60, 64               parenthesis, 84

 handler, 60, 64, 99, 100,          relational, 84, 85, 110

 101, 111, 112, 125, 138            slice, 87

  during rendezvous, 125, 138       spacing, 10

  for Storage_Error, 78, 109        static, 30, 45, 172, 198

  in block, 93, 110                 use named association, 68,

  in task body, 125, 136,           108

    138, 139                                      

  reusability, 176, 198                          F

  to avoid termination, 132,       family of parts, 194

    138                            file

 implementation-defined, 101,       closing, 162

 112, 157                           header, 33

 in initialization, 106             naming convention, 48

 keep error separate, 61            naming conventions, 47, 62

 numeric error, 142                 organization, 47, 62

 part of abstraction, 61           finalization, 178, 206, 207,

 portability, 157, 166                  222

 predefined, 101, 111, 112,         complete functionality, 178,

 157                                198

 Program_Error, 125, 126, 138      fixed point

  erroneous execution, 102          in relational expression, 86

 propagation, 101, 112, 176,        precision, 143, 164

 198                               flag

 rendezvous, 126                    in complex loop, 90

 reusability, 176                   in while loop, 90

 Storage_Error, 78, 109             naming, 84, 110

 suppress, 105                     floating point

 Tasking_Error, 125, 126, 138       accuracy, 151

 user-defined, 101, 111             affects equality, 98

execution pattern                   arithmetic, 150, 165

 portable, 155, 166                 in relational expression, 86

exit statement, 67, 89, 90,         precision, 143, 151, 164

     110                            relational expression, 152,

 conditional, 86                    165

 in loop, 65, 89, 110              flow of control, 99

exit status                        for loop, 89, 110

 setting, 137, 139                  indentation, 11

export                              is bounded, 92

 overloading in generic, 175,      foreign code, 148

 198                               Form

expression, 83, 110                 parameter in predefined I/O,

 aggregate, 94                      162

 alignment, 13, 15                 formal parameter, 68, 108

 evaluation

  portability, 151

 function calls in, 51

 logical, 85

 anonymous, 72                      formal package, 192, 199

 generic, 171                       formal packages, 193

 name, 68, 108                      formal parameters, 176, 198

formatter, 10, 13, 14, 15, 16,      formal subprograms, 216

     17, 18, 19, 21, 23             formal type, 179, 199

FORTRAN, 76                         instance

 equivalence, 104, 112               indentation, 12

fraction, 22                        name, 28, 45, 170, 198

free list, 79                       named association, 68, 108

function                            package, 57, 175, 198

 access, 55                         parameter, 171, 198

 body                                accessed within task, 176,

  indentation, 12                      198

 call                                indentation, 12

  in declaration, 105, 112           to reduce coupling, 192

  named association, 68, 108        parameters, 192, 199

  recursive, 91, 110                reusability, 169

  spacing, 9                        robustness, 174

 default parameter, 69, 108         subtype in formal, 174, 198

 end statement, 67, 108             to encapsulate algorithm,

 generic, 179, 192, 199             181

 Inline, 236, 238                   when formal raise exception,

 interrogative                      176, 198

  to avoid exception, 60, 64       generics, 191, 199, 216

 name, 28, 45                      global data

 overload, 97, 111                  access, 56, 63

 parameter list, 68, 108           global effect

 return, 92                         comment, 34, 46

 side effect, 50, 62               goto, 92

 specification                      simulated by exception, 100

  indentation, 12                  guard

 to reduce nesting, 87              causing Program_Error, 125,

 use of, 50                         138

functionality                       evaluation order, 156, 166

 complete, 178                      nonlocal variable, 127, 138

                                    referencing 'Count, 127

              G                    guideline

garbage collection                  violation, 32

 of dynamic data, 79                              

 Unchecked_Deallocation, 103                     H

generic, 179, 192, 199, 218,       header

     223                            file, 33

 abstract data object, 183         heterogeneous data, 75, 203

 abstract data type, 183           hidden task, 59, 176

 abstract data types, 183,         hiding

 199                                declarations, 97

 families, 194, 199                horizontal spacing, 9

 formal derived types, 207,

 222

                                    affects abbreviation, 23

              I                     of declarations, 14, 19

identifier                         independence, 31, 191

 abbreviation, 23, 44, 171,        inequality

 198                                for private type, 73

 capitalization, 22                infinite loop, 91, 110

 constant, 30, 45                  information hiding, 47, 51, 62

 naming convention, 23              aids adaptability, 178

 numeric, 30                        effects exception handling,

 object, 25, 45                     62

 reusability, 170, 198              enforced through visibility,

 type, 24                           55

 use of underscore, 21              using iterator, 189

 visibility, 55, 63                 using private type, 73

if statement                       inheritance, 201

 avoid exit, 90, 110                mixin, 181, 191, 199, 201,

 indentation, 11                    218

 marker comment, 41, 46             multiple, 201, 209, 220

 nesting, 87                         example, 220

 positive name, 84                  reusability, 169

immediately                        initialization, 105, 178, 206,

 undefined, 131                         207, 213, 222

implementation                      in declaration

 added feature, 146                  alignment, 14

 comment in header, 36              performance, 226, 238

 encapsulate decisions, 51,         procedure, 178, 198

 63                                input/output

 hide detail, 56, 63                on access type, 163

implementation dependent, 158,      portability, 162, 167

     166                            stream_IO, 162

 at run time, 161, 167             instantiation

 encapsulation, 146                 name, 28, 45, 170, 198

 global assumptions, 143            named association, 68, 108

 storage specification, 154         reusability, 179, 199

 tentative rendezvous, 131         Integer

implementation-defined              portability, 143, 164

 exception, 101, 112, 157          interface

 System constant, 159               access to device, 55, 63,

 Unchecked_Conversion, 103          114, 137

implementation-specific             comment, 34, 46

 attribute, 160                     implementation-defined

 pragma, 160                        exception, 157, 166

in                                  minimize, 55

 alignment, 15                      parameter list, 68, 108

in out                              portability, 158

 used in generic formal, 174,       to a device, 51, 63, 75,

 198                                104, 109, 112

indentation, 10                     to device data, 158

 to foreign code, 148, 159          enumeration, 95, 111

 to foreign language, 159,          linear independence of, 30,

 166                                45

 undocumented, 56                   numeric, 21, 44, 83, 110

interrupt                           self-documenting, 31

 entry, 104                         string, 9

 handler, 233, 238                  use named association, 68,

 implementation dependent,          108

 146, 165                          localize

 scheduling portability, 156,       declaration, 93, 110

 166                                implementation dependency,

interval                            146

 delay, 123                         scope, 95, 111

iteration                          logical operator, 85

 bound, 91                         loop, 89

 using loop statement, 89,          array slices, 87, 110

 110                                bound, 91, 110

iterator, 186, 189                  busy wait, 122, 131, 138

                                    conditional exit, 86

              L                     exit, 90, 110

label, 92                            using relational

 delimiter, 10                         expression, 86

 indentation, 11                    indentation, 11

late initialization, 226, 238       infinite, 91, 110

length                              marker comment, 42

 line, 19                           name, 65, 67, 108

length clause                       nesting, 65, 67, 108

 for dynamic data, 78, 109         lower case, 22

library                                           

 reuse, 97                                       M

 separate compilation, 47,         machine code

 57, 62                             not portable, 159

library unit                       machine dependency

 child, 63. See also package,       encapsulated, 51, 63

 child. Seealsopackage,child       main program, 144

limited private type               marker comment, 41

 I/O difficult, 181                membership test

 versus private, 72, 179            of a private type, 73

line                               memory management

 continuation                       of dynamic data, 79

  indentation, 10, 19               Unchecked_Deallocation, 103

 length, 19                        mode

 multiple, 18, 19                   alignment, 15, 19

 statements per, 18, 19             explicit, 69, 108

literal                            model

 avoid in generic, 174, 198         task, 115, 137

                                   model interval

 affects equality, 98               control structure, 86, 110

 affects relational                 expression, 86, 110

 expression, 86, 152                indentation, 10, 19

modular types, 82, 231, 234         initialization exception,

modularity, 52                      106

multiple inheritance, 218           loop, 65, 67, 108

multiple return statement, 93       package, 57

multiprocessor, 55, 63, 117         record, 77

                                   new

              N                     as an allocator, 79

name, 24                           nonterminating

 abbreviation, 23, 44, 171,         tasks, 133, 138

 198                               normal termination, 133

 block, 66                         noun

 Boolean, 84, 110                   as function name, 28, 45

 capitalization, 22                 as identifier, 25, 45

 convention, 23, 28                 for record component, 25, 45

 end statement, 67                  to describe abstraction, 28,

 flag, 84, 110                      45

 formal parameter, 68, 108         numeric

 fully qualified, 23, 96, 111       conversion, 22

 loop, 65, 67, 108                  encoding, 43, 46

 nested record, 77, 109             expression, 149, 165

 number, 30, 45                     in relational expression,

 object, 25                         85, 110

 overloading                        literal, 21, 44, 83, 110

  in generic, 175, 198              named, 30

 parameter in predefined I/O,       type, 149, 165

 162                                              

 predefined, 42, 46                              O

 program, 28                       object

 qualified, 57                      identifier, 25, 45

 repeated in begin, 41, 46          initialization, 105, 112

 repeated in header, 34, 36,        name, 25

 45, 46                            operating system

 reusability, 170                   dependence, 161, 167

 simple, 21, 44                    operator

 state, 84, 110                     alignment, 13, 14, 19

 subtype, 42, 46                    bit-wise, 82

 type, 24, 42, 46                   equality, 98

 use positive form, 84, 110         logical, 85

named association, 68, 69           overload, 98

 in aggregate, 94                   performance, 228, 238

named number, 30, 172               precedence, 10, 84, 87

negative logic                      renamed, 96, 111

 in name, 84, 110                   short circuit, 85

nesting, 86                         spacing, 9

 affects abbreviation, 23          optimizing compiler

 block, 66, 108

 values not checked, 106            child, 52, 53, 63, 192, 199,

optional parameter, 68, 108         213, 217, 223

order                               cohesion, 54, 63

 of arguments in aggregate,         comment, 34

 94, 111                            coupling, 54

 of elaboration, 194                dependency, 56

 of evaluation, 51, 85, 149         Direct_IO, 106

  in expression, 84, 110            document nonportable, 144,

others clause                       164

 in case statement, 88, 110         end statement, 67, 108

 in exception, 60, 64, 100          generic, 57, 179, 192, 199

 in task body, 136, 139             implementation-defined

out                                 exception, 157, 166

 alignment, 15                      interface, 146, 164

overload                            minimize interface, 55

 equality, 98                       name, 28, 45

 in generic, 175                    named in use clause, 95, 111

 operator, 98                       nested, 57, 214

 subprogram, 97                     predefined

 type name, 42, 46                   type name, 24, 44

 use clause, 95, 111                 vendor supplied feature,

                                       146, 165

              P                     private, 72, 114, 137

package, 51                         private child, 52, 53, 56,

 abstract data type, 183            57, 63

 Ada.Asynchronous_Task_Contro       public child, 52, 63

 l, 236                             Sequential_IO, 106

 Ada.Streams.Stream_IO, 163         specification, 55, 57, 63

 Ada.Strings_Bounded, 57             exception declaration, 60,

 Ada.Synchronous_Task_Control          64

 , 236                               file name, 47

 Ada.Unchecked Deallocation,         indentation, 12

 161                                 pagination, 17, 19

  portability, 161                   portability, 146, 164

 body, 114, 137                     Standard, 42, 46

  comment, 36                        predefined numeric type,

  file name, 47                        149, 165

  for different environment,        System

    146, 165                         portability, 158

  hide Unchecked_Conversion,         portability of Tick, 156

    102, 112                        vendor supplied, 146, 165

  hide                             pagination, 17, 41, 46

    Unchecked_Deallocation,        paragraphing, 10

    103, 104, 112                  parameter

  indentation, 12                   adding to list, 69, 108

  multiple implementation, 48       aggregate, 94, 111

  using pragma Interface,           alignment, 15

    159, 166                        anonymous, 72

 Calendar                           array, 173, 198

  portability, 156                  declaration

                                     per line, 18

                                    default value, 69

 for main program, 144, 164         assumptions, 143

 formal name, 68, 108                target platforms, 143

 generic formal, 171                comment in header, 36

 generic reduces coupling,          execution pattern, 155

 192                                of relational expression, 86

 in predefined I/O, 162             order dependency, 149

 list, 68, 108                      principles, 141

 mode, 69, 108                     positional association, 69,

  alignment, 15, 19                     94, 111

 name in header, 34                positive logic

 named association, 68, 108         naming, 84

 number, 55, 63                    pragma

 optional, 68, 108                  Atomic, 127, 138

 passing mechanism, 147, 177        configuration, 49, 62

  with exception, 177               Discard_Names, 237, 238

 profile, 97, 111                   Elaborate, 106

 size, 173, 198                     Elaborate_All, 194

 unmodified with exception,         Elaborate_Body, 193, 199

 176, 198                           implementation-specific, 160

parameter type                      Inline, 236, 238

 alignment, 15                      Interface

parenthesis, 84                      portability, 158

 alignment, 15, 19                   to foreign code, 159, 166

 spacing, 10                        introduce coupling, 193

 superfluous, 10                    Preelaborate, 194, 237, 238

parser                              Priority, 120

 use table-driven program,           portability, 156, 166

 195                                Pure, 194, 237, 238

part family, 194                    Restrictions, 237, 238

passive iterator, 186, 199          Reviewable, 237, 239

performance                         Shared

 access to data, 55                  portability, 157

 aspects, 225                       Suppress, 49, 105, 237, 239

 comment in header, 34, 46          Volatile, 127, 128, 138

 measuring, 225                    precedence of operator, 84, 87

 named number, 30                  precision

period                              fixed point, 143, 164

 spacing, 10                        floating point, 143, 151,

persistent object, 56               164, 165

plain loop, 89, 110                predefined

pointer.  See access.  See          exception

     access                          do not raise, 60, 64

 to task, 120                        handle, 101, 111

polymorphism, 77, 197, 201,          portability, 157

     206, 216, 223                  I/O parameter, 162, 167

portability, 19, 52, 141           predefined type, 42, 46

 and obsolescent features,          as a name, 24, 44

 142                                numeric, 149

                                   predicate

 as function name, 28, 45           structure, 226

 for boolean object, 25, 45         termination, 101, 134

preemptive scheduling, 156          unit, 192

prioritized activity, 55, 63        visibility, 57, 64

priority, 120                      Program_Error, 125, 138

 can create busy wait, 131          erroneous execution, 102

 ceiling priority, 115, 120,       project

 122, 138                           abbreviation, 23

 mutual exclusion, 122              entry name, 29

 portability, 156, 166             prologues

 priority ceiling blocking,         as pagination, 17

 122                               propagation, 101

 priority ceiling emulation,        exception, 101, 176, 198

 122                               protected objects, 107

 priority inversion, 122            and interrupt handlers, 114,

 protected objects, 120, 138        115, 137

 sequence of execution, 122         and tagged types, 123, 138

 tasks, 120, 122, 138               communication, 124, 125, 138

priority inversion, 122             entries, 126, 138

private type, 72, 179, 199           'Count, 126, 138

 equality, 98, 111                  execution overhead, 131

 for numeric type, 150, 165         mutual exclusion, 114, 137

 versus limited, 179                performance, 233, 238

problem domain                      reusability, 123

 model with task, 115, 137          synchronization, 114, 125,

procedure                           129, 131, 137

 as main program, 144, 164          versus rendezvous, 129, 131,

 call                               138

  named association, 68, 108                      

  recursive, 91, 110                             Q

 default parameter, 69, 108        qualified name, 57, 96, 111

 end statement, 67, 108            queue

 generic, 179, 192, 199             entry not prioritized, 122

 Inline, 236, 238                                 

 name, 28, 45                                    R

 overload, 97, 111                 race condition, 60, 133

 parameter list, 68, 108            attribute, 127

 parameter mode, 69, 108            in tentative rendezvous, 131

 return, 92                         priority, 122

 to reduce nesting, 87              with shared variable, 129

processor                          race conditons

 multiple, 117                      avoiding, 137, 139

 virtual, 117                      radix, 21, 44

program                            raise statement

 body                               in abstraction, 60

  indentation, 12                  range

 grouping, 51, 63

 name, 28

 pagination, 17, 19

 constraint, 70, 108                instead of enumeration, 43,

 declaration, 149, 165              46

 Duration, 143, 164                 portability, 154, 158, 166

 in case statement, 88, 110        reserved word

 scalar types, 42, 46               capitalization, 22, 44

 subexpression, 151                return statement, 92

 values, 83                        reusability

real operand                        library, 97

 in relational expression,          of nonterminating program,

 85, 110                            134

recompilation                       renames clause, 96, 111

 reduced by separate file, 48      robust software, 172, 198

record                             Root_Integer

 assignment, 94, 111                portability, 143

 component                         run time system

  name, 25, 45                      dependence, 161, 167

 heterogeneous data, 75            runaway task, 135

 indentation, 12                                  

 map to device data, 75, 109                     S

 nesting, 77                       safe programming, 92

 performance, 227, 228, 238        scheduling

 variant, 76, 77                    algorithm

 with access type component,         affected by hidden task,

 78, 109                               176

recursion                            portability, 156

 bound, 91                          delay, 123

relational expression, 84, 85,      task, 134

     110                            using priority, 121

 portability, 152                  scientific notation, 21, 44

relational expressions             scope

 portability, 152                   access type

renames clause, 23, 96               portability, 160

 declare in block, 93, 110          exception, 60, 64

 for a type, 43                     minimize, 57, 64

rendezvous                          use clause, 96

 efficient, 124, 138               select

 exception during, 125, 138         minimize, 131, 138

 tentative, 129                    select statement

 versus shared variable, 157,       asynchronous, 134, 139

 166                                blocking, 123

 with exception handler, 132,       portability, 156

 138                                terminate alternative, 133,

repeat until                        138

 how to simulate, 90                to provide normal

representation clause               termination, 133, 138

 evaluate during porting, 158      selected component

 for device data, 76

 indentation, 12

 of a private type, 73              reusable part family, 194,

selective accept                    199

 closed alternatives, 125,          task hiding, 59, 176, 198

 138                               spelling, 21

 efficient, 124, 138                abbreviation, 23

 with else, 129, 138                in comments, 32, 45

selectiveaccept                    Standard, 42, 46

 indentation, 11                    predefined numeric type,

semicolon                           149, 165

 spacing, 10                       starvation, 60

sentinel value, 71                 state

separate                            and exception, 60, 64

 compilation, 47                    naming, 84, 110

 indentation, 12                   statement, 86, 110

 to reduce visibility, 59           abort, 134, 156

separation of concerns, 55          accept, 125, 131, 138

Sequential_IO, 106, 163             block, 93

 import private type, 181           case, 88

Shared                              comment, 40

 portability, 157                   delay, 122, 138, 155

shared data, 55, 129                end, 67

 hidden task in generic, 176        exit, 67, 89, 90, 110

shared variable, 127                goto, 92

 portability, 157                   indentation, 10

 unprotected, 127, 138              loop, 87, 110

short circuit operator, 85           conditional exit, 86

side effect, 50, 62, 85             marker comment, 41

simplification heuristics, 86,      per line, 18, 19

     110                            return, 92

slice, 87                           select, 125, 131, 138

source text, 9, 143, 164             portability, 156

spacing, 9, 19                      tentative rendezvous, 129

 for goto statement, 92            static

 for label, 92                      data, 78, 109

 horizontal, 9                      expression, 30, 45, 172, 198

Specialized Needs annexes          storage control

 implementation, 147                and portability, 154

specification                      storage pool mechanisms, 154

 comment, 34, 45                   Storage_Error, 78, 109

 end statement, 67, 108            Stream_IO, 163

 generic, 174, 198                 string

 header                             handling, 196, 199

  as pagination, 17                strings

 indentation, 12                    performance, 235, 238

 package, 55, 57, 63               strong typing, 42, 47, 70, 108

                                    to enforce assumption, 173,

                                    198

 to reduce constraint check,        portability of Tick, 156

 235, 238                                         

subprogram, 50                                   T

 call                              tab character, 10, 19

  named association, 68, 108       table-driven programming, 195

  overhead, 50                     tagged type, 216

  recursive, 91, 110                derived, 218

 default parameter, 69, 108         hierarchies, 197, 199, 202

 document nonportable, 144,         operations, 209

 164                                visibility, 218

 end statement, 67, 108            tagged typed, 214

 exceptions raised in, 60, 64      tagged types, 191, 199, 206

 generic, 179, 192, 199             and dispatching, 203, 222

 grouped in package, 54, 63         and maintainability, 203

 grouping, 47                       and protected objects, 123,

 hiding task entries, 59            138

 Inline, 236, 238                   derived, 217, 223

 main, 144                          naming, 26

 name, 28                           redispatching, 38, 40, 46

 overload, 97                      task, 55, 117, 137

 overloading in generic, 175,       activation order, 155

 198                                allocate, 119, 138

 parameter list, 55, 63, 68,        anonymous type, 119

 108                                asynchronous control, 115,

 procedure versus function,         137

 50, 62                             attribute, 126, 138

 return, 92                         avoid termination, 132

 to reduce nesting, 87              body

subrecord, 77, 109                   exception handler, 136, 139

subtype, 42, 46, 70                  indentation, 12

 in case statement, 89              communication, 59, 124, 125

 in generic, 174, 198                complexity, 131, 138

 used as range, 83, 110              portability, 157, 166

 using suffixes, 24, 44             deadlock, 137

subunit                             declaration, 119

 embedded                           document nonportable, 144,

  pagination, 17                    164

 file name, 47                      dynamic, 119, 120

 indentation, 12                    end statement, 67, 108

Suppress, 105                       entries, 126, 138

symbolic                             'Count, 126, 138

 value, 30, 45                      hidden, 59, 176

synchronization, 55, 63, 114,        comment in header, 34

     137                            model, 115, 137

 portability, 156, 166              name, 28, 45

 using shared variable, 127,        nonterminating, 133, 138

 138                                portability, 155, 156, 166

System                              receiving interrupt, 146,

 portability, 158                   165

                                    rendezvous, 115, 118, 124,

 12                                 comment, 38, 46

 reusability, 176                   conversion, 71

 runaway, 135                       declaration, 42

 scheduling, 122, 123, 134          derived, 42, 46, 70

  portability, 156                  Duration, 143, 164

 specification                       portability, 156

  indentation, 12                   enumeration, 43

  pagination, 17, 19                grouped in package, 54, 63

 synchronization, 117, 127,         identifier, 24

 129, 138                           Integer, 143, 164

  point, 156, 166                   limited private, 72, 179

  portability, 157, 166             modular, 82, 110, 234, 238

 termination, 132, 133, 134,        name, 24, 42, 46

 136, 139                           numeric, 149, 165

 type, 119                          of constant, 30

Tasking_Error, 125, 126, 138        predefined, 42, 46, 149

temporary file                      private, 72, 179

 portability, 163                   renaming, 43

tentative rendezvous, 129           strong, 42, 47, 70, 108,

terminate alternative               235, 238

 to avoid deadlock, 133, 139        subtype, 70

termination                         suffix, 24, 44

 abnormal, 136                      tagged, 202

 controlled, 101                    unconstrained array, 173,

 file status, 163                   198

 normal, 133                        universal, 30

 of loop, 90, 110                   used as range, 83, 110

 of task, 132                                     

 undesired, 132, 138                             U

thread of control, 117             Unchecked_Conversion, 102

Tick                                portability, 161

 portability, 156                  Unchecked_Deallocation, 103

time sliced                         portability, 160

 scheduling, 156                   underscore, 21, 44

timed entry, 129, 138               in file name, 47

 affects 'Count, 127                in numbers, 21, 44

 call, 60                           significant in name, 23

 indentation, 11                   universal_integer, 30

tool, 9, 33, 96                    universal_real, 30

type, 70, 108                      until loop

 access, 78, 109                    how to simulate, 90

  portability, 160                 upper case, 22

 anonymous, 72                     use clause, 95, 96, 111.  See

 anonymous task, 119                    context clause

 attribute                         use type clause, 97, 111

  for real value, 152, 165         user-defined exception, 101,

 boundary value, 70, 108                111

 choice affects equality, 98        replaces implementation-

                                    defined, 166

                                                  

                                                 V

variable

 declaration

  alignment, 14

 localize declaration, 94

 of access type, 78, 109

 referenced in guard, 127,

 138

 replaced with aggregate, 94,

 111

 to reduce nesting, 87

 valid state, 176, 198

verb

 as entry name, 28, 45

 as procedure name, 28, 45

vertical alignment, 13, 14,

     15, 19.  See alignment

virtual processor, 117

visibility, 53, 55, 56, 57,

     63, 95, 111, 217, 223

 use type clause, 97, 111

 using renames clause, 96,

 111

               

              W

while loop.  See loop

 indentation, 11

with clause.  See context

     clause


In This Guide:
Table of Contents
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Appendix
References
Bibliography
Index