43,134 research outputs found
The ModelCC Model-Driven Parser Generator
Syntax-directed translation tools require the specification of a language by
means of a formal grammar. This grammar must conform to the specific
requirements of the parser generator to be used. This grammar is then annotated
with semantic actions for the resulting system to perform its desired function.
In this paper, we introduce ModelCC, a model-based parser generator that
decouples language specification from language processing, avoiding some of the
problems caused by grammar-driven parser generators. ModelCC receives a
conceptual model as input, along with constraints that annotate it. It is then
able to create a parser for the desired textual syntax and the generated parser
fully automates the instantiation of the language conceptual model. ModelCC
also includes a reference resolution mechanism so that ModelCC is able to
instantiate abstract syntax graphs, rather than mere abstract syntax trees.Comment: In Proceedings PROLE 2014, arXiv:1501.0169
Event Data Definition in LHCb
We present the approach used for defining the event object model for the LHCb
experiment. This approach is based on a high level modelling language, which is
independent of the programming language used in the current implementation of
the event data processing software. The different possibilities of object
modelling languages are evaluated, and the advantages of a dedicated model
based on XML over other possible candidates are shown. After a description of
the language itself, we explain the benefits obtained by applying this approach
in the description of the event model of an experiment such as LHCb. Examples
of these benefits are uniform and coherent mapping of the object model to the
implementation language across the experiment software development teams, easy
maintenance of the event model, conformance to experiment coding rules, etc.
The description of the object model is parsed by means of a so called
front-end which allows to feed several back-ends. We give an introduction to
the model itself and to the currently implemented back-ends which produce
information like programming language specific implementations of event objects
or meta information about these objects. Meta information can be used for
introspection of objects at run-time which is essential for functionalities
like object persistency or interactive analysis. This object introspection
package for C++ has been adopted by the LCG project as the starting point for
the LCG object dictionary that is going to be developed in common for the LHC
experiments.
The current status of the event object modelling and its usage in LHCb are
presented and the prospects of further developments are discussed.Comment: Talk from the 2003 Computing in High Energy and Nuclear Physics
(CHEP03), La Jolla, Ca, USA, March 2003, 7 pages, LaTeX, 2 eps figures. PSN
MOJT00
- …