Programming languages: Difference between revisions

No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Formal Semantics==
==Formal Semantics==
Largely taken from Paaki's 1995 survey, ''[http://portal.acm.org/citation.cfm?id=210376.197409 Attribute Grammar Paradigms -- A High-Level Methodology in Language Implementation]''.
* 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==
* Paaki's 1995 survey, ''[http://portal.acm.org/citation.cfm?id=210376.197409 Attribute Grammar Paradigms -- A High-Level Methodology in Language Implementation]''.
 
==See Also==
* [[Theory#Formal_Languages|Formal Languages]]
 
[[Category: CS GRE Prep]]
[[Category: CS GRE Prep]]