abstract syntax


abstract syntax

(language, data)A representation of data (typically either amessage passing over a communications link or a program beingcompiled) which is independent of machine-oriented structuresand encodings and also of the physical representation of thedata (called "concrete syntax" in the case of compilation or"transfer syntax" in communications).

A compiler's internal representation of a program willtypically be specified by an abstract syntax in terms ofcategories 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 verysimilar). A parse tree is similar to an abstract syntaxtree but it will typically also contain features such asparentheses which are syntactically significant but which areimplicit in the structure of the abstract syntax tree.