Check out my first novel, midnight's simulacra!
Programming languages: Difference between revisions
From dankwiki
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
==Formal Semantics== | ==Formal Semantics== | ||
* 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== |
Latest revision as of 10:30, 7 September 2009
Formal Semantics
- Denotational semantics -- map 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
- Paaki's 1995 survey, Attribute Grammar Paradigms -- A High-Level Methodology in Language Implementation.