Ada Programming/Ada 95
Appearance
Ada 95 is the second revision of the language, preceded by Ada 83. It was standardized by the ISO in 1995. The Technical Corrigendum 1 was published in June 2001.[1]
New language features
[edit | edit source]Main additions:[2]
Character set
[edit | edit source]- Latin-1 (8-bit) character set for identifiers
- Type Character expanded to the 256 values of Latin-1 (8 bits)
- New type Wide_Character (16-bit character type, UCS-2 encoding) and Wide_String
Specialized Needs Annexes
[edit | edit source]- Annex C, "Systems Programming"
- Annex D, "Real-Time Systems"
- Annex E, "Distributed Systems"
- Annex F, "Information Systems"
- Annex G, "Numerics"
- Annex H, "Safety and Security" (in Ada 2005 renamed to "High Integrity Systems")
Other language additions
[edit | edit source]Summary of what's new
[edit | edit source]New keywords
[edit | edit source]Ada 95 has 6 new keywords with respect to Ada 83 (69 keywords in total):
New pragmas
[edit | edit source]Added 29 pragmas, removed 5 (38 total):
pragma
All_Calls_Remotepragma
Asynchronouspragma
Atomicpragma
Atomic_Componentspragma
Attach_Handlerpragma
Conventionpragma
Discard_Namespragma
Elaborate_Allpragma
Elaborate_Bodypragma
Exportpragma
Importpragma
Inspection_Pointpragma
Interrupt_Handlerpragma
Interrupt_Prioritypragma
Linker_Optionspragma
Locking_Policypragma
Normalize_Scalarspragma
Preelaboratepragma
Purepragma
Queueing_Policypragma
Remote_Call_Interfacepragma
Remote_Typespragma
Restrictionspragma
Reviewablepragma
Shared_Passivepragma
Storage_Sizepragma
Task_Dispatching_Policypragma
Volatilepragma
Volatile_Components
New attributes
[edit | edit source]Added 52 attributes, removed 7 (85 total):
- Access
- Adjacent
- Alignment
- Bit_Order
- Body_Version
- Caller
- Ceiling
- Class
- Component_Size
- Compose
- Copy_Sign
- Definite
- Denorm
- Exponent
- External_Tag
- Floor
- Fraction
- Identity
- Input
- Leading_Part
- Machine
- Max
- Max_Size_In_Storage_Elements
- Min
- Model
- Model_Emin
- Model_Epsilon
- Model_Mantissa
- Model_Small
- Modulus
- Output
- Partition_ID
- Read
- Remainder
- Round
- Rounding
- Safe_First
- Safe_Last
- Scale
- Scaling
- Signed_Zeros
- Storage_Pool
- Tag
- Truncation
- Unbiased_Rounding
- Unchecked_Access
- Valid
- Version
- Wide_Image
- Wide_Value
- Wide_Width
- Write
New library units
[edit | edit source]- Ada.Real_Time
- ...
See also
[edit | edit source]Wikibook
[edit | edit source]- Ada Programming/Ada 83
- Ada Programming/Ada 2005
- Ada Programming/Ada 2012
- Ada Programming/Keywords
- Ada Programming/Attributes
- Ada Programming/Pragmas
References
[edit | edit source]- Ada Reference Manual, ISO/IEC 8652:1995(E) with COR.1:2000 (June 2001)
- Annotated Ada Reference Manual, ISO/IEC 8652:1995(E) with COR.1:2000 (June 2001)
- The Ada 95 Rationale: The Language, The Standard (January 1995)
- Ada 95 Quality and Style Guide: Guidelines for Professional Programmers (October 1995)
References
[edit | edit source]- ↑ "WG9 Standards and Projects". Retrieved 2008-06-09.
The Corrigendum is approved and was published in June 2001.
- ↑ Naomi Hamilton. "The A-Z of Programming Languages: Ada". Computerworld. Retrieved 2008-06-09.
The "big three" Ada 95 language revisions were Hierarchical Libraries, Protected Objects, and Object-Oriented Programming.
External links
[edit | edit source]- Tucker Taft (1994). "Ada 9X for Embedded Systems Development". Retrieved 2008-06-04.
- David L. Moore (1995-10-01). "Object-Oriented Facilities in Ada 95". Dr. Dobb's Journal. Retrieved 2008-06-04.