«interpreters» 태그된 질문

1
차이점 이해 : 기존 인터프리터, JIT 컴파일러, JIT 인터프리터 및 AOT 컴파일러
전통적인 인터프리터, JIT 컴파일러, JIT 인터프리터 및 AOT 컴파일러의 차이점을 이해하려고합니다. 인터프리터는 일부 컴퓨터 언어로 명령을 실행하는 기계 (가상 또는 물리적) 일뿐입니다. 그런 의미에서 JVM은 인터프리터이고 물리적 CPU는 인터프리터입니다. Ahead-of-Time 컴파일은 코드를 실행하기 전에 코드를 어떤 언어로 컴파일하는 것을 의미합니다. 그러나 JIT 컴파일러와 JIT 인터프리터의 정확한 정의는 확실하지 않습니다. 내가 …

5
파이썬은 해석되거나 컴파일됩니까?
이것은 해석되고 컴파일 된 언어에 대해 읽는 동안 궁금했습니다. 루비 는 소스 코드가 실행 시점에 인터프리터에 의해 처리되므로 인터프리터 언어는 의심의 여지가 없습니다. 반대로 C 는 컴파일 된 언어입니다. 먼저 머신에 따라 소스 코드를 컴파일 한 다음 실행해야합니다. 이 결과는 훨씬 더 빠른 실행입니다. 이제 파이썬 으로 왔습니다 . 가져올 …


14
해석 된 코드와 컴파일 된 코드의 성능에 대한 일반적인 진술을 할 수 있습니까?
회사가 사용해야 할 권장 사항에 도달하기 위해 두 가지 기술을 비교하고 있습니다. 기술 A의 코드는 해석되는 반면 기술 B의 코드는 기계 코드로 컴파일됩니다. 필자의 비교에서 나는 기술 B가 해석 프로세스의 추가 오버 헤드가 없기 때문에 일반적으로 더 나은 성능을 가질 것이라고 언급했다. 또한 프로그램을 여러 가지 방법으로 작성할 수 있기 …

6
인터프리터는 기계 코드를 생성합니까?
나는 컴파일러와 인터프리터의 주제를 집중적으로 연구합니다. 내 기본 이해가 올바른지 확인하고 싶으므로 다음을 가정 해 봅시다. "Foobish"라는 언어가 있으며 키워드는 <OUTPUT> 'TEXT', <Number_of_Repeats>; 콘솔에 10 번 인쇄하고 싶다면 OUTPUT 'Hello World', 10; 안녕하세요 World.foobish-file. 이제 선택한 언어로 통역사를 작성합니다.이 경우 C # : using System; namespace FoobishInterpreter { internal class …

5
lisp에서 lisp 통역사를 공부하는 것이 왜 그렇게 중요한가요?
나는 야심 찬 프로그래머가 lisp로 특별히 작성된 lisp 인터프리터를 공부하도록 요구하는 새로운 프로그래머를위한 많은 CS 커리큘럼과 학습 제안을 보았습니다. 이 모든 사이트는 "지적인 계시", "모든 심각한 프로그래머가 가져야 할 깨달음 경험"또는 "하드웨어 / 소프트웨어 관계를 보여줍니다"및 이와 유사한 모호한 진술, 특히이 기사 에서 발췌 한 유사한 내용을 말합니다. 이 유명한 …

5
해석과 컴파일 : 유용한 차이점?
해석 된 언어와 컴파일 된 언어 구현에 대한 많은 질문이 여기에 있습니다. 구별이 실제로 어떤 의미가 있는지 궁금합니다. (실제로 질문은 일반적으로 언어에 관한 것이지만 실제로는 그 언어의 가장 보편적 인 구현에 대해 생각하고 있습니다). 오늘날 거의 구현이 엄격하게 해석되지 않습니다. 즉, 한 번에 한 줄씩 코드를 구문 분석하고 실행하는 사람은 …

10
컴파일러와 인터프리터에 버그가있을 수 있으며 사용자로서 버그를 처리하기 위해 무엇을 할 수 있습니까? [닫은]
컴파일러의 작업이 소스 코드를 기계 수준 코드로 본질적으로 변환하는 경우 컴파일러에 결함이있을 수 있습니다 (예 : 잘못된 "번역")? 통역사도 마찬가지입니다. 때로는 필요한 컨텐츠를 출력하지 못할 수 있습니까? 컴파일러 / 통역사의 버그에 대해 들어 본 적이 없지만 존재합니까?

