Lena Code는 토파즈와 따로 배포되는 소스 변환 제품입니다. Lena Code가 공개한 지원 목록에 원하는 언어 조합이 정확히 있어야 토파즈를 출발 언어나 도착 언어로 고를 수 있습니다. 두 제품은 소스 코드만 주고받습니다. 런타임을 공유하거나 토파즈 문법을 확장하는 관계가 아닙니다.
변환하기 전에
변환을 쓰기 전에 Lena Code가 공개한 최신 언어 조합 지원 범위를 먼저 확인하세요. 어떤 조합이나 어떤 형태의 프로그램을 지원한다고 해서 모든 프로그램을 변환할 수 있는 것은 아닙니다. 나중에 같은 변환을 재현할 수 있도록 사용한 Lena Code 버전도 적어 두세요.
토파즈가 도착 언어일 때
변환으로 나온 .tpz 파일은 검토가 필요한 토파즈 후보 소스입니다. 정확성이 보증된
결과가 아닙니다. 파일 내용과 변경 차이를 먼저 읽어 보세요. 그다음 현재 토파즈
도구 모음으로 확인하세요.
topaz parse converted.tpz
topaz check converted.tpz
topaz run converted.tpz
topaz build converted.tpz --out-dir converted-build --run
이 명령은 토파즈가 후보 소스를 구문 분석하고, 검사하고, 실행하고, 빌드할 수 있는지 확인합니다. 원본 프로그램의 의미까지 그대로 옮겨졌다는 증명은 아닙니다. 애플리케이션에 중요한 출력과 오류, 데이터 변화, 그 밖에 눈으로 확인할 수 있는 동작을 원본과 비교해 보세요.
토파즈가 출발 언어일 때
토파즈를 다른 언어와 실행 환경으로 어떻게 옮길지는 Lena Code가 관리합니다. 변환
결과를 볼 때는 도착 언어의 API와 데이터 표현, 부수 효과, 실패 처리도 같이
검토하세요. 원본이 topaz check를 통과했더라도 도착 프로그램까지 검증된 것은
아닙니다.
제품과 문법의 경계
토파즈와 Lena Code는 ABI와 패키지 관리자, 런타임, 배포 묶음을 자동으로
공유하지 않습니다. 다른 언어의 소스는 상호 운용 예제라고 표시한 자리에만 둡니다.
토파즈 정본 문법을 정의하는 예제로는 사용하지 않습니다. 변환기가 지금 토파즈에서
지원하지 않는 형식을 만들면 topaz check가 거부합니다.