Operator de atribuire

în POLIS va fi înregistrată ca

Operatorul de tranziție în termeni de POLIZ înseamnă că procesul de interpretare trebuie continuat din elementul POLIZ, care este specificat ca operand al operației de tranziție.

Pentru a putea face referire la elementele POLIZ, vom presupune că toate sunt renumerotate, începând cu 1 (de exemplu, introduse în elementele succesive ale unei matrice unidimensionale).

Fie ca declarația POLIS a operatorului marcat cu eticheta L să înceapă cu numărul p, atunci operatorul de tranziție goto L din POLISE poate fi scris ca

în cazul în care. - operarea selectării elementului POLIZ, al cărui număr este p.

Înregistrarea în POLIS a operatorilor condiționali și a operatorilor de buclă este ceva mai complicată.

Introducem o operație auxiliară - o tranziție condiționată "pe o minciună" cu semantică

daca (nu B), atunci am ajuns la L

Aceasta este o operație cu două locații în operanții B și L. Indicați-o! F, apoi în POLIS va fi scrisă ca

unde p este numărul elementului din care începe operatorul POLIS, etichetat cu eticheta L.

Semantica unei declarații condiționate

utilizând operația introdusă poate fi descrisă după cum urmează:

Apoi, POLIZ a declarației condiționate va fi:

unde pi este numărul elementului din care începe operatorul POLIS, etichetat cu eticheta Li. i = 2,3.

Semantica operatorului Bdo S poate fi descrisă după cum urmează:

Apoi, POLITICA declarației de timp a bucla în timp ce va fi:

unde pi este numărul elementului din care începe operatorul POLIS, etichetat cu eticheta Li. i = 0,1.

Operatorii pentru intrarea și ieșirea limbajului M sunt operațiuni unice. Fie R denumirea operației de intrare și W desemnarea operației de ieșire.

Apoi operatorul de intrare citit (I) în POLIS va fi scris ca I R;

Operatorul de ieșire scrie (E) - ca E W.

Operatorul Notarea Postfix polonez are toate proprietățile postfixat expresia notație poloneză caracteristică, astfel încât algoritmul pentru interpretarea expresiilor potrivite pentru interpretarea întregului program înregistrat pe Polisi (trebuie doar să se extindă setul de operații, în plus, punerea în aplicare a unora dintre ele nu va da rezultatul înregistrat în stivă ).

O înregistrare poștală poloneză poate fi utilizată nu numai pentru a interpreta un program intermediar, ci și pentru a genera un program obiect pe acesta. Pentru a face acest lucru, în algoritmul de interpretare, în loc să efectuați operația, trebuie să generați comenzile corespunzătoare ale programului obiect.

Articole similare