
Algol 60 컴파일러가 최소 기능 제품(MVP) 단계에 도달했다. 공개된 테스트 코드로 컴파일러를 시험할 수 있으며, 미리 빌드된 Linux x86_64·Windows x86 버전도 제공한다.
프로젝트 제작자는 이 컴파일러를 Algol 중간 표현(AIR)의 개념 증명으로 설명한다. AIR는 제작자의 Micron 컴파일러용 중간 언어를 바탕으로 하며, Algol/Wirth 계열 언어의 기능에 한정하고 LuaJIT 바이트코드로 변환할 수 있도록 설계됐다. 제작자는 이를 코루틴과 시뮬레이션 기능을 갖춘 Simula 컴파일러를 완성하기 위한 과정의 성과로 소개했다.
시험 코드에는 Knuth의 유명한 Man or boy test 여러 버전이 포함돼 있다. 통합된 LuaJIT 가상 머신의 기본 스택으로는 k=12까지만 지원한다. 원래의 k=15를 실행하려면 LuaJIT를 LUAI_MAXSTACK=1048576 이상으로 다시 컴파일해야 한다.
미리 빌드된 파일은 Linux x86_64와 Windows x86용으로 제공된다. 직접 빌드하려면 BUSY 또는 qmake 빌드 방식을 사용할 수 있으며, 빌드 안내를 참고하면 된다. 코드와 테스트 사례는 GitHub 저장소에서 확인할 수 있다.
컴파일러는 ./algc testcases/marst/examples/manorboy.alg로 시험할 수 있으며, 다음 결과가 출력된다.
0 -2 0 1 0 1 -1 -10 -30 -67 -138 -291
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요