Loading article…
CINT は、元々はオブジェクト指向データ分析パッケージROOTに含まれていたコマンドラインC / C++インタプリタです。[ 1 ] ROOT の他の機能と併用することを想定していますが、CINT は、このようなインタプリタを必要とする他のプログラムにスタンドアロンで追加することもできます。2013 年にCERN がCling C++ インタプリタに切り替えたため、CINT は現在、作者によってスタンドアロンで配布されています。[ 2 ] [ 3 ]
CINTは、 BeanShellがJavaのインタプリタ版であるのと同様に、C/C++のインタプリタ版です。言語インタプリタであることに加えて、履歴やタブ補完など、Bashのようなシェル機能も提供します。後者を実現するために、 ROOTに組み込まれているリフレクション機能に大きく依存しています。これらのインターフェースに従うユーザークラスも、これらの機能を利用できます。
CINT が元々解釈していた言語は、実際には C と C++ のハイブリッドのようなもので、ANSI C の約 95% と C++ の約 85% をカバーしていました。[ 4 ]ただし、構文はどちらの言語よりも少し寛容です。たとえば、演算子はオプションの警告だけで->に置き換えることができます.。さらに、コマンドラインのステートメントはセミコロンで終わる必要はありませんが、マクロ内のステートメントではセミコロンが必要です。
CINT の代替として、ROOT はC++ JIT コンパイル環境としてLLVMのClangを使用するREPLアプリケーションである Cling も提供しています。 [ 5 ]この取り組みはclang-replにアップストリームされています。