토파즈로 만든 컴파일러와 웹 도구, 게임이 실제 제품으로 운영되고 있습니다. 이 페이지의 링크에서 각 프로그램의 토파즈 소스를 직접 읽을 수 있습니다.
토파즈 셀프 컴파일러
토파즈 컴파일러의 앞단은 토파즈로 작성했습니다. 이 코드가 어휘 분석, 구문 분석, 이름 해석, 타입 검사를 수행합니다. 툴체인 상태에서 설명하듯 topaz check는 이 컴파일러를 기본으로 사용합니다.
compiler/crates/topaz_self_frontend/ 아래의 토파즈 소스는 56개 파일, 약 4만 2천 줄입니다. 토파즈 소스 브라우저와 slow.monster에서 읽을 수 있습니다.
아틀라스
아틀라스는 원고를 책의 지면과 인쇄용 내지 PDF로 만드는 조판 도구입니다.
랜딩 페이지에는 줄바꿈 나쁨도 계산을 토파즈로 적은 명세 발췌가 있습니다. 나쁨도는 한 줄이 목표 너비에 얼마나 잘 맞는지 나타내는 점수입니다. 나쁨도 예제를 선택하면 약 60줄의 토파즈 코드를 읽을 수 있습니다.
CodeImage
CodeImage는 실행 가능한 프로그램을 이미지에 담고, 브라우저에서 이미지로부터 소스 코드를 복원합니다. 이미지에 맞는 키를 함께 넣으면 입력했던 원문을 그대로 복원합니다.
프로그램 구조 표현, 이미지 인코딩, 소스 복원을 다루는 토파즈 코드는 약 40개 파일, 1만 8천 줄입니다. CodeImage 소스 페이지에서 폴더 구조를 탐색하거나 slow.monster에서 읽을 수 있습니다.
제니앱
제니앱은 설치나 로그인 없이 브라우저에서 실행하는 앱 20개를 제공합니다. 데이터베이스를 조회하는 SQL DB, JSON을 정리하는 JSON 포매터, 스프레드시트인 시트 등이 있습니다.
앱은 토파즈로 작성했으며 WebAssembly로 실행됩니다. 공개된 토파즈 소스는 약 60개 파일, 1만 1천 줄입니다. 각 앱 화면의 소스 보기 버튼이나 slow.monster에서 코드를 읽을 수 있습니다.
카카오 게임
kakao.games의 도메인 전쟁은 실제 도메인 분쟁을 바탕으로 한 서사형 텍스트 RPG입니다. 플레이어의 선택에 따라 이야기의 흐름과 분위기가 달라집니다.
공개된 토파즈 게임 코드는 4개 파일, 약 450줄입니다. 게임 화면의 소스 버튼이나 slow.monster에서 읽을 수 있습니다.