Cargando…

Cling: The new interactive interpreter for ROOT 6

Cling is an interactive C++ interpreter, built on top of Clang and LLVM compiler infrastructure. Like its predecessor Cint, Cling realizes the read-print-evaluate-loop concept, in order to leverage rapid application development. Implemented as a small extension to LLVM and Clang, the interpreter reu...

Descripción completa

Detalles Bibliográficos
Autores principales: Vasilev, V, Canal, Ph, Naumann, A, Russo, P
Lenguaje:eng
Publicado: 2012
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/396/5/052071
http://cds.cern.ch/record/1530493
_version_ 1780929569778302976
author Vasilev, V
Canal, Ph
Naumann, A
Russo, P
author_facet Vasilev, V
Canal, Ph
Naumann, A
Russo, P
author_sort Vasilev, V
collection CERN
description Cling is an interactive C++ interpreter, built on top of Clang and LLVM compiler infrastructure. Like its predecessor Cint, Cling realizes the read-print-evaluate-loop concept, in order to leverage rapid application development. Implemented as a small extension to LLVM and Clang, the interpreter reuses their strengths such as the praised concise and expressive compiler diagnostics. We show how to match the interpreter concept to the compiler library and generalize common set of requirements for building up an interactive interpreter. We reason the design and implementation decisions as solution to the challenge of implementing interpreter behaviour as an extension of the compiler library. We present the new features, e.g. how C++11 will come to Cling and how Cint-specific extensions are being adopted. We clarify the state of integration in the ROOT framework and the induced change set. We explain how ROOT dictionaries are simplified due to the new interpreter.
id cern-1530493
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2012
record_format invenio
spelling cern-15304932022-08-17T13:32:14Zdoi:10.1088/1742-6596/396/5/052071http://cds.cern.ch/record/1530493engVasilev, VCanal, PhNaumann, ARusso, PCling: The new interactive interpreter for ROOT 6Computing and ComputersCling is an interactive C++ interpreter, built on top of Clang and LLVM compiler infrastructure. Like its predecessor Cint, Cling realizes the read-print-evaluate-loop concept, in order to leverage rapid application development. Implemented as a small extension to LLVM and Clang, the interpreter reuses their strengths such as the praised concise and expressive compiler diagnostics. We show how to match the interpreter concept to the compiler library and generalize common set of requirements for building up an interactive interpreter. We reason the design and implementation decisions as solution to the challenge of implementing interpreter behaviour as an extension of the compiler library. We present the new features, e.g. how C++11 will come to Cling and how Cint-specific extensions are being adopted. We clarify the state of integration in the ROOT framework and the induced change set. We explain how ROOT dictionaries are simplified due to the new interpreter.oai:cds.cern.ch:15304932012
spellingShingle Computing and Computers
Vasilev, V
Canal, Ph
Naumann, A
Russo, P
Cling: The new interactive interpreter for ROOT 6
title Cling: The new interactive interpreter for ROOT 6
title_full Cling: The new interactive interpreter for ROOT 6
title_fullStr Cling: The new interactive interpreter for ROOT 6
title_full_unstemmed Cling: The new interactive interpreter for ROOT 6
title_short Cling: The new interactive interpreter for ROOT 6
title_sort cling: the new interactive interpreter for root 6
topic Computing and Computers
url https://dx.doi.org/10.1088/1742-6596/396/5/052071
http://cds.cern.ch/record/1530493
work_keys_str_mv AT vasilevv clingthenewinteractiveinterpreterforroot6
AT canalph clingthenewinteractiveinterpreterforroot6
AT naumanna clingthenewinteractiveinterpreterforroot6
AT russop clingthenewinteractiveinterpreterforroot6