1 / 10

Preklad logického výrazu

Preklad logického výrazu. Gramatika PGB 2. Hodnota logick ého výrazu ako vonkajšia adresa. V príkaze if b then P1 else P2 hodnota „ b “ „určuje“ miesto – adresu príkazu, ktorý sa bude realizovať v ďalšom kroku. Toto použitie možno opísať prekladovou gramatikou Využíva vlastnosti

borna
Télécharger la présentation

Preklad logického výrazu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Preklad logického výrazu Gramatika PGB2

  2. Hodnota logického výrazu ako vonkajšia adresa • V príkaze if b then P1 else P2 hodnota „ b “ „určuje“ miesto – adresu príkazu, ktorý sa bude realizovať v ďalšom kroku. • Toto použitie možno opísať prekladovou gramatikou • Využíva vlastnosti • X or Y = if X then true else Y • X and Y = if X then Y else false

  3. Atribúty • da, sa • adr • true – zoznam adries inštrukcie TL, do ktorých treba doplniť cieľovú adresu, ktorá zodpovedá hodnote booleovského výrazu true. • false - zoznam adries inštrukcie TL, do ktorých treba doplniť cieľovú adresu, ktorá zodpovedá hodnote booleovského výrazu false.

  4. Funkcie • f1 (x) – vytvorí zoznam z argumentu x • f2 (x, y) – vytvorí zoznam spojením zoznamov x a y • f3 (x, y, z) - hodnotou f unkcie je x - do všetkých inštrukcií na adresách uvedených v zozname y sa doplní adresa z.

  5. Atrib. Preklad. Gramatika Syntaktické pravidlá Sémantické pravidlá E  E or T or E1. da := E0. da T .da := E1 . sa - - a b E0. sa := T . sa + 1 + + E0.true := f2(E1.true, T.true) + E0.false := f3(T.false, E1.false, E1.sa) E  T T.da := E.da E.sa := T.sa E.true := T.true E.false := T.false

  6. Atrib. Preklad. G - Cont. Syntaktické pravidlá Sémantické pravidlá T  T and F and da, sa - ako E  E or Toraž na symboly + + a b T0.true:=f3(F.true, T1.true, T1.sa) - - T0.false:= f2(T1.false, F.false) - Ako E  T až na symboly T  F da, sa - ako E  T až na symboly F not F not F0. true := F2. false F0. false := F2. true

  7. Atrib. Preklad. G - Cont. Syntaktické pravidlá Sémantické pravidlá F  (E) Ako E  T až na symboly F  id TADRTLJIFT TLJU TA. adr := id.adr F.sa := F.da + 6 F.true := f1 (F.da + 2) F.false := f1 (F.da + 4)

  8. Atrib. Preklad. G - Cont. Syntaktické pravidlá Sémantické pravidlá F  A relop A relop A1.da := F.da TLJIFTTLJU A3.da := A1.sa F.sa := A3.sa + 5 F.true := f1 (A3.sa + 1) F.false := f1 (A3.sa + 3) TA. adr := id.adr A  id TA DR A.sa := A.da + 2

More Related