# Ada Programming/Ada 83

Ada 83 is the first version of the Ada programming language. It was based in the so called Ada 80, a preliminary version of the language formally known as MIL-STD-1815 (published in December 1980). This standard was refined and standardized by the DoD and ANSI as ANSI/MIL-STD-1815A in February 1983 (note the additional 'A' at the end), which was later adopted by International Organization for Standardization as ISO/IEC 8652:1987.

## Language features
### Character set

* Identifiers in ASCII (7-Bit)

## Summary of features
### Keywords

Ada 83 has 63 keywords:
* abort
* abs
* accept
* access
* all
* and
* array
* at
* begin
* body
* case
* constant
* declare
* delay
* delta
* digits
* do
* else
* elsif
* end
* entry
* exception
* exit
* for
* function
* generic
* goto
* if
* in
* is
* limited
* loop
* mod
* new
* not
* null
* of
* or
* others
* out
* package
* pragma
* private
* procedure
* raise
* range
* record
* rem
* renames
* return
* reverse
* select
* separate
* subtype
* task
* terminate
* then
* type
* use
* when
* while
* with
* xor

### Pragmas

Has 14 pragmas:
* pragma Controlled
* pragma Elaborate
* pragma Inline
* pragma Interface (obsolescent since Ada 95)
* pragma List
* pragma Memory_Size (obsolescent since Ada 95)
* pragma Optimize
* pragma Pack
* pragma Page
* pragma Priority
* pragma Shared (obsolescent since Ada 95)
* pragma Storage_Unit (obsolescent since Ada 95)
* pragma Suppress
* pragma System_Name (obsolescent since Ada 95)

### Attributes

Has 40 attributes:
* Address
* Aft
* Base
* Callable
* Constrained
* Count
* Delta
* Digits
* Emax (obsolescent since Ada 95)
* Epsilon (obsolescent since Ada 95)
* First
* First_Bit
* Fore
* Image
* Large (obsolescent since Ada 95)
* Last
* Last_Bit
* Length
* Machine_Emax
* Machine_Emin
* Machine_Mantissa
* Machine_Overflows
* Machine_Radix
* Machine_Rounds
* Mantissa (obsolescent since Ada 95)
* Pos
* Position
* Pred
* Range
* Safe_Emax (obsolescent since Ada 95)
* Safe_Large (obsolescent since Ada 95)
* Safe_Small (obsolescent since Ada 95)
* Size
* Small
* Storage_Size
* Succ
* Terminated
* Val
* Value
* Width

### Library units

| Package | Standard |
| Nested package | Standard.ASCII |
| Package | Calendar |
| Package | System |
| Package | Machine_Code (implementation dependent) |
| Generic procedure | Unchecked_Deallocation |
| Generic function | Unchecked_Conversion |
| Generic package | Sequential_IO |
| Generic package | Direct_IO |
| Package | Text_IO |
| Generic nested package | Text_IO.Integer_IO |
| Generic nested package | Text_IO.Float_IO |
| Generic nested package | Text_IO.Fixed_IO |
| Generic nested package | Text_IO.Enumeration_IO |
| Package | IO_Exceptions |
| Package | Low_Level_IO (implementation dependent) |

## See also
### Wikibook

* Ada Programming/Ada 95
* Ada Programming/Ada 2005
* Ada Programming/Ada 2012
* Ada Programming/Keywords
* Ada Programming/Attributes
* Ada Programming/Pragmas

## References

* Ada 83 Language Reference Manual
* Rationale for the Design of the Ada Programming Language
* Ada 83 Quality and Style: Guidelines for Professional Programmers

## Further reading

* Karl A. Nyberg (Editor), The Annotated Ada Reference Manual, 3rd Edition (March 1994).