Model-based parser generators decouple language specification from languageprocessing. The model-driven approach avoids the limitations that conventionalparser generators impose on the language designer. Conventional tools requirethe designed language grammar to conform to the specific kind of grammarsupported by the particular parser generator (being LL and LR parser generatorsthe most common). Model-driven parser generators, like ModelCC, do not requirea grammar specification, since that grammar can be automatically derived fromthe language model and, if needed, adapted to conform to the requirements ofthe given kind of parser, all of this without interfering with the conceptualdesign of the language and its associated applications. Moreover, model-driventools such as ModelCC are able to automatically resolve references betweenlanguage elements, hence producing abstract syntax graphs instead of abstractsyntax trees as the result of the parsing process. Such graphs are not confinedto directed acyclic graphs and they can contain cycles, since ModelCC supportsanaphoric, cataphoric, and recursive references.
展开▼