Everipedia Logo
Everipedia is now IQ.wiki - Join the IQ Brainlist and our Discord for early access to editing on the new platform and to participate in the beta testing.
SYNTAX

SYNTAX

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

SYNTAX
Developer(s)INRIA
TypeGenerator
LicenseCeCILL
Websitesyntax.gforge.inria.fr [7]

Context-free parsing

SYNTAX handles most classes of deterministic (unambiguous) grammars (LR, LALR, RLR as well as general context-free grammars. The deterministic version has been used in operational contexts (e.g., Ada[1]), and is currently used both in the domain of compilation.[2] The non-deterministic features include an Earley parser generator used for natural language processing.[3] 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 (version 6.0 beta) includes also parser generators for other formalisms, used for natural language processing as well as bio-informatics. These formalisms are context-sensitive formalisms (TAG, RCG or formalisms that rely on context-free grammars and are extended thanks to attribute evaluation, in particular for natural language processing (LFG).

Error recovery

A nice feature of SYNTAX (compared to Lex/Yacc) is its built-in algorithm[4] 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.

References

[1]
Citation Linkarchive.adaic.comThe first tool-translator for the ADA language has been developed with SYNTAX by Pierre Boullier and others, as recalled in this page on the history of ADA. See also Pierre Boullier and Knut Ripken. Building an Ada compiler following meta-compilation methods. In Séminaires Langages et Traducteurs 1978-1981, pages 99-140. INRIA, Rocquencourt, France, 1981.
Sep 20, 2019, 3:21 PM
[2]
Citation Linkvasy.inria.frE.g., by the VASY team at INRIA, in particular for the development of CADP and Traian.
Sep 20, 2019, 3:21 PM
[3]
Citation Linkatoll.inria.frE.g., in the SxLFG parser, whose first version is described in this paper.
Sep 20, 2019, 3:21 PM
[4]
Citation Linkopenlibrary.orgPierre Boullier and Martin Jourdan. A New Error Repair and Recovery Scheme for Lexical and Syntactic Analysis. Science of Computer Programming 9(3): 271-286 (1987).
Sep 20, 2019, 3:21 PM
[5]
Citation Linksyntax.gforge.inria.frSYNTAX web site
Sep 20, 2019, 3:22 PM
[6]
Citation Linkvasy.inria.frPaper on the construction of compilers using SYNTAX and TRAIAN (Compiler Construction'02 Conference)
Sep 20, 2019, 3:22 PM
[7]
Citation Linksyntax.gforge.inria.frsyntax.gforge.inria.fr
Sep 20, 2019, 3:22 PM
[8]
Citation Linkarchive.adaic.compage on the history of ADA
Sep 20, 2019, 3:22 PM
[9]
Citation Linkvasy.inria.frVASY
Sep 20, 2019, 3:22 PM
[10]
Citation Linkcadp.inria.frCADP
Sep 20, 2019, 3:22 PM
[11]
Citation Linkvasy.inria.frTraian
Sep 20, 2019, 3:22 PM
[12]
Citation Linkatoll.inria.frthis paper
Sep 20, 2019, 3:22 PM
[13]
Citation Linksyntax.gforge.inria.frSYNTAX web site
Sep 20, 2019, 3:22 PM
[14]
Citation Linkvasy.inria.frPaper on the construction of compilers using SYNTAX and TRAIAN (Compiler Construction'02 Conference)
Sep 20, 2019, 3:22 PM
[15]
Citation Linken.wikipedia.orgThe original version of this page is from Wikipedia, you can edit the page right here on Everipedia.Text is available under the Creative Commons Attribution-ShareAlike License.Additional terms may apply.See everipedia.org/everipedia-termsfor further details.Images/media credited individually (click the icon for details).
Sep 20, 2019, 3:22 PM