Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta.

Samankaltaiset esitykset


Esitys aiheesta: "Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta."— Esityksen transkriptio:

1 Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta

2 Ohjelmointikielten kääntäminen ● Korkean tason kielellä kirjoitetun ohjelman kääntäminen koneen ymmärtämään muotoon. ● Jokainen korkean tason kielellä kirjoitettu käsky käännetään yhdeksi tai useammaksi konekieliseksi käskyksi ● Menetelmät: – Tulkinta – Kääntäminen

3 Syntaksin määrittely ● Ohjelma on johonkin merkkivalikoimaan kuuluvien merkkien jono ● Syntaktiset säännöt kertovat, minkälaiset merkkijonot ovat jonkin ohjelmointikielen ohjelmia ● Kielen syntaksi on tarvittavien syntaktisten sääntöjen kokoelma

4 Kieliopit ● Syntaksin määrittelyyn käytetään kielioppia ● Kielioppi on joukko sääntöjä, jotka kertovat kielen symbolien laillisen käytön ● Ohjelma muodostetaan käyttäen kieliopin sääntöjä ● Ohjelmointikielten syntaksi kuvataan usein yhteysvapaalla kieliopilla (context-free grammar)

5 Yhteysvapaan kieliopin osat ● Päätesymbolit – terminaalit ● Välisymbolit – nonterminaalit ● Alkusymboli ● Produktiosäännöt

6 Syntaksikaavio

7 Jäsennyspuu

8 Kääntäjän toiminta ● Kääntäjä muuttaa korkean tason kielellä kirjoitetun ohjelman konekielelle 1.Selaaminen – leksikaalinen analyysi 2.Jäsentäminen – Syntaktinen analyysi 3.Koodin generointi Tekstialkioiden lista Lähdekielin en ohjelma SelausJäsennys Jäsennyspuu Koodin generointi Kohdekielinen ohjelma

9 Selaaminen ● Tunnistaa yhteen tekstialkioon kuuluvat merkit ● Selvittää tekstialkion tyypin ● Tekstialkiot ovat päätesymboleita – Varattu sana – Operaattori – Välimerkki – Tunnus – Luku- tai merkkivakio ● Tunnukset synbolitauluun

10 Jäsentäminen ● Selvitetään syntaktinen rakenne jäsennyspuuhun — Osittava – top-down — Kokoava – bottom-up

11 Koodin generointi ● Selvitetään syntaktinen rakenne jäsennyspuuhun ● Syntaktisen analyysin jälkeen tuotetaan konekielinen ohjelma — Muistin varaaminen — Konekäskyjen muodostaminen — Koodin optimointi

12 Muistin varaaminen ● Varataan muisti muuttujien arvoille ● Liitetään muistiosoitteet 254... 253 249 245 osoite 1merkki 4kok.lukuarvo 4kok.lukusumma kokotyyppitunnus summa= arvo+1 merkki=’a’

13 Konekäskyjen muodostaminen ● Symbolisen konekielikoodin luominen jäsennyspuusta Käännösmoduuli: MODULE asetuslause(x, y, o, z) tulosta LOAD y CASE o of '+' : tulosta ADD z '-' : tulosta SUBTRACT z '*' : tulosta MULTIPLY z '/' : tulosta DIVIDE z ENDCASE tulosta STORE x ENDMODULE x = y + z = +=+= Tunnus X Y Z LOAD y ADD z STORE x

14 Optimointi ● Suorassa käännöksessä konekieliseen koodiin jää turhia/ylimääräisiä palasia ● Muutetaan koodi koneen kannalta tehokkaampaan muotoon LOAD Y ADD Z STORE X LOAD X MULTIPLY A STORE B LOAD Y ADD Z MULTIPLY A STORE B


Lataa ppt "Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta."

Samankaltaiset esitykset


Iklan oleh Google