Arvore de ativação e pilha de ativação
A linguagem fonte e um conjunto de procedimento pré-definidos, e vamos ver de maneira ampla as características de um código fonte em no momento de execução em um compilador.
Procedimentos
A definição de um procedimento e uma declaração que e formado da seguinte maneira, associa um identificador a um enunciado. O identificador e o nome do procedimentos e o enunciado e o corpo do procedimento.
Ex01:
(1) program sort(input, output);
(2) var a : array [0..10] of integer;
(3) procedure readarray;
(4) var i: integer;
(5) begin
(6) for i:=1 to 9 do read(a[i]);
(7) end;
(8) function partition(y, z: integer): integer;
(9) var i, j, x, v: integer; begin ... end;
(10) procedure quicksort(m, n: integer);
(11) var i: integer;
(12) begin
(13) if ( n > m) then begin
(14) i:= partition(m, n);
(15) quicksort(m, i-1);
(16) quicksort(i+1, n);
(17) end;
(18) end;
(19) begin
(20) a[0] := -9999; a[10]:= 9999; (21) readarray;
(22) quicksort(1, 9);
(23) end.
Ex01. AHO, Afredo V.,SETHI,Ravi, ULLMAN,Jeffrey
Compiladores: