Descriere
Sumar
Despre autori
Volum în limba engleză. Această carte prezintă cadrul definiţional K, un cadru definiţional semantic şi executabil inspirat din logica rescrierii, dar specializat şi optimizat pentru definirea limbajelor de programare. Prin conţinutul său, această carte se adresează celor interesaţi în definirea şi proiectarea limbajelor de programare, oferind atât o introducere în metodele de bază privind semantica operaţională a limbajelor de programare, cât şi un tutorial avansat pentru definirea de limbaje de programare reale. Principalele contribuţii ale acestei cărţi sunt: (1) o redefinire în logica rescrierii a tehnicilor majore de definire a limbajelor de programare bazate pe semantica operaţională; (2) o privire de ansamblu asupra cadrului definiţional K şi a modului în care el poate fi folosit pentru a defini, extinde şi analiza limbaje de programare; (3) o semantică pentru rescrierea concurentă K obţinută printr-o scufundare în rescrierea bazată pe grafuri; şi (4) un manual al sistemului software K, o platformă pentru definirea limbajelor de programare folosind K, dezvoltată peste limbajul de rescriere Maude.
Capitolul 3 oferă o prezentare uniformă a celor mai populare formalisme pentru definirea semanticii operaţionale a limbajelor de programare: semantica naturală (big-step), semantica operaţională structurată (small-stepSOS), modular SOS, semantica bazată pe contexte de evaluare (Redex) şi maşina chimică abstractă (CHAM). Se arată că fiecare din aceste formalisme poate fi capturat în logica rescrierii prin intermediul unui limbaj simplu. Mai mult, aceste formalisme sunt comparate între ele, fiind subliniate punctele lor forte şi slăbiciunile lor. Materialul prezentat în acest capitol poate sta la baza unui curs introductiv în proiectarea limbajelor de programare. Capitolele 4–7 prezintă cadrul definiţional K, atât din punct de vedere teoretic, explicând fundamentele matematice ale K, cât şi practic, descriind sistemul software K şi cum poate fi el folosit. De asemenea, cititorul este expus în mod direct la tehnicile de definire a elementelor complexe de limbaj folosind K, precum şi la folosirea K pentru execuţia, explorarea şi analiza execuţiilor de programe. Cu excepţia capitolului 6, care prezintă semantica concurenţei în K, materialul prezentat în aceste capitole poate sta la baza unui curs avansat de proiectarea limbajelor de programare, cu accent pe concurenţă, sincronizare şi definirea trăsăturilor complexe de limbaj.
Traian Florin Şerbănuţă (n. 1979, Braşov) este cercetător ştiinţific post-doctoral la Facultatea de Informatică, Universitatea "Alexandru Ioan Cuza" din Iaşi.