Metakieli
Metakieli on logiikassa ja kielitieteessä kieli, jota käytetään silloin, kun kieli itsessään on tutkimuskohteena. Metakielen avulla voidaan esittää väitteitä tutkimuskohteena olevasta kielestä eli objektikielestä. Esimerkiksi logiikassa metaloogiset väitteet jostakin objektikielestä muotoillaan metakielellä ja todistetaan metakielen avulla suoritetulla päättelyllä.[1]
Metakielenä voidaan käyttää esimerkiksi jotain luonnollista kieltä (kuten suomen kieltä). Metakieliset ilmaisut erotetaan objektikielisistä esimerkiksi sijoittamalla objektikieliset ilmaisut lainausmerkkeihin.[1]
Esimerkkejä
[muokkaa | muokkaa wikitekstiä]Metakielinen lause
- '' on propositiolause, jossa on kolme symbolia.
esittää väittämän propositiologiikan kielellä ilmaistusta objektikielen lauseesta.[1]
Metakielinen lause
- 'Kissa söi kesävoin' koostuu 16 kirjaimesta.
esittää väittämän suomenkielisestä objektikielen lauseesta.
Metakielenä kummassakin esimerkissä on suomen kieli.
Tietojenkäsittelyssä ja tietotekniikassa
[muokkaa | muokkaa wikitekstiä]Tietojenkäsittelyssä ja tietotekniikassa metakieli on täsmäkieli ohjelmien generoimiseen tai muuntamiseen.[2] Metakieltä käytetään metaohjelmoinnissa ja ohjelmointikielien kuvailemiseen.[3] Backus–Naur-muoto (BNF) on yksi metakieli.[4] BNF-muotoa voidaan käyttää kääntäjän kääntäjän kuten Yacc-ohjelman kanssa.[5]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ a b c Sider, Theodore: Logic for Philosophy, s. 4–5, 266. Oxford: Oxford University Press, 2010. ISBN 978-0-19-957558-9 (englanniksi)
- ↑ Todd Veldhuizen: Tradeoffs in Metaprogramming (PDF) citeseerx.ist.psu.edu. 10.1.2006. Viitattu 5.10.2019. (englanniksi)
- ↑ Todd L. Veldhuizen: Tradeoffs in Metaprogramming (PDF) arxiv.org. Viitattu 5.10.2019. (englanniksi)
- ↑ Robert D. Cameron: Grammatical Description of Syntax: The BNF Metalanguage cs.sfu.ca. 7.1.2002. Viitattu 5.10.2019. (englanniksi)
- ↑ Yacc/Bison cs.ccu.edu.tw. Viitattu 10.2.2020. (englanniksi)