home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / lrm / toc.doc < prev   
Encoding:
Text File  |  1988-05-03  |  7.4 KB  |  331 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                            16. Table of Contents
  11.  
  12.  
  13.  
  14. 1 Introduction
  15.  
  16. 1.1    Scope of the Standard
  17. 1.1.1  Extent of the Standard
  18. 1.1.2  Conformity of an Implementation with the Standard
  19. 1.1.3  Method of Description
  20. 1.2    Structure of the Standard
  21. 1.3    Design Goals and Sources
  22. 1.4    Language Summary
  23. 1.5    Syntax Notation
  24. 1.6    Classification of Errors
  25.  
  26. 2 Lexical Elements
  27.  
  28. 2.1    Character Set
  29. 2.2    Lexical Elements, Separators and Delimiters
  30. 2.3    Identifiers
  31. 2.4    Numeric Literals
  32. 2.4.1  Decimal Literals
  33. 2.4.2  Based Literals
  34. 2.5    Character Literals
  35. 2.6    String Literals
  36. 2.7    Comments
  37. 2.8    Pragmas
  38. 2.9    Reserved Words
  39. 2.10   Allowed Replacements of Characters
  40.  
  41. 3 Declarations and Types
  42.  
  43. 3.1    Declarations
  44. 3.2    Objects and Named Numbers
  45. 3.2.1  Object Declarations
  46. 3.2.2  Number Declarations
  47. 3.3    Types and Subtypes
  48. 3.3.1  Type Declarations
  49. 3.3.2  Subtype Declarations
  50. 3.3.3  Classification of Operations
  51. 3.4    Derived Types
  52. 3.5    Scalar Types
  53. 3.5.1  Enumeration Types
  54. 3.5.2  Character Types
  55. 3.5.3  Boolean Types
  56. 3.5.4  Integer Types
  57. 3.5.5  Operations of Discrete Types
  58. 3.5.6  Real Types
  59. 3.5.7  Floating Point Types
  60.  
  61.  
  62.                                   16 - 1
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71. 3.5.8  Operations of Floating Point Types
  72. 3.5.9  Fixed Point Types
  73. 3.5.10 Operations of fixed point types
  74. 3.6    Array Types
  75. 3.6.1  Index Constraints and Discrete Ranges
  76. 3.6.2  Operations of Array Types
  77. 3.6.3  The Type String
  78. 3.7    Record Types
  79. 3.7.1  Discriminants
  80. 3.7.2  Discriminant Constraints
  81. 3.7.3  Variant Parts
  82. 3.7.4  Operations of Record Types
  83. 3.8    Access Types
  84. 3.8.1  Incomplete Type Declarations
  85. 3.8.2  Operations of Access Types
  86. 3.9    Declarative Parts
  87.  
  88. 4 Names and Expressions
  89.  
  90. 4.1    Names
  91. 4.1.1  Indexed Components
  92. 4.1.2  Slices
  93. 4.1.3  Selected Components
  94. 4.1.4  Attributes
  95. 4.2    Literals
  96. 4.3    Aggregates
  97. 4.3.1  Record Aggregates
  98. 4.3.2  Array Aggregates
  99. 4.4    Expressions
  100. 4.5    Operators and Expression Evaluation
  101. 4.5.1  Logical Operators and Short Circuit Control Forms
  102. 4.5.2  Relational Operators and Membership Tests
  103. 4.5.3  Adding Operators
  104. 4.5.4  Unary Operators
  105. 4.5.5  Multiplying Operators
  106. 4.5.6  Exponentiating Operator
  107. 4.5.7  Accuracy of Operations with Real Operands
  108. 4.6    Type Conversions
  109. 4.7    Qualified Expressions
  110. 4.8    Allocators
  111. 4.9    Static Expressions  and Static Subtypes
  112. 4.10   Universal Expression
  113.  
  114. 5 Statements
  115.  
  116. 5.1    Simple and Compound Statements - Sequences of Statements
  117. 5.2    Assignment Statement
  118. 5.2.1  Array Assignments
  119. 5.3    If Statements
  120. 5.4    Case Statements
  121. 5.5    Loop Statements
  122. 5.6    Block Statements
  123. 5.7    Exit Statements
  124. 5.8    Return Statements
  125. 5.9    Goto Statements
  126.  
  127.  
  128.                                   16 - 2
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. 6 Subprograms
  138.  
  139. 6.1    Subprogram Declarations
  140. 6.2    Formal Parameter Modes
  141. 6.3    Subprogram Bodies
  142. 6.3.1  Conformance Rules
  143. 6.3.2  Inline Expansion of Subprograms
  144. 6.4    Subprogram Calls
  145. 6.4.1  Parameter Associations
  146. 6.4.2  Default Parameters
  147. 6.5    Function Subprograms
  148. 6.6    Parameter and Result Type Profile - Overloading of Subprograms
  149. 6.7    Overloading of Operators
  150.  
  151. 7 Packages
  152.  
  153. 7.1    Package Structure
  154. 7.2    Package Specifications and Declarations
  155. 7.3    Package Bodies
  156. 7.4    Private Type and Deferred Constant Declarations
  157. 7.4.1  Private Types
  158. 7.4.2  Operations of a Private Type
  159. 7.4.3  Deferred Constants
  160. 7.4.4  Limited Types
  161. 7.5    Example of a Table Management Package
  162. 7.6    Example of a Text Handling Package
  163.  
  164. 8 Visibility Rules
  165.  
  166. 8.1    Declarative Region
  167. 8.2    Scope of Declarations
  168. 8.3    Visibility
  169. 8.4    Use Clauses
  170. 8.5    Renaming Declarations
  171. 8.6    The Package Standard
  172. 8.7    The Context of Overload Resolution
  173.  
  174. 9      Tasks
  175.  
  176. 9.1    Task Specifications and Task Bodies
  177. 9.2    Task Types and Task Objects
  178. 9.3    Task Execution - Task Activation
  179. 9.4     Task Dependence - Termination of Tasks
  180. 9.5     Entries, Entry Calls and Accept Statements
  181. 9.6     Delay Statements, Duration and Time
  182. 9.7     Select Statements
  183. 9.7.1   Selective Waits
  184. 9.7.2   Conditional Entry Calls
  185. 9.7.3   Timed Entry Calls
  186. 9.8     Priorities
  187. 9.9     Task and Entry Attributes
  188. 9.10    Abort Statements
  189. 9.11    Shared Variables
  190. 9.12    Example of Tasking
  191.  
  192.  
  193.  
  194.                                   16 - 3
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203. 10 Program Structure and Compilation Issues
  204.  
  205. 10.1    Compilation Units - Library Units
  206. 10.1.1  Context Clauses - With Clauses
  207. 10.1.2  Examples of Compilation Units
  208. 10.2    Subunits of Compilation Units
  209. 10.2.1  Examples of Subunits
  210. 10.3    Order of Compilation
  211. 10.4    The Program Library
  212. 10.5    Elaboration of Library Units
  213. 10.6    Program Optimization
  214.  
  215. 11 Exceptions
  216.  
  217. 11.1     Exception Declarations
  218. 11.2    Exception Handlers
  219. 11.3    Raise Statements
  220. 11.4    Exception Handling
  221. 11.4.1  Exceptions Raised During the Execution of Statements
  222. 11.4.2  Exceptions Raised During the Elaboration of Declarations
  223. 11.5    Exceptions Raised During Task Communication
  224. 11.6    Exceptions and Optimization
  225. 11.7    Suppressing Checks
  226.  
  227. 12 Generic Units
  228.  
  229. 12.1    Generic Declarations
  230. 12.1.1  Generic Formal Objects
  231. 12.1.2  Generic Formal Types
  232. 12.1.3  Generic Formal Subprograms
  233. 12.2    Generic Bodies
  234. 12.3    Generic Instantiation
  235. 12.3.1  Matching Rules for Formal Objects
  236. 12.3.2  Matching Rules for Formal Private Types
  237. 12.3.3  Matching Rules for Formal Scalar Types
  238. 12.3.4  Matching Rules for Formal Array Types
  239. 12.3.5  Matching Rules for Formal Access Types
  240. 12.3.6  Matching Rules for Formal Subprograms
  241. 12.4    Example of a Generic Package
  242.  
  243. 13 Representation Clauses and Implementation Dependent Features
  244.  
  245. 13.1    Representation Clauses
  246. 13.2    Length Clause
  247. 13.3    Enumeration Representation Clauses
  248. 13.4    Record Representation Clauses
  249. 13.5    Address Clauses
  250. 13.5.1  Interrupts
  251. 13.6    Change of Representation
  252. 13.7    The Package System
  253. 13.7.1  System Dependent Named Numbers
  254. 13.7.2  Representation Attributes
  255. 13.7.3  Representation Attributes of Real Types
  256. 13.8    Machine Code Insertions
  257. 13.9    Interface to other Languages
  258.  
  259.  
  260.                                   16 - 4
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269. 13.10   Unchecked Programming
  270. 13.10.1 Unchecked Storage Deallocation
  271. 13.10.2 Unchecked Type Conversions
  272.  
  273. 14 Input-Output
  274.  
  275. 14.1    External Files and File Objects
  276. 14.2    Sequential and Direct Files
  277. 14.2.1  File Management
  278. 14.2.2  Sequential Input-Output
  279. 14.2.3  Specification of the Package Sequential_IO
  280. 14.2.4  Direct Input-Output
  281. 14.2.5  Specification of the Package Direct_IO
  282. 14.3    Text Input-Output
  283. 14.3.1  File Management
  284. 14.3.2  Default Input and Output Files
  285. 14.3.3  Specification of Line and Page Lengths
  286. 14.3.4  Operations on Columns, Lines and Pages
  287. 14.3.5  GET and PUT Procedures
  288. 14.3.6  Input-output of Characters and Strings
  289. 14.3.7  Input-Output for Integer Types
  290. 14.3.8  Input-Output for Real Types
  291. 14.3.9  Input-Output for Enumeration Types
  292. 14.3.10 Specification of the Package TEXT_IO
  293. 14.4    Exceptions in Input-Output
  294. 14.5    Specification of the Package IO_EXCEPTIONS
  295. 14.6    Low Level Input-Output
  296. 14.7    Example of Input-Output
  297.  
  298. Annexes
  299.  
  300. A Predefined Language Attributes
  301.  
  302. B Predefined Language Pragmas
  303.  
  304. C Predefined Language Environment
  305.  
  306. Appendices
  307.  
  308. D Glossary
  309.  
  310. E Syntax Summary
  311.  
  312. F Implementation Dependent Characteristics
  313.  
  314. Index
  315.  
  316. Postscript: Submission of Comments
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.                                   16 - 5
  327.  
  328.  
  329.  
  330.  
  331.