기계어 코드로 컴파일 할 수있는 경우에도 사용 가능한 대화 형 인터프리터가있는 프로그래밍 언어가 있습니까?컴파일 된 해석 언어
답변
"번역"대 컴파일은 본질적으로 언어 자체가 아니라 구현의 문제입니다. 예를 들어 MRI Ruby 1.8이 해석되고 MacRuby는 원시 시스템 코드로 컴파일됩니다. 두 제품 모두 대화 형 REPL을 포함합니다. 적어도 하나의 기계 코드 컴파일러와 적어도 하나가 내가 아는 모든 언어 REPL :
- 루비
- 파이썬
- 거의 모든 Lisps (리스프는 AFAIK,이 기술을 개척 한 언어이었다)
- OCaml의
- 하스켈 넷째
우리가 경우 countin
- 자바
- 스칼라
- 그루비
- 얼랑
- C#
- F 번호 : g 편집뿐만 아니라 기계 코드로 바이트 코드, 그것은 인기 바이트 코드 컴파일 언어의 대부분의 사실
- 스몰 토크
정확히 기계어는 아니지만 Java를 컴파일하고 BeanShell을 통해 사용할 수도 있습니다.
Java 컴파일러를 사용하는 데 사용되는 Symantec Java IDE (이름은 잊었습니다). –
2 명이 내 마음에와 있습니다. ocaml과 scala (~ = java)가 있지만 거기에는 훨씬 더 많은 것이 있어야합니다.
BTW : ocaml을 원시 코드로 컴파일하는 명령은 "ocamlopt"입니다 (ocamlc는 바이트 코드로 컴파일됩니다). 스칼라에 관해서는, gcj가 자바 호환 바이트 코드를 컴파일 할 수 있는지, 아직 컴파일하지 않았는지 모르겠다. 그래서 누군가가 더 많은 정보를 가지고 있다면 ..? – Shautieh
컴파일러를 사용하는 데 사용되는 아이콘이지만 유지 관리에서 제외됩니다. 여전히 작동 할 수 있습니다.
파이썬을 Windows 실행 파일로 컴파일 할 수 있습니다.
"RubyScript2Exe"의 경우와 마찬가지로 실제로 언급 한 도구는 파이썬 인터프리터와 함께 파이썬 코드를 번들링합니다. 이것은 컴파일되지 않습니다. 그것을 컴파일러라고 부르는 것은 용어의 오용입니다. 그러나 실제로는 유용하지 않으므로 중요하지 않을 수도 있습니다. :-) – Benson
하스켈, Glasgow Haskell Compiler에는 GHCi라는 대화 형 "쉘"이 있습니다.
Lua에는 한 줄짜리 및 실험을위한 대화식 모드가 있습니다. 일반적으로 VM을 실행하기 위해 바이트 코드로 컴파일합니다. LuaJIT은 32 비트 x86에 대한 JIT 컴파일을 수행하는 Lua VM의 독립적 인 구현이다. 64 비트에 대한 지원이 진행 중이며 ARM에 대한 지원이 자주 요청됩니다.
바이트 코드 컴파일은 종종 순수 인터프리터와 순수 컴파일러 간의 적절한 절충안입니다.VM은 언어 요구 사항에 맞춰 조정될 수 있으며 JIT 기법은 실행되는 VM 코드를 분석하여 자주 실행되는 코드 경로 및 내부 루프에 집중할 수 있습니다.
귀하의 질문은 다소 모호합니다. 심지어 자바가 맞는 것 :
를 대화 형 인터프리터에 의해, 내가 쉘 같은 환경, 당신이 할 수있는 런타임에서 작업 대화를 의미한다.
Java는 다음과 같습니다. 이클립스의 "스크랩북 페이지"에서는 Java 표현식을 입력하고 바로 평가할 수 있습니다. Java는 물론 컴파일 된 언어이기도합니다 (보통 바이트 코드로 컴파일되지만 기계 코드를 출력하는 다양한 컴파일러가 있습니다).
그래서 무엇을 찾으십니까? 어쩌면 당신은 당신의 문제 또는 관심사를 설명 할 수있을 것입니다.
나는 실행 파일로 컴파일되고 본격적인 대화식 인터프리터를 가질 수있는 languges에 대한 다양한 대답을 기대합니다. – mykhal
모노/.net을 조금 사용하여 시도해 본 결과 무작위 GC 일시 정지가 불쾌감을주는 것으로 나타났습니다 (적어도 내 피곤한 옛 노트북에서는). gambit-c를 사용하여 C로 컴파일 할 수있는 스키마 구현을 살펴 보았지만 문서가 다소 제한적이었고 패키지를 설치하고 사용하기가 쉽지 않았기 때문에 작업하기가 어려웠습니다.
저는 보통 C/C++에 연결되는 파이썬과 같은 인터프리터 언어를 사용하는데 더 고통스럽지 만, 적어도 내가 무엇을 위해서인지는 알고 있습니다.
다른 언급 된 바와 같이, OCaml.
관리 코드 (.NET CLI)가 코드를 처리하기에 충분할 경우 F #도 후보가됩니다. 요구 사항을 충족시키는 다른 .NET/Mono 언어가있을 수 있습니다.
많은 언어가 기계어 코드와 상호 작용하고 컴파일되는 구현을 제공하지만 동시에 수행하는 것은 거의 없습니다. Standard ML of New Jersey은 인터랙티브 루프가 있지만 바이트 코드가없는 것입니다. 메모리에 머신 코드를 컴파일 한 다음 분기합니다.
그리고 여기가 당신의 집을 불 태워 또 다른 하나 :
86 어셈블리
그래, 물론 이것에 대한 통역이 있습니다.당신이 에뮬레이터 땅에서 정말있어이 시점에서
-
, 그러나 당신이 상태 요구 사항을 충족한다.
누군가가 에 컴파일 된 언어의 이름을 지정하는 것이 더 쉬운지 궁금합니다.은 작동하는 인터프리터를 자필로 작성했습니다. :-)
- 1. Java는 컴파일 된 언어 또는 해석 된 프로그래밍 언어입니까?
- 2. 해석 언어
- 3. 해석 된 언어가 안전합니까?
- 4. 해석 된 표준 라이브러리
- 5. Java로만 JSP 컴파일 및 해석
- 6. 파일/이미지 조작을위한 효과적인 해석 언어
- 7. PHP는 컴파일 된 언어 또는 통역 언어입니까?
- 8. 최상의 Win32 컴파일 된 스크립팅 언어?
- 9. JVM 언어 디 컴파일
- 10. SWI Prolog가 명령 행에서 해석/컴파일
- 11. SQL의 코딩 된 필드 해석
- 12. 전자 메일보기에서 해석 된 HTML을 표시하지 않습니다.
- 13. 간단하게 컴파일 할 스크립팅 언어
- 14. 기업의 언어, 컴파일 또는 JVM
- 15. 관리되는 (해석 된) (.NET) 및 관리되지 않는 (컴파일 된) (ANSI/ISO/GCC 등) C++
- 16. PHP 대 JSP 성능 :이 문제와 관련하여 컴파일 된 대 해석 된 인수가 있습니까?
- 17. 바이트 코드 해석
- 18. 소프트웨어 (컴파일 또는 해석)가 최종 사용자에게 어떻게 도달합니까?
- 19. IronScheme이 해석 또는 컴파일 되었습니까? .NET Framework 최적화의 이점이 있습니까?
- 20. dis.readchar 중국어 문자 - 잘못 해석 된 문자!
- 21. 해석 된 언어에서 ncurses와 같은 바인딩
- 22. xsd에서 해석 된 DataSet 스키마의 문제점
- 23. 해석 된 스크립트 : 암시 적 대 명시 적 실행
- 24. ERD 해석
- 25. 문자열 해석
- 26. 디 컴파일 된 java 클래스의 결과 코드 해석 문제 : MyType.access $ 102
- 27. PHP 스크립트 나 해석 된 언어로 "빌드"할 수 있습니까?
- 28. 프로그래밍 언어 란 무엇입니까?
- 29. IE 및 Webkit에서 의도 한대로 헤더 해석 해석
- 30. 컴파일 된 코드와 네이티브 컴파일 된 코드의 차이점
"사용 가능한 대화식 통역사"란 무엇을 의미합니까? 대부분의 해석 언어는 실제로 번역 *됩니다. – staticsan
@staticsan 대화 형 인터프리터는 대화식으로 런타임에서 작업 할 수있는 쉘 같은 환경을 의미합니다. 기계 코드에 의해, 나는 바이트 코드를 의미하지 않는다. (내 용어가 정확하지 않은 경우 실례합니다.) – mykhal
찾고있는 용어는 "REPL"(읽기 - 평가 - 인쇄 루프)입니다. – Artelius