sourcecode

최초의 C 컴파일러는 어떻게 작성되었습니까?

copyscript 2022. 8. 9. 22:54
반응형

최초의 C 컴파일러는 어떻게 작성되었습니까?

최초의 C 컴파일러가 C로 작성되었다는 것이 사실입니까?그럼 어떻게 실행되고 편찬됐을까요?아니면 이 컴파일러는 어셈블리 언어로 작성되었습니까?

그것은 C언어 역사에 대한 Dennis Ritchie의 글에서 꽤 잘 묘사되어 있다.

그가 거기에 쓴 글을 요약해서, 그의 글을 좀 더 세세하게 써라.C는 BCPL 언어에서 시작되었으며, Ken Thomson은 General Electricics 635 메인 프레임에서 실행되는 BCPL용 컴파일러에 액세스할 수 있었습니다.언어에 불만을 품은 Thomson은 BCPL을 사용하여 B 언어용 컴파일러를 작성했습니다.이것은 BCPL을 넘어서는 진화 단계로 BCPL의 기술적 문제를 일부 없앴습니다.

이들은 PDP-7 미니컴퓨터로 프로그램을 만들기 위해 B를 사용했지만 대부분 장난감 프로그램에 불과했지만 하드웨어 기능은 매우 제한적이었다.Thomson이 취한 한 가지 중요한 단계는 B 컴파일러 자체를 다시 쓰는 것이었습니다.일반적인 부트스트랩 순서입니다.

그런 다음 컴파일러는 NB(New B)라고 불리는 짧은 중간 단계를 통해 C와 비슷하게 서서히 조정되었습니다.PDP-11 미니컴퓨터는 이 단계에서 중요한 역할을 했으며 언어와 컴파일러를 개선할 수 있는 충분한 여지를 제공했습니다.

첫 번째 C 컴파일러는 C로 작성되지 않았습니다.일반적으로 컴파일러를 작성할 때는 어셈블리 언어 또는 다른 프로그래밍 언어를 사용합니다.또한 첫 번째 컴파일러가 원래 언어로 다시 작성되는 것이 일반적입니다.

많은 프로그래밍 언어가 C로 작성되어 모국어로 다시 쓰여지고 있습니다.예를 들어 Java, Ada...

primevalC에 대한 Dennis Ritchie의 메모를 보면 C는 닭이나 달걀과 마찬가지로 부트스트랩을 통해 자체 컴파일러와 함께 선구 언어에서 발전했음을 알 수 있다.분화 시간은 갈루스 갈루스 홈스테우스보다 빨랐다.

진화적 혼란 속에서 컴파일러의 소스코드도 볼 수 있다.노트는 테이프 백업에서 복원된 스냅샷 2개에 링크됩니다. 코드는 github에도 배치되어 있습니다.이러한 스냅샷은 K&R 구문보다 몇 년 전의 중간 화석을 구성합니다.테이프 중 하나에 대한 데니스의 설명은 부트스트랩되고 있는 구조물의 동결 프레임임을 보여준다.

"prestruct-c"는 구조 자체를 사용하도록 변경하기 직전에 컴파일러를 복사한 것입니다.

즉, 컴파일러는 구조를 지원하도록 증강되었지만 아직 사용하지 않았습니다.테이프 백업을 하기 좋은 시기입니다.

언급URL : https://stackoverflow.com/questions/18125490/how-was-the-first-c-compiler-written

반응형