picol: 500줄 코드로 구현한 Tcl 인터프리터

발행: (2026년 2월 16일 오후 05:04 GMT+9)
3 분 소요

Source: Hacker News

Picol은 약 500줄의 C 코드로 작성된 Tcl‑유사 인터프리터입니다(파서만 해도 대략 250줄 정도). 2007년 3월 15일에 처음 출시되었으며 원본 기사 주요 내용을 함께 GitHub에 보관하고 있습니다.

Rules

코드를 만들 때 다음과 같은 목표를 염두에 두었습니다:

  • 익숙한 들여쓰기와 주석을 사용한 일반적인 C 코딩 스타일을 사용합니다.
  • 인터프리터를 실제 Tcl 구현과 유사하게 설계하여 인터프리터 작성에 처음 도전하는 사람들에게 유용한 학습 예제가 되도록 합니다.
  • 인터프리터가 단순히 “변수를 설정하고 hello world를 출력”하는 수준을 넘어, 비 trivial한 프로그램을 실행할 수 있도록 보장합니다.

The resulting interpreter: Picol

파서는 Tcl과 매우 가깝고, Picol은 보간을 지원합니다:

set a "pu"
set b {ts}
$a$b "Hello World!"

Picol은 대화형 셸을 제공합니다; 인자를 주지 않고 실행 파일을 실행하면 됩니다.

Compilation

gcc -O2 -Wall -o picol picol.c

Running a script

picol filename.tcl

Supported features

  • 문자열 보간 (예: "2+2 = [+ 2 2]" 또는 "My name is: $foobar").
  • return이 있는 프로시저; return을 생략하면 마지막 명령의 결과가 반환됩니다.
  • 제어 구조: if, if … else …, while (breakcontinue 포함).
  • 재귀.
  • Tcl과 마찬가지로 호출 프레임을 통한 적절한 변수 스코핑.
  • 내장 명령: set, 산술 연산자 (+, -, *, /), 비교 연산자 (==, !=, >, =).

“거대한 프로그램 안에는 탈출하려는 작은 프로그램이 있다.” – Sir Tony Hoare

0 조회
Back to Blog

관련 글

더 보기 »