-3
정규식 파싱 기술을 테스트하기 위해 (파이썬에서 중요하다면) 간단한 프로그래밍 언어를 쓰고 있습니다. 질문을 생각해 냈습니다 : 제 컴파일러가 코드를 C++ 코드로 변환해야하고 그런 다음 g ++를 사용하여 ELF 실행 파일로 컴파일하거나 어떻게 든 내 언어의 코드를 바이트 코드 (또는 다른 것)로 컴파일해야합니까?프로그래밍 언어 작성 : 컴파일 방법
정규식 파싱 기술을 테스트하기 위해 (파이썬에서 중요하다면) 간단한 프로그래밍 언어를 쓰고 있습니다. 질문을 생각해 냈습니다 : 제 컴파일러가 코드를 C++ 코드로 변환해야하고 그런 다음 g ++를 사용하여 ELF 실행 파일로 컴파일하거나 어떻게 든 내 언어의 코드를 바이트 코드 (또는 다른 것)로 컴파일해야합니까?프로그래밍 언어 작성 : 컴파일 방법
할 수 있습니다. 예를 들어 C++의 원래 구현 ("C와 클래스")은 C++ 코드를 일반 C 컴파일러로 컴파일 된 C 코드로 변환합니다. 물론 더 이상 작동하지 않습니다.
가장 좋은 방법은 GCC 또는 LLVM으로 시작하여 다양한 아키텍처의 기존 코드 생성 도구를 활용하여 자신의 언어에 대한 새로운 프론트 엔드를 작성하는 것입니다.
대부분의 프로그래밍 언어는 일반 old regexes로 해석 할 수 없습니다. 예, 이것은 당신의 기술을 시험 할 것입니다; 당신은 아마 실패 할 것입니다; 질문은 무엇을 배웠습니까? 교훈은 반복적으로 사람들이 이런 종류의 운동을한다는 것을 배웠다. 문학에 관심을 기울이지 않고 "컴파일러"를 쓰는 것은 나쁜 결과를 가져온다. 그리고 아무도 놀라지 않습니다. –