Programming languages: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
==Formal Semantics== | ==Formal Semantics== | ||
* Attribute grammars, | * 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== | ||