ManTa 3
FORMAL DESCRIPTION
 | 
The following description of ManTa is inspired in [Meyer90].
It´s used to describe programming languages, and it can be adapted
to ManTa.
The description goes from concrete to abstract and  it's 
composed of:
 
| Concrete syntax | 
The syntax available to user. | 
| Abstract syntax trees | 
An abstract representation of the syntax. | 
| Static semantics | 
Restrictions imposed on abstract syntax tree (and hence on user specifications)
that can´t be captured by the syntax. | 
| Dynamic semantics | 
Intended behavior or meaning of language | 
To specify the dynamic semantics there are different ways:
 
| Operational semantics | 
"which specifies the semantics by providing an abstract interpreter"
[Meyer90]. The rewriting algorithm is shown with some properties. | 
| Denotational semantics | 
"Associates with every programming construct a set of mathematical
functions, defining its meaning" [Meyer90]  | 
| Translational semantics | 
Usually this semantics presents a translation to an easier language. 
In our case, we present a general translation scheme from ManTa to any
programming language and as an example a OCaml code generator.  | 
Although this version of ManTa supports parametric types (or generic
ADT) they won't be fully described here, since the theory for those types
is still under development.