Programming languages: Difference between revisions

No edit summary
No edit summary
 
Line 1: Line 1:
==Formal Semantics==
==Formal Semantics==
* Attribute grammars, due to Knuth in 1968.
* Denotational semantics -- map [[Theory#Formal_Languages|grammatical elements]] directly to mathematical functions
* Axiomatic semantics -- apply a system of axioms + deduction rules to the grammar
* Operational semantics -- map language constructs to a simple (well-defined) abstract machine
* Attribute grammars (Knuth, 1968) -- extensions of context-free grammars. An attribute grammar ''AG'' consists of:
** a context-free grammar ''G''
** a finite set of attributes ''A''
** a finite set of semantic rules having form R : AG = (''G'', ''A'', R ).
 


==References==
==References==