Sintaksa razmeroma neproblematično



Yüklə 458 b.
tarix13.11.2017
ölçüsü458 b.



Sintaksa - razmeroma neproblematično

  • Sintaksa - razmeroma neproblematično

    • Gramatike
    • BNF zapis
    • Sintaksni diagrami
  • Semantika - bolj problematično

  • Številni pristopi

    • Atributne gramatike
    • Prevajalska semantika
    • Operacijskasemantika
    • Denotacijska semantika
    • Aksiomatska semantika
    • Naravna semantika (natural semantics)


Neterminalni simboli gramatike: dodamo atribute

  • Neterminalni simboli gramatike: dodamo atribute

  • Atributi so nosilci pomena

  • Npr. DCG v prologu (Definite Clause Grammar)

  • Definiranje pomena naravnega jezika v DCG



Prevajalska semantika = Translational semantics

  • Prevajalska semantika = Translational semantics

  • Program P0 v jeziku L0

  • Program P1 v jeziku L1

  • Pomen P0 = P1, pri čemer P1 da enake rezultate kot P0



Prednost: prevajalsak semantika pokaže, kako naj bo narejen prevajalnik za P0



Semantika je interpreter za jezik L0

  • Semantika je interpreter za jezik L0

  • Program P0 v L0

  • Podatki Operacijska semantika Rezultati P0

  • Prednosti:

    • Daje intuitiven opis jezika (kaj naredijo posamezni konstrukti jezika?)
    • Privlačno za programerja - semantika (interpreter) = algoritem
    • Prototipno programiranje, izvedljiva specifikacija
  • Slabost: Omejitve, ki sledijo iz konkretne implementacije (računalnik in jezik interpreterja)



Pomen programa so matematični objekti v semantični domeni”programa

  • Pomen programa so matematični objekti v semantični domeni”programa

  • Semantična domena odvisna od tematike programa

  • Semantične funkcije preslikajo sintaksno strukturo programa v semantično domeno

  • Denotacijski princip definiranja semantičnih funkcij: pomen celote je kombinacija pomenov sestavnih delov



Sintaktična domena: binarna števila B

  • Sintaktična domena: binarna števila B

  • Semantična domena: naravna števila N

  • Semantična funkcija num: B N

  • Sintaksa

  • B ::= 0 | 1 | B 0 | B 1

  • Semantična funkcija

  • num [ 0 ] = 0, num [ 1 ] = 1

  • num [ B 0 ] = 2 * num [ B ]

  • num [ B 1 ] = 2 * num [ B ] + 1



  • Program Matematični objekt (običajno funkcija)

  • Pomen

  • x z

  • Program

  • y = Pomen [ Program ] ( x )

  • Pomen [ Program ] : X Y

  • Oglati oklepaji - sintaktični argumenti; Pomen[ Program ]





Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2019
rəhbərliyinə müraciət

    Ana səhifə