Toggle menu
309,3 tis.
63
18
533,7 tis.
Hrvatska internetska enciklopedija
Toggle preferences menu
Toggle personal menu
Niste prijavljeni
Your IP address will be publicly visible if you make any edits.

Operacijska semantika

Izvor: Hrvatska internetska enciklopedija

U računarstvu, operacijska semantika je način davanja značenja računalnim programima na matematički rigorozan način.

Operacijska semantika općenito koristi neki apstraktni stroj poput interpretera za definiciju jezika. Ovaj stroj je apstraktan u smislu da koristi terme jezika kao svoj strojni kod. Za jednostavne jezike, stanje stroja je jednostavno term, i ponašanje stroja je definirano funkcijom prijelaza koja, za svako stanje, ili daje sljedeće stanje, ili obavlja korak pojednostavljenja terma, ili kaže da se stroj zaustavio. Značenje terma t se može uzeti kao kao konačno stanje stroja sa t kao inicijalnim stanjem.

Evaluacijska povijest je slijed internih konfiguracija interpretera. Značenje programa u jeziku je evaluacijska povijest koju interpreter producira prilikom evaluacije programa.

Nedostatak operacijske semantike jest u tome što se program može shvatiti samo kao slijed konfiguracija interpretera – ne postoji strojno-neovisna definicija. Također je problem i u samom interpreteru, koji je predstavljen kao algoritam, obično poprilično složen za netrivijalne jezike, a nerijetko složen kao i sam jezik kojeg definira.

Strukturalna operacijska semantika jest ona maloprije opisanog oblika - u kojem se term evaluira u malim koracima. U prirodnoj semantici se koristi veliki korak, u kojem jedan prijelaz apstraktnog stroja evaluira term u u konačni rezultat.

Prvi dana operacijska semantika jest ona od lambda računa.


Nedovršeni članak Operacijska semantika koji govori o računarstvu treba dopuniti. Dopunite ga prema pravilima uređivanja Hrvatske internetske enciklopedije.