Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

4. Lausekielinen ohjelmointi

Samankaltaiset esitykset


Esitys aiheesta: "4. Lausekielinen ohjelmointi"— Esityksen transkriptio:

1 4. Lausekielinen ohjelmointi

2 Sisällys Konekieli, symbolinen konekieli ja lausekieli.
Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen, tulkinta ja Java.

3 Konekieli ja symbolinen konekieli
Aluksi ohjelmoitiin tietokoneiden sellaisenaan ymmärtämällä konekielellä (machine language), jossa suorittimen komennot ja niiden parametrit esitetään binäärilukuina. Symbolisessa kone-kielessä (assembly language) komennoille on annettu lyhyet nimet. Erästä suoritinta voitaisiin käskeä sijoittamaan akkuun (suorittimen rekisteri) luku yksi seuraavasti: tai LDA #$01. Tällaisten kielten käyttö on vaikeaa ja eikä ohjelmia voi ajaa toisen tyyppisellä suorittimella.

4 Lausekieli Abstraktimpi kieli, hieman luonnollisen kielen kaltainen.
Luonnollisen kielen käyttö ohjelmoinnissa vaikeaa kieliopin monimutkaisuuden sekä lauseiden ja sanojen moniselitteisyyden vuoksi. Lausekielinen ohjelmointi mahdollista rajatun kieliopin ja sanaston sekä kääntäjä- ja tulkkiohjelmien ansiosta. Kielimuurin yli lausekielellä: ... i = i + 1; Lausekieli konekieleksi kääntäjällä ja/tai tulkilla. Ajatus ohjelmaksi. Kasvatetaan laskurimuuttujaa i yhdellä.

5 Lausekieli Sanasto koostuu pääasiassa tunnuksista ja varatuista sanoista. Tunnukset (indentifier) ovat nimiä: esimerkiksi muuttujien ja operaatioiden nimet ovat tunnuksia. Varatut sanat (reserved word) on tavallisesti valittu englannin kielestä, eikä niitä voi käyttää omina tunnuksina. Varattuja sanoja käytetään muun muassa kielen ohjausrakenteiden esittämiseen (esim. if ja while).

6 Lausekieli Ohjelmointi helpompaa ja nopeampaa kuin alkeellisemmilla kielillä. Ohjelmat tyypillisesti suoritinriippumattomia ja hyvin tehtyinä siirrettävissä käyttöjärjestelmien välillä. Ensimmäiset lausekielet esiteltiin jo 1950-luvulla. Muun muassa Basic, Pascal, C, C++ ja Java. Englannin termi “high level language” käännetään usein lausekieleksi ja/tai korkean tason kieleksi. Lausekieliä on kuitenkin eritasoisia: C vs. Java.

7 Lausekielestä konekieleksi
Lausekielestä tuotetaan konekieltä siten, että lausekielinen ohjelma kirjoitetaan tekstitiedostoon ja ohjelma muutetaan konekieliseksi tiedostoksi antamalla tekstitiedosto kääntäjälle. Konekielistä tiedostoa kutsutaan: suoritus- tai ajokelpoiseksi ohjelmaksi tai lyhemmin suoritettavaksi tai ajettavaksi ohjelmaksi tai vielä lyhemmin vain ohjelmaksi tai sovellukseksi. Huomaa, että myös lähdekoodia sanotaan lyhyesti ohjelmaksi. ... i = i + 1; ... käännös

8 Lähdekoodi ja tekstitiedosto
Lausekielinen ohjelma eli lähdekoodi (source code) tallennetaan teksti-tiedostoksi (text file), joka koostuu kirjaimista, numeroista, välimerkeistä ja näkymättömistä ohjausmerkeistä (muun muassa rivinvaihto- ja tabulaattori). Toisinaan rajoitutaan ASCII-merkistöön, joka ei sisällä å-, ö-, ä-, Å-, Ä- ja Ö-merkkejä. Tekstitiedostot ovat käytännössä aina ihmisen luettavassa muodossa. Lähdekoodiin ei voi sijoittaa tekstin muotoiluja (lihavointi, kursivointi yms.) tai kuvia.

9 Tekstieditorit Tekstitiedostoja tehdään yksinkertaisilla tekstin-käsittelyohjelmilla eli tekstieditoreilla. Kurssilla riittää editori, joka osaa näyttää rivinumeron. Esimerkiksi Notepad (Windows) tai nano (UNIX). Kurssin kotisivuilla linkkejä parempiin editoreihin. Notepad++:lle (Windows) myös joitakin käyttöohjeita. Laajempien ohjelmien tekoon löytyy ohjelmointi-ympäristöjä (esimerkiksi Eclipse). Microsoft Word -ohjelma ei ole tarkoitettu ohjelmointiin vaan monipuoliseen tekstinkäsittelyyn. Aloittelevan ohjelmoijan ei kannata edes yrittää kirjoittaa ohjelmia Wordillä!

10 Kääntäminen ja tulkinta
Ihminen ymmärtää lausekielistä lähdekoodia, mutta tietokoneelle koodi on liian monimutkaista. Koodi onkin muutettava tietokoneen ymmärtämään muotoon, konekieliseksi tiedostoksi. Kieliraja voidaan ylittää luonnollisen kielen tapaan lähdekoodia konekieleksi kääntämällä (compile) ja tulkitsemalla (interpret). Konekieli on ihmiselle käsittämätöntä, mutta tämä ei ole ongelma, koska yleensä konekieltä ei tarvitse muuttaa takaisin lausekieleksi.

11 Kääntäminen ja tulkinta
Kääntäjäohjelma muuttaa lähdekoodin suoraan suoritettavaksi ohjelmaksi. Tulkittavan kielen lähdekoodi suoritetaan erillisellä ohjelmalla eli tulkilla, joka muuttaa ajonaikaisesti lähdekoodin konekieleksi. lähdekoodi lähdekooditiedosto käännös tulkinta suoritus konekieli konekielinen tiedosto

12 Kääntäminen ja tulkinta
Ohjelman oltava kieliopillisesti oikein, jotta tulkkaus tai kääntäminen onnistuisi: Kielioppivirheistä ilmoitetaan yleensä virheen tyyppi ja rivi, jolta virhe löytyi. Käännetty koodi on yleensä tulkattavaa koodia nopeampaa, mutta tulkattavalla kielellä on helpompi tehdä pieniä testejä. Käännettäviä lausekieliä ovat esimerkiksi Pascal, C ja C++ ja tulkattavia kieliä muun muassa Basic.

13 Kääntäminen, tulkinta ja Java
Javassa voimme nauttia sekä kääntämisestä että tulkkauksesta. Lähdekoodi käännetään ensin tavukoodiksi (bytecode). Tavukoodi suoritetaan tulkin avulla virtuaali-koneessa (virtual machine). lähdekoodi lähdekooditiedosto käännös tulkinta suoritus tavukoodi konekieli tavukooditiedosto

14 Kääntäminen, tulkinta ja Java
Tavukoodin ansiosta Java-sovellukset ovat siirrettäviä. Samaa tavukoodia voidaan ajaa kaikkialla missä on tarjolla virtuaalikone: Intel- ja SPARC-suorittimet, Windows, Linux, UNIX, tietokone, video, pesukone, kännykkä jne. Tavukoodi voidaan edelleen kääntää ajettavaksi ohjelmaksi, jolloin ohjelma kuitenkin sidotaan tiettyyn ympäristöön.


Lataa ppt "4. Lausekielinen ohjelmointi"

Samankaltaiset esitykset


Iklan oleh Google