Syntax and semantics
Work on the parsing of artificial languages has achieved considerable success in understanding the alternatives for syntax. The most useful methods for specifying grammars have been identified, and algorithms for constructing parse trees have been carefully studied. This generality has benefited the engineering side of language design by providing widely-used tools for the construction of quality lexers and parsers automatically from specifications of the tokens and grammar of a language.
The semantic side of language design is now the primary challenge. The development of abstractions for describing the range of possibilities for the semantics of languages has been much harder to achieve than the corresponding development for syntax. Many semantic frameworks have been developed, but there is no universal acceptance of any particular approach.