스몰-C

Small-C
스몰-C
개발자론 케인, 제임스 E헨드릭스
초기 릴리즈1980; 42년 전 (1998년)
기록 위치C 프로그래밍 언어
유형컴파일러
면허증저작권이 있지만 공유 가능

Small-C는 둘 다 C 프로그래밍 언어의 서브셋으로, 자원 제한형 마이크로컴퓨터와 임베디드 시스템에 적합하며, 그 서브셋의 구현이다.원래 1970년대 후반과 1980년대 초반에 이용할 수 있는 마이크로컴퓨터 시스템의 초기 컴파일러로서 가치가 높았던 이 구현은 또한 교육목적으로 충분히 간단한 예로서 유용했다.

론 케인이 인텔 8080을 위해 Small-C에 쓴 최초의 컴파일러는 1980년 5월 Dobb's Journal of Computer Calistenics & Crychotiontia에 실렸다.제임스 E.헨드릭스는 원래의 컴파일러를 개선하고 확장했으며, The Small-C Handbook을 썼다.Ron은 SRI International PDP 11/45 Unix 시스템에서 Small-C를 Bass for Small C 개발을 위해 제공된 계정으로 부팅했다.제공된 소스 코드는 관리 허가와 함께 공개되었다.[citation needed]Small-C는 대형 컴퓨터의 GCC와 비슷한 방식으로 소형 컴퓨터의 경우 중요했다.이 컴파일러는 유닉스의 다른 컴파일러와 마찬가지로 조립자 코드를 생성하고, 그 코드를 사용 가능한 조립자에 의해 기계 코드로 변환해야 한다.

스몰-C는 리타겟형 컴파일러다.포팅 Small-C는 대상 프로세서에 대해 백엔드 코드 생성기와 운영 체제 인터페이스에 대한 라이브러리 호출만 다시 작성하면 된다.

언어 하위 집합

"1980년 5월 닥터.Dobb's Journal은 "8080년대를 위한 작은 C 컴파일러"라는 제목의 기사를 실었는데, 이 기사에서 Ron Kain은 C 언어의 하위집합을 위한 작은 컴파일러를 발표했다.컴파일러의 작은 크기 외에도 가장 흥미로운 특징은 컴파일러가 쓰여진 언어, 즉 컴파일러가 편찬한 언어였다.그것은 자작극이었다!(오늘날은 흔한 일이긴 하지만, 당시에는 꽤 참신한 생각이었다.)간단한 원패스 알고리즘으로, 그의 컴파일러는 8080 프로세서를 위한 조립 언어를 생성했다.그러나 작아서 한계가 있었다.두 가지 유형의 문자, 정수, 단일 치수 배열만 인식했다.유일한 루프 제어 장치는 while 문이었다.부울 연산자가 없었기 때문에 비트(bitwise) 논리 연산자 &(AND)와 (OR)가 대신 사용되었다.그러나 이러한 한계에도 불구하고, 특히 어셈블리 언어와 비교했을 때, 그것은 매우 능력 있는 언어였고 사용하는 즐거움이었다.

개선의 필요성을 인식한 론은 나에게 제2판을 제작하라고 격려했고 1982년 12월에는 닥터 도브스 저널에도 실렸다.새로운 컴파일러는 (1) 코드 최적화, (2) 데이터 초기화, (3) 조건부 컴파일, (3) 외부 스토리지 클래스, (5) for, do/while, switch 및 goto 문, (6) 조합 할당 연산자, (7) 부울 연산자, (8) 보완 연산자, (9) 블록 로컬 변수, (10) 다양한 특징으로 Small C를 증강시켰다.그 후 1984년에 어니스트 페인과 나는 컴파일러를 위한 CP/M 호환 런타임 라이브러리를 개발하여 출판했다.80개 이상의 기능으로 구성되었으며, CP/M 환경과 관련된 기능인 UNIX C Standard I/O 라이브러리에 있는 기능 대부분을 포함했다.이것은 버전 2.1이 되었고 The Small C Handbook의 주제가 되었다."[1]

참고 항목

  • BDS C(1979) – Z80 및 8080 시스템용 C 컴파일러
  • MISOSYS C(1985) - TRS-80용 C 컴파일러(Z80 CPU)
  • Tiny C(2002) – 느린 x86용 C 컴파일러 및 Disk 공간이 거의 없는 ARM 컴퓨터

소형 C형 변종

참조

  1. ^ James E. Hendix. "Introduction". A Small-C Compiler: Language, Usage, Theory, and Design. M & T Books 1988 / Dr. Dobb's Journal Developer Network 2005.
  2. ^ "C compilers for the BBC Computer". Mdfs.net.

메모들

  • 론 케인, "8080년대를 위한 작은 C 컴파일러", Dobb's Journal, 1980년 4~5월, 페이지 5-19
  • 제임스 E.Hendrix, The Small-C Handbook, Reston 1984, ISBN 0-8359-7012-4
  • 제임스 E.Hendrix, A Small C 컴파일러: 언어, 사용, 이론, 디자인, M&T 북스 1988, ISBN 0-934375-88-7
  • 제임스 E.Hendrix, Small C Compiler, M&T Books 1990, ISBN 1-55851-124-5

외부 링크