C 통역사가 있습니까? [닫은]


111

C 용 인터프리터와 같은 것이 있는지 궁금합니다. 즉, Linux 터미널에서 "python"을 입력 한 다음 해당 인터프리터에서 코드를 작성할 수 있습니다. (통역사가 올바른 단어를 잘 모르겠습니다). 이것은 다른 것을 테스트하는 데 정말 도움이되며 C에도 비슷한 것이 있는지 궁금합니다. 의심 스럽지만. 내가 그것을 할 것이라고 생각할 수있는 유일한 것은 C 쉘일 것입니다 ...


5
원하는 단어는 "shell", "prompt"또는 "REPL"입니다 (Lisp에서 Lisp 인터프리터를 만들기 위해 결합해야하는 4 개의 Lisp 명령과 관련하여 Read-Eval-Print-Loop). 통역사가 작동합니다.
Chris Lutz

1
제쳐두고 찾고있는 용어는 REPL (Read Evaluate Print Loop)입니다.
tsimon


선호되는 단어는 실제로 C의 "대화 형"환경입니다. 대화 형 환경은 언어에 특정한 쉘 또는 프롬프트를 엽니 다. REPL도 좋습니다.
jcchuks

C / C ++ 용 인터프리터 및 컴파일러의 포괄적 인 목록은 여기에서 찾을 수 있습니다. thefreecountry.com/compilers/cpp.shtml
froggsy

답변:


71

많은있다 - 당신은 당신의 질문의 범위를 좁힐 경우 우리는 여러분의 필요에 몇 가지 구체적인 제안 할 수 있습니다.

주목할만한 통역사는 Dr. Dobbs에 자세히 설명 된 " Ch : AC / C ++ Interpreter for Script Computing "입니다.

Ch는 ISO C90 표준의 모든 언어 기능과 표준 라이브러리를 지원하는 완전한 C 인터프리터이지만 문자열 유형 및 컴퓨팅 배열과 같은 많은 고급 기능으로 C를 확장합니다.

Ch 표준은 프리웨어 이지만 오픈 소스 아닙니다. Ch professional만이 원하는 플로팅 기능과 기타 기능을 갖추고 있습니다.

나는 전에 이것을 본 적이 없지만, 손에 ac 인터프리터가 있으면 매우 유용하게 들리며 내 도구 세트에 추가 할 것 같다. 질문 주셔서 감사합니다!


편집하다:

내가 가장 좋아하는 컴파일러 중 하나 인 TCC 가 C 스크립트를 실행 한다는 사실을 방금 알게되었습니다 .

또한 C 스크립트 파일을 처리합니다 (Linux에서 C 소스 코드 파일의 첫 번째 줄에 shebang 줄 "#! / usr / local / bin / tcc -run"을 추가하면 직접 실행됩니다.

TCC는 'infile'대신 '-'를 사용하면 표준 입력에서 C 소스 코드를 읽을 수 있습니다. 예:

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

2
OSI 승인 라이선스 하에서 CH 버전을 사용할 수 있으므로 배포 할 수 있기를 바랍니다. 인터프리터를 사용하여 정말 멋진 유틸리티를 디자인 할 수 있습니다. 안타깝게도 번들링하기에는 너무 문제가 있습니다.
Tim Post

그것은 좋을 것입니다. 프리웨어는 더없는 것보다는이지만, 누군가가 그것을 수행 할 때까지 ...
아담 데이비스

이상하게도 기본적 tcc으로 상태 10로 종료됩니다 . 명시 적으로 추가해야 할 것 같습니다 return 0주는echo 'main(){puts("hello"); return 0;}' | tcc -run -
그레고리 니스벳

18

picoc- 아주 작은 C 인터프리터

PicoC는 스크립팅을위한 매우 작은 C 인터프리터입니다. 원래 UAV의 기내 비행 시스템의 스크립트 언어로 작성되었습니다. 또한 다른 로봇, 임베디드 및 비 임베디드 애플리케이션에도 매우 적합합니다.


9

ROOT 프로젝트는 Cint 라는 매우 기능적인 C 및 C ++ 인터프리터를 제공합니다 . 나는 그것을 아주 좋아한다. 하지만 해석에 익숙해지는 데는 약간의 시간이 걸립니다.

TCC도 매우 좋은 선택이지만 REPL을 보증 할 수 없습니다.


1
ROOT 팀이 Cint를 단계적으로 중단하지 않습니까?
Z boson

@Zboson "CERN이 새 인터프리터로 전환했습니다. 집착합니다. CINT는 더 이상 CERN에서 지원되지 않습니다."
endolith

ROOT는 cint를 집착으로 대체했습니다. 따라서 집착은 업데이트 된 권장 사항으로 간주 될 수 있습니다. (하지만 - 다른 답변을 참조 - 집착는 C ++이 아닌 C, 그 관련이있는 경우, IIRC의 CINT 또한 일부 C ++ 않았지만)
pseyfert을


7

Ch 통역사를 살펴보십시오 .

Ch는 크로스 플랫폼 스크립팅, 쉘 프로그래밍, 2D / 3D 플로팅, 수치 컴퓨팅 및 임베디드 스크립팅을위한 임베드 가능한 C / C ++ 인터프리터입니다.





3

ccons 가 제약 조건을 충족하는 것으로 보입니다.

ccons 프로젝트의 목표는 각각 Python 및 Ruby 용 "python"및 "irb"와 유사한 C 프로그래밍 언어 용 대화 형 콘솔을 만드는 것입니다. 프로젝트는 clang 및 llvm을 기반으로 빌드됩니다.




1

대부분의 C 작업이 컴파일되었지만 수행되었습니다. 한 가지 예는 CH


0

CERN에는 주로 과학 또는 데이터 분석 등의 목적으로 사용되는 ROOT라는 툴킷이 있지만라는 Clang 기반 C / C ++ 인터프리터가 Cling있습니다.

그들은 적응하기 전에 CINT 라는 C 인터프리터를 사용하고있었습니다 Cling. CINT는 가볍고 여전히 다운로드 할 수있는 것 같습니다.

Wikipedia 목록 기사를 신중하게 검색하면 다른 것을 얻을 수 있다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.