2
파이썬 (및 기타 동적 언어)의 의미 기능이 속도 저하에 기여합니까?
나는 파이썬을 잘 모른다. 동적 언어 (La Python, Lua, Scheme, Perl, Ruby 등)의 정확한 기능이 구현 속도를 늦추는 것을 더 정확하게 이해하려고합니다. 실제로 Lua 5.3 메타 테이블 기계 는 직관적으로 Lua를 느리게 만들지 만 실제로는 Lua가 상당히 빠르다는 소문이 있습니다 (Python보다 빠름). 또한 현재 프로세서에서 메모리가 원시 계산보다 훨씬 느리다는 …

3
네이티브 머신 코드에 파이썬 컴파일러가없는 이유는 무엇입니까?
내가 이해하는 것처럼 컴파일 된 언어와 파이썬의 속도 차이의 원인은 첫 번째 코드가 네이티브 컴퓨터의 코드로 코드를 컴파일하는 반면 파이썬은 파이썬 바이트 코드로 컴파일하여 PVM에서 해석하기 때문입니다. 나는이 방법으로 파이썬 코드가 여러 운영 체제 (적어도 대부분의 경우)에서 사용될 수 있음을 알지만, 왜 기존 컴파일러와 동일한 방식으로 컴파일되는 파이썬을위한 추가 (선택적) …

3
어떤 프로세스에서 구문 오류가 발생합니까? (토큰 화 또는 파싱)
총 이미지를 파악하는 단계적으로 컴파일과 해석을 이해하려고합니다. 그래서 http://www.cs.man.ac.uk/~pjj/farrell/comp3.html 이 기사 를 읽는 동안 질문을했습니다 . 그것은 말한다 : 컴파일러의 다음 단계를 파서라고합니다. 컴파일러의이 부분은 언어의 문법을 이해합니다. 구문 오류를 식별하고 오류가없는 프로그램을 다른 언어로 해석하거나 작성할 수있는 내부 데이터 구조로 변환합니다. 그러나 토크 나이저가 구문 오류가있는 주어진 스트림을 올바르게 …

2
원래 통역사와 독립적으로 "부트 스트랩"통역사를 만들 수 있습니까?
Wikipedia 에 따르면 컴파일러 작성과 관련하여 "부트 스트래핑"이라는 용어는 다음을 의미합니다 . 컴퓨터 과학에서 부트 스트랩은 컴파일하려는 소스 프로그래밍 언어로 컴파일러 (또는 어셈블러)를 작성하는 프로세스입니다. 이 기술을 적용하면 자체 호스팅 컴파일러가 생성됩니다. 그리고 그것이 어떻게 작동하는지 이해할 수 있습니다. 그러나 그 이야기는 통역사들에게는 약간 다르게 보입니다. 물론, 자체 호스팅 인터프리터를 …

4
Chrome V8은 어떻게 작동합니까? 그리고 왜 JavaScript가 JIT 컴파일되지 않았습니까?
인터프리터 / 컴파일러를 연구 한 후 JIT 컴파일, 특히 Chrome의 V8 Javascript 엔진을 우연히 발견했습니다. 내 질문은- 표준 통역보다 어떻게 더 빠를 수 있습니까? JIT 컴파일이 왜 처음에는 사용되지 않았습니까? 나의 현재 이해 모든 Javascript 프로그램은 소스 코드 로 시작하여 실행 방법에 관계없이 궁극적으로 기계 코드 로 변환됩니다 . JIT …

3
if ()의 지연 평가를 구현하는 방법
현재 다음을 기반으로 식 평가 기 (수식과 같은 단일 줄 식)를 구현하고 있습니다. 입력 된 표현식은 리터럴 부울, 정수, 소수, 문자열, 함수, 식별자 (변수)를 구분하기 위해 토큰 화됩니다. 나는 괄호를 없애고 접미사 순서로 적절한 우선 순위를 가진 연산자를 정렬하기 위해 Shunting-yard 알고리즘 (가변 수의 인수로 함수를 처리하도록 약간 수정 됨)을 …

8
C가 컴파일 / 통역 / JIT되는 것을 막는 것은 무엇입니까?
Java는 종종 놀라운 이식성으로 인해 칭찬받습니다. 내 질문은 C가 컴파일 / 해석 / JIT '되는 것을 막는 것입니다. 그렇다면 C를 한 번 작성하여 어떤 장치에서나 사용할 수 있습니다. 그러나 이것은 C 프로그램을 처리하는 데 널리 사용되는 메커니즘이 아닙니다. 이 방법으로 C를 처리하는 것의 단점은 무엇입니까? 또한이 방법으로 Java를 처리하고 머신 …

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