Cのインタープリターはありますか?[閉まっている]


111

Cのインタープリターのようなものがあるかどうか疑問に思っていました。つまり、Linux端末で「python」と入力して、そのインタープリターでコードを記述できます。(私は正しい言葉を解釈するかわかりません)。これは、さまざまなことをテストするのに非常に役立ちます。Cにも同​​様のものが存在するかどうか知りたいです。私がそれを行うことができると思うことができる唯一のことは、Cシェルでしょう...


5
あなたが望むものの正しい言葉は「シェル」、「プロンプト」、または「REPL」(LispでLispインタープリターを作成するために結合する必要がある4つのLispコマンドを参照するRead-Eval-Print-Loop)ですが、通訳が機能します。
Chris Lutz、

1
余談ですが、探している用語はREPL(Read Evaluate Print Loop)です。
tsimon 2009


優先する単語は、実際にはCの「対話型」環境です。対話型環境は、言語に固有のシェルまたはプロンプトを開きます。REPLも良いです。
jcchuks 2017年

C / C ++のインタープリターとコンパイラーの包括的なリストは、ここにあります:thefreecountry.com/compilers/cpp.shtml
froggsy

回答:


71

多くの問題があります。質問の範囲を絞り込むと、ニーズに合わせていくつか提案できる場合があります。

注目すべきインタプリタは、ドブス博士に詳​​述されている「Ch:AC / C ++ Interpreter for Script Computing」です。

Chは、ISO C90標準のすべての言語機能と標準ライブラリをサポートする完全なCインタプリタですが、Cを拡張して、文字列型や計算配列などの高度な機能をファーストクラスのオブジェクトとして拡張しています。

Ch標準はフリーウェアですが、オープンソースではありません。Chのプロのみが、プロット機能やその他の必要な機能を備えています。

私はこれまでこれまで見たことがありませんが、手元にACインタープリターがあることは非常に便利で、ツールセットに追加する可能性があります。質問ありがとう!


編集:

私のお気に入りのコンパイラの1つであるTCCがCスクリプトを実行することがわかりました。

また、Cスクリプトファイルも処理します(LinuxのCソースコードファイルの最初の行にシバン行 "#!/ usr / local / bin / tcc -run"を追加して直接実行するだけです)。

'infile'の代わりに '-'を使用すると、TCCは標準入力からCソースコードを読み取ることができます。例:

echo 'main(){puts("hello");}' | tcc -run -

2
OSI承認のライセンスに基づいてCHのバージョンが利用可能になり、配布できるようになりました。インタープリターを使用して本当に素晴らしいユーティリティを設計できますが、残念ながら、バンドルするには問題が多すぎます。
Tim Post

それはいいね。フリーウェアは何もないよりはましですが、誰かがそうするまで...
Adam Davis

奇妙なことに、デフォルトtccではステータスで終了し10ます。return 0寄付を明示的に追加する必要があるようですecho 'main(){puts("hello"); return 0;}' | tcc -run -
Gregory Nisbet

18

picoc-非常に小さなCインタプリタ

PicoCは、スクリプト用の非常に小さなCインタープリターです。もともとはUAVの機内飛行システム用のスクリプト言語として書かれていました。また、他のロボット、組み込み、非組み込みアプリケーションにも非常に適しています。


9

ROOTプロジェクトは、Cintと呼ばれる非常に機能的なCおよびC ++インタープリターを提供します。私はそれがとても好きです。ただし、解釈に慣れるには少し時間がかかります。

TCCも非常に良い選択ですが、REPLを保証することはできません


1
ROOTチームはCintを段階的に廃止していませんか?
Zボソン2015

「CERNは、新しいインタプリタにしがみつくのスイッチを持ってCINTはもうCERNによってサポートされていません。」@Zboson
endolith

ROOTはcintをclingに置き換えました。したがって、しがみつくことは更新された推奨事項と考えることができます。(ただし、他の回答を参照してください。clrcはCではなくC ++です。ただし、関連がある場合はiirc cintもC ++を実行しました)
pseyfert


7

Chインタプリタを見てください。

Chは、クロスプラットフォームスクリプト、シェルプログラミング、2D / 3Dプロット、数値計算、および埋め込みスクリプト用の組み込み可能なC / C ++インタープリターです。


6

クラスでCINTを使用していることは知っています。試してみるのもいいかもしれません。




3

cconsは制約を満たすようです:

cconsプロジェクトの目標は、PythonとRubyのそれぞれ「python」と「irb」に似た、Cプログラミング言語のインタラクティブコンソールを作成することです。プロジェクトは、clangとllvmの上に構築されます。





0

CERNにはROOTと呼ばれるツールキットがあり、これは主に科学的分析やデータ分析などを目的としていますが、ClangベースのC / C ++インタープリターと呼ばれていClingます。

彼らは適応する前にCINTと呼ばれるCインタープリターを使用していましたCling。CINTは軽量で、まだダウンロードできるようです。

ウィキペディアのリストの記事を注意深く検索することで、他の記事が見つかるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.