The Syntax Parser (available on GitHub here) is a simple Java application to parse a simple language similar to Ada.

The task was to implement a syntax analyser (SA) for this language using a recursive descent parser. The analyser’s sole function was make sure a user’s source program is syntactically correct, and the SA had to generate appropriate and helpful error messages where required. The SA had to terminate on encountering and reporting the first error. To be more precise, we were expected to build a Syntax Recogniser as its purpose to recognise its input as a valid sentence in the language specified by the grammar. The task was to implement part of a compiler for this language using a recursive descent parser.

The full coursework description can be found here.