Formālās valodas

Last modified by superadmin on 2018-01-12 20:38

Formālās valodas

Šajā apakšnodaļā centīsimies dot atbildi uz jautājumu: Kas ir valoda?

  • Alfabēts Sigma={...} ir galīga netukša simbolu kopa. (Piemēram, Javas programmas parasti raksta ar ASCII simboliem.)
    • Vārds ir jebkura simbolu virknīte kādā alfabētā. Alfabēta Sigma visu vārdu kopu apzīmē ar Sigma*. (Šajā matemātiskajā izpratnē "vārds" var būt kaut kas daudz lielāks, nekā ikdienas izpratnē - arī pilnu programmas tekstu mēs uzskatām par "vārdu".)
    • Valoda alfabētā Sigma ir vienalga kāda Sigma*
    apakškopa, t.i. par katru vārdu alfabētā Sigma varam pateikt, vai tas pieder valodai, vai nē. (Mūs interesēs, piemēram, kā aprakstīt to valodu, kuras vārdi ir visas sintaktiski pareizās programmas valodā Java.)

Alfabētu un valodu piemēri

  • Heksadecimālo ciparu alfabēts: Sigma={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.</li>
  • Heksadecimālie vārdi: visi vārdi, kurus var pierakstīt ar 0,1,2,3, utt. heksadecimālajiem cipariem, piemēram "", "0", "1", ..., "F", "00", ..., "FF", .... (Pēdiņas nepieder pie vārda, tās tikai norobežo vārdu no abām pusēm.)
  • Tukšais vārds: jebkurā alfabētā ir vārds ar garumu 0, kurā nav neviena burta, valodā Java to pieraksta "".
  • Tukšā valoda: šajā valodā nav neviena vārda. (Ievērojiet, ka tas nav tas pats, kas valoda, kurā ir viens vārds - tukšais vārds.)
  • Valoda no visiem 4-burtu heksadecimālajiem vārdiem {"0000",...,"FFFF"} - ar šo apraksta unikoda burtus.
  • Latviešu leksikas valoda: pieraksta alfabētā {a,ā,...,z,ž}. Satur visus vārdus, kuri ir kādā latviešu valodas vārdnīcā un arī to visas locījumu formas.
  • Latviešu teikumu valoda: pieraksta alfabētā, kas satur latviešu burtus un pieturzīmes. Satur visas simbolu virknītes, kas ir gramatiski pareizi latviešu valodas vārdi. (Šādu valodu būtu ļoti grūti definēt precīzi.)
  • Sintaktiski pareizo Javas programmu valoda: pieraksta ar ASCII simboliem, satur visas simbolu virknes, kuras ir kompilējami Javas izejas teksti. (Šāda valoda ir drusku atkarīga no izmantojamām bibliotēkām, bet to var precizēt.)
Tags:
Created by Kalvis Apsītis on 2008-05-01 23:38
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation