A description of the behavior of a translator for the language (e.g., the C++ and Fortran specifications). The syntax and semantics of the language have to be inferred from this description, which may be written in natural or a formal language.
A reference or model implementation, sometimes written in the language being specified (e.g., Prolog or ANSI REXX[56]). The syntax and semantics of the language are explicit in the behavior of the reference implementation.