Syntax
?::= (e) | a | b | c |...
Note: This specifies that a + (b*c) should be parsed as a+(b*c)
The sequence of the rules gives the operators = , *, (), in increasing
Abstract: loses this information
e ::= e + e | e * e | a | b | c| …
Denotational semantics are based ion abstract syntax. It is assumed
that there exists a concrete syntax and a parser and that the abstract
syntax is the result of the parser.