Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Ada Programming/Ada 2012

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

2012 __TOC__ This is an overview of the major features that are available in Ada 2012. Summary of what's new New syntax Added 4 forms of expressions: conditional expressions case expressions quantified expressions expression functions These additional expressions originated with new support for contract based programming. New keywords Added 1 keyword (73 total) some New pragmas Added 5 pragmas: CPU Default_Storage_Pool Dispatching_Domain Independent Independent_Components Note that all these pragmas except Default_Storage_Pool born obsolescent, and it is recommended to use them as aspects instead. New aspects Aspect specifications is a new feature of Ada 2012. While some aspect identifiers are completely new, others were present in previous versions of the language as aspect-related pragmas or attribute-definition clauses. Note that for these pragmas, in some cases the old pragma identifiers are marked as obsolescent, while in other cases the usage of the pragma is still the recommended approach. Added 18 aspects: Constant_Indexing CPU (also added as an obsolescent pragma) Default_Component_Value Default_Iterator Default_Storage_Pool Default_Value Dispatching_Domain (also added as an obsolescent pragma) Dynamic_Predicate Implicit_Dereference Independent (also added as an obsolescent pragma) Independent_Components (also added as an obsolescent pragma) Iterator_Element Post Pre Static_Predicate Synchronization Type_Invariant Variable_Indexing Aspect specifications already present in previous versions of the language as pragmas: All_Calls_Remote Asynchronous (pragma now obsolescent) Atomic (pragma now obsolescent) Atomic_Components (pragma now obsolescent) Attach_Handler (pragma now obsolescent) Convention (pragma now obsolescent) Elaborate_Body Export (pragma now obsolescent) External_Name External_Tag Import (pragma now obsolescent) Inline (pragma now obsolescent) Interrupt_Handler (pragma now obsolescent) Interrupt_Priority (pragma now obsolescent) Link_Name No_Return (pragma now obsolescent) Output Pack (pragma now obsolescent) Preelaborate Priority (pragma now obsolescent) Pure Relative_Deadline (pragma now obsolescent) Remote_Call_Interface Remote_Types Shared_Passive Storage_Size (pragma now obsolescent) Unchecked_Union (pragma now obsolescent) Volatile (pragma now obsolescent) Volatile_Components (pragma now obsolescent) Aspect specifications already present in previous versions of the language as attribute definition clauses: Address Alignment Bit_Order Component_Size Input Machine_Radix Read Size Small Storage_Size Storage_Pool Stream_Size Write New attributes Added 5 attributes: Has_Same_Storage Max_Alignment_For_Allocation Old Overlaps_Storage Result New packages Multiprocessing: System.Multiprocessors System.Multiprocessors.Dispatching_Domains Real-time: Ada.Execution_Time.Interrupts OS facilities: Ada.Directories.Hierarchical_File_Names Iterators: Ada.Iterator_Interfaces Text handling: Ada.Strings.UTF_Encoding Ada.Wide_Characters.Handling Ada.Wide_Wide_Characters.Handling Container library: Ada.Containers.Multiway_Trees Ada.Containers.Indefinite_Multiway_Trees Ada.Containers.Indefinite_Holders Ada.Containers.Bounded_Vectors Ada.Containers.Bounded_Doubly_Linked_Lists Ada.Containers.Bounded_Hashed_Maps Ada.Containers.Bounded_Ordered_Maps Ada.Containers.Bounded_Hashed_Sets Ada.Containers.Bounded_Ordered_Sets Ada.Containers.Bounded_Multiway_Trees Ada.Containers.Synchronized_Queue_Interfaces Ada.Containers.Unbounded_Synchronized_Queues Ada.Containers.Bounded_Synchronized_Queues Ada.Containers.Unbounded_Priority_Queues Ada.Containers.Bounded_Priority_Queues See also Wikibook Ada Programming/Ada 83 Ada Programming/Ada 95 Ada Programming/Ada 2005 Pages in the category Ada 2012 :Ada Programming/Ada 2012 feature External links www.ada2012.org, website maintained by the Ada Resource Association. Ada Answers: Ada 2012 ISO/IEC JTC1/SC22/WG9 N498 (2009). Instructions to the Ada Rapporteur Group from SC22/WG9 for Preparation of Amendment 2 to ISO/IEC 8652 Papers and presentations Towards Ada 2012: an interim report from the Ada Rapporteur Group, by Ed Schonberg (2010-06-17) HD Video: An introduction to Ada 2012, presentation by Ed Schonberg (1h 02 min, 2012-10-16) Rationale Ada 2012 Rationale, by John Barnes Introduction Chapter 1: Contracts and Aspects Chapter 2: Expressions Chapter 3: Structure and Visibility Chapter 4: Tasking and Real-Time Chapter 5: Iterators, Pools, etc. Chapter 6: Containers Epilogue Predefined Library Ada Reference Manual Ada Reference Manual, ISO/IEC 8652:2012(E) — Language and Standard Libraries ISO/IEC 8652:2012 — Information technology — Programming languages — Ada (2012-12-10), same contents as the above link. Annotated Ada Reference Manual, ISO/IEC 8652:2012(E) — Language and Standard Libraries (colored diffs) List of Ada Amendment drafts Ada Issues Ada 2005 Issues 009 Confirming representation items and independence 145 Pre- and Postconditions 2 193 Alignment of allocators Implementations Implementation of Ada 2012 Features in GNAT compiler Press releases Ada 2012 Language Standard Approved by ISO, by Ada Resource Association & Ada-Europe (2012-12-18) PDF Ada 2012 Language Standard Submitted to ISO, by Ada Resource Association & Ada-Europe (2012-06-12) PDF Ada 2012 *Ada 2012 *Ada 2012