SYNTAX


In computer science, SYNTAX is a system used to generate lexical and syntactic analyzers for all kinds of context-free grammars as well as some classes of contextual grammars. It has been developed at INRIA for several decades, mostly by Pierre Boullier, but has become free software since 2007 only. SYNTAX is distributed under the CeCILL license.

Context-free parsing

SYNTAX handles most classes of deterministic grammars, and is currently used both in the domain of compilation. The non-deterministic features include an Earley parser generator used for natural language processing. Parsers generated by SYNTAX include powerful error recovery mechanisms, and allow the execution of semantic actions and attribute evaluation on the abstract tree or on the shared parse forest.

Contextual parsing

The current version of SYNTAX includes also parser generators for other formalisms, used for natural language processing as well as bio-informatics. These formalisms are context-sensitive formalisms.

Error recovery

A nice feature of SYNTAX is its built-in algorithm for automatically recovering from lexical and syntactic errors, by deleting extra characters or tokens, inserting missing characters or tokens, permuting characters or tokens, etc. This algorithm has a default behaviour that can be modified by providing a custom set of recovery rules adapted to the language for which the lexer and parser are built.