You are on page 1of 6

Programare procedurala M8

Semantica Limbajului C

G. ALBEANU
http://www.researcherid.com/rid/H-4522-2011

Versiunea 2013

Grigore ALBEANU, Programare Procedurala,


M8

Importanta semanticii LP
Semantica LP
- De ce avem nevoie si de semantica LP?
Pentru ca dorim o specificare clara si neambigua a unui program
intr-un LP
De obicei se elaboreaza manuale descriptive:
- Algol 60 report ~16 pagini
- LISP 1.5 Programmers manual ~100 pagini
- Scheme report ~50 pagini (incl. def. semanticii)
- ANSI C K&R book ~272 pagini
- ANSI C++ standard ~740 pagini
- Ce parere aveti?
x=1;
x = ++x + x++;
Care este valoarea finala a lui x?
Versiunea 2013

Grigore ALBEANU, Programare Procedurala, M8

Un exemplu foarte simplu!

Versiunea 2013

Grigore ALBEANU, Programare Procedurala, M8

Diferite abordari ale semanticii LP

















Denotational semantics
D. Scott & C. Strachey
Structured Operational semantics
G. Plotkin
Axiomatic semantics
R. Floyd and C.A.R. Hoare
Floyd-Hoare logic
E. Dijsktras predicate transformers
Action Semantics
Peter Mosses
Algebraic Semantics
J. Goguen, M.Arbib & E. Manes
Ad hoc semantics
Ceilalti

Versiunea 2013

Grigore ALBEANU, Programare Procedurala, M8

Semantica limbajului C
 Gurevich & Huggins (GH)








Abstract State Machines


(evolving algebras)
Cook, Cohen & Redmond
(CCR) Semantica
denotationala folosind
logica temporala
Cook & Subramanian (CS)
- theorem prover Nqthm
Norrish (No) HOL
theorem proving
Papaspyrou (Pa)
Semantica denotationala
Blazy & Leroy (BL)
Semantica operationala
Ellison & Rosu () - Term
Rewriting (Rewriting Logic)

Versiunea 2013

Grigore ALBEANU, Programare Procedurala, M8

Bibliografie
 https://github.com/kframework/c-semantics
 https://code.google.com/p/c





semantics/downloads/detail?name=2012-CSemantics-Ellison-Rosu-POPL.pdf
https://code.google.com/p/c-semantics/
Chucky Ellison. A Formal Semantics of C with
Applications. PhD Thesis.
http://fsl.cs.uiuc.edu/pubs/ellison-2012-thesis.pdf
Chucky Ellison and Grigore Rosu. An Executable
Formal Semantics of C with Applications. POPL'12.
http://fsl.cs.uiuc.edu/pubs/ellison-rosu-2012-popl.pdf
http://fsl.cs.illinois.edu/index.php?title=K_Publications
Slides: http://fsl.cs.uiuc.edu/pubs/ellison-2012defense.pdf

Versiunea 2013

Grigore ALBEANU, Programare Procedurala, M8

You might also like