Metody realizacji języków programowania/MRJP Ćwiczenia 5: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Zaroda (dyskusja | edycje)
Nie podano opisu zmian
Zaroda (dyskusja | edycje)
Linia 1: Linia 1:
== Zadanie ==
== Zadanie - tłumaczenie funkcji ==


Przy założeniu, że mamy do czynienia z językiem bez struktury blokowej (w rekordzie aktywacji nie ma SL) przetłumacz na kod NMW treść funkcji g z poniższego przykładu:
Przy założeniu, że mamy do czynienia z językiem bez struktury blokowej (w rekordzie aktywacji nie ma SL) przetłumacz na kod NMW treść funkcji g z poniższego przykładu:


  function f(w:integer; var x:integer):integer;
  '''function''' f(w:integer; '''var''' x:integer):integer;
  begin
  '''begin'''
  ...
  ...
  end;
  '''end''';
   
   
  function g(y:integer; var z:integer):integer;
  '''function''' g(y:integer; '''var''' z:integer):integer;
  var a:integer;
  '''var''' a:integer;
  begin
  '''begin'''
   g:=y;
   g:=y;
   a:=z;
   a:=z;
   z:=f(a,a)
   z:=f(a,a)
  end;
  '''end''';


== Zadanie ==
== Zadanie ==


== Zadanie ==
== Zadanie ==

Wersja z 18:48, 26 wrz 2006

Zadanie - tłumaczenie funkcji

Przy założeniu, że mamy do czynienia z językiem bez struktury blokowej (w rekordzie aktywacji nie ma SL) przetłumacz na kod NMW treść funkcji g z poniższego przykładu:

function f(w:integer; var x:integer):integer;
begin
...
end;

function g(y:integer; var z:integer):integer;
var a:integer;
begin
  g:=y;
  a:=z;
  z:=f(a,a)
end;

Zadanie

Zadanie