Lecture #5 Programming Languages MISHRA 95

G22.2210

Programming Languages: PL

B. Mishra
New York University.


Lecture # 5

---Slide 1---
The ADA Programming Language
Language Survey 2

---Slide 2---
The Design History

---Slide 3---
Quick Overview

---Slide 4---
Ada Type System

---Slide 5---
Examples

 type DAY is (MON,TUE,WED,THU,FRI,SAT,SUN);
    --Enumeration Type
 TODAY: DAY; TOMORROW: DAY; CURRENT_DAY: DAY;

 HOURS_WORKED: array(DAY'FIRST..DAY'LAST)
                    of INTEGER;

 if TODAY <= FRI then
    TOMORROW := DAY'SUCC(TODAY);

 for CURRENT_DAY in DAY'FIRST..DAY'LAST loop
    ...
 end loop;

---Slide 6---
Primitive Scalar Types

---Slide 7---
Discrete Types

---Slide 8---
Real Type

---Slide 9---
Derived Type

---Slide 10---
Assignment Statement

         X := Y;

---Slide 11---
Examples

  subtype NATURAL is INTEGER range 1..INTEGER'LAST;
  A: INTEGER;
  B: FLOAT;
  C: NATURAL;
  D: INTEGER range 0..INTEGER'LAST;

  A := B;              --illegal
  A := INTEGER(B);     --type conversion, legal
  A := C;              --legal
  A := D - 3;          --legal
  A := C + INTEGER(B); --legal
  C := D;              --constraint exception
  C := A;              --constraint exception

---Slide 12---
Arrays

---Slide 13---
Array Assignment

---Slide 14---
Array Indexing & Slicing

---Slide 15---
Records

---Slide 16---
Records (Contd)

---Slide 17---
Variant Records

---Slide 18---
Access Types

---Slide 19---
Recursive Types

  type NODE;  --Incomplete Declaration;
  type NODE_PTR is access NODE;

  type NODE is
    record
      DATUM: CHARACTER;
      NEXT: NODE_PTR;
    end record;

---Slide 20---
Control Structures

---Slide 21---
Control Structures: Iteration Clause

---Last Slide---
A Complete Ada Program

  with I_O_PACKAGE;
  procedure TEMPERATURE_CONVERSION is
    use I_O_PACKAGE;
    -- Convert temp in Fahrenheit to Celsius

    FAHRENHEIT_TEMP; CELSIUS_TEMP: FLOAT;
  begin
    GET(FAHRENHEIT_TEMP);
    CELSIUS_TEMP := (FAHRENHEIT_TEMP - 32.0)*5.0/9.0;
    PUT(CELSIUS_TEMP);
  end TEMPERATURE_CONVERSION;

[End of Lecture #5]