<
language, data> A representation of data (typically either a
message passing over a communications link or a program being
compiled) which is independent of machine-oriented structures
and encodings and also of the physical representation of the
data (called "
concrete syntax" in the case of compilation or
"
transfer syntax" in communications).
A
compiler's internal representation of a program will
typically be specified by an
abstract syntax in terms of
categories such as "statement", "expression" and "
identifier".
This is independent of the source
syntax (
concrete syntax)
of the language being compiled (though it will often be very
similar). A
parse tree is similar to an
abstract syntax
tree but it will typically also contain features such as
parentheses which are syntactically significant but which are
implicit in the structure of the
abstract syntax tree.
(1998-05-26)