(Inst for) ::= for
Transkrypt
(Inst for) ::= for
Pascal — Składnia i semantyka Składnia przedstawiona w postaci reguł gramatycznych. Semantyka operacyjna instrukcji podana w postac schematów blokowych. Składnia i semantyka operacyjna Pascala Instrukcje hInsti ::= hInst przypi | hInst blokui | hInst if then elsei | hInst if theni | hInst whilei | hInst repeati | hInst fori | ··· Składnia i semantyka operacyjna Pascala -2- Instrukcja przypisania hInst przypi ::= START hLokacjai := hWyrażeniei Lokacja wyrazenie Na przykład: pom := pom - 15 META tab[i +3] := tab[i] rekord.pole := 3.1459 Składnia i semantyka operacyjna Pascala -3- Ciąg instrukcji a instrukcja bloku START hCiąg Insti ::= Inst_1 hi | hInsti | hInsti ; hCiąg Insti Inst_n META Składnia i semantyka operacyjna Pascala -4- Ciąg instrukcji a instrukcja bloku START hInst blokui ::= Inst_1 begin hCiąg Insti end Inst_n META Składnia i semantyka operacyjna Pascala -5- Instrukcja warunkowa if–then–else START hInst if then elsei ::= true if hWaruneki then hInst 1i else Warunek Inst_1 false Inst_2 hInst 2i META Składnia i semantyka operacyjna Pascala -6- Instrukcja warunkowa if–then START true hInst if theni ::= if hWaruneki then hInst 1i Warunek false Inst_1 META Składnia i semantyka operacyjna Pascala -7- Instrukcja pętli while–do START true hInst whilei ::= while hWaruneki do hInst 1i Warunek false Inst_1 META Składnia i semantyka operacyjna Pascala -8- Instrukcja pętli repeat–until START Ciag_Inst hInst repeati ::= repeat hCiag Insti true Warunek false until hWaruneki META Składnia i semantyka operacyjna Pascala -9- Instrukcja pętli for–do hInst fori ::= for hzmiennai := hwyr 1i to hwyr 2i do hInsti jest równoważne hzmiennai := hwyr 1i – 1; while hzmiennai < hwyr 2i do begin hzmiennai := hzmiennai + 1; hInsti end Składnia i semantyka operacyjna Pascala -10- Algorytm Euklidesa START true true m := m − n m>n m <> n false false n := n − m META Składnia i semantyka operacyjna Pascala -11- Algorytm Euklidesa START true Inst while m <> n do hInsti true m := m − n m>n m <> n false false n := n − m META Składnia i semantyka operacyjna Pascala -12- Algorytm Euklidesa START true while m <> n do if m > n then hInst 1i else true Inst_1 m := m − n m>n m <> n false false Inst_2 n := n − m hInst 2i META Składnia i semantyka operacyjna Pascala -13- Algorytm Euklidesa START true while m <> n do if m > n then true m := m - n else m := m − n m>n m <> n false false n := n − m n := n - m META Składnia i semantyka operacyjna Pascala -14- Pętla while–do a if START true START Warunek false Inst_1 true Warunek false true Inst_1 Warunek false Inst_1 META META Składnia i semantyka operacyjna Pascala -15- Pętla while–do a if if hwaruneki then begin while hwaruneki do hInst 1i hInst 1i ; == while hwaruneki do hInst 1i end Składnia i semantyka operacyjna Pascala -16-