인터롭

리나 코드로 코드 분석과 변환하기

리나 코드는 결정론적 파이프라인 기반의 코드 분석 플랫폼입니다. 30개 언어의 코드를 이해하고, 개선하고, 변환합니다.

리나 코드는 결정론적 파이프라인 기반의 코드 분석 플랫폼입니다. 30개 언어의 자기 코드를 이해하고, 개선하고, 변환하는 작업 공간입니다. Explain과 Review로 같은 언어의 코드를 설명하고 검토합니다. Convert로 코드를 원하는 언어로 변환합니다.

변환할 때는 입력 편집기에 코드를 넣고 사용 가능한 목표 언어를 고른 뒤 결과 편집기에서 코드를 검토하세요.

시작하기 전에 작업 공간에서 선택할 수 있는 언어를 확인하세요. 토파즈를 선택할 수 있다면 아래 순서로 토파즈 원본이나 변환 결과를 확인하세요.

생성한 .tpz 파일을 검사하고 실행하려면 토파즈를 설치하세요. 네이티브 빌드에는 Rust 빌드 도구도 필요합니다.

코드 생성과 결정론적 검증

리나 코드의 기술 기반에는 자체 리스프 방언 리나와 코드의 구조를 표현하는 중간 형식 Facet IR이 있습니다. 코드 분석·변환 도구와 자체 인터프리터, 검증 코퍼스도 구축해 왔습니다. 이 자산을 바탕으로 코드 분석·생성·변환과 결정론적 결과 점검을 결합합니다.

변환 준비하기

원본 코드와 입력 데이터, 기대 결과를 변환된 코드와 함께 보관하세요. 결과를 애플리케이션에 쓰기 전에 API와 데이터 표현, 부수 효과, 오류 처리의 변경을 검토하세요.

생성한 토파즈 코드 확인하기

변환한 소스를 converted.tpz로 저장하고 실행 전에 내용과 변경 차이를 읽으세요. 그 파일이 있는 폴더에서 다음 명령을 순서대로 실행하세요. 명령이 실패하면 다음 단계로 넘어가지 마세요.

BASH
topaz parse converted.tpz
topaz check converted.tpz
topaz run converted.tpz
topaz build converted.tpz --out-dir converted-build --run
명령확인할 결과
parse종료 코드 0이면 구문 분석 성공
check종료 코드 0이면 이름·타입 검사 통과
run프로그램의 출력과 종료 상태를 원본과 비교
build --runconverted-build의 결과물을 확인하고 빌드한 프로그램의 동작을 비교

구문 분석이나 검사가 실패하면 converted.tpz의 진단 위치를 현재 문법에 맞게 고치세요. 실행 결과가 다르면 두 프로그램에 같은 입력을 넣고 바뀐 로직을 살펴보세요.

애플리케이션에서 중요한 출력, 오류, 데이터 변경, API 호출, 실패 처리를 비교하세요. 소스 검사 통과 여부로 이 결과들을 확인할 수는 없습니다. 실제 데이터에 접근하도록 허용하기 전에 파일·네트워크 작업을 검토하세요.

토파즈에서 다른 언어로 변환하기

리나 코드는 토파즈 구문을 도착 언어와 실행 환경에 옮기는 방법을 정의합니다. 생성한 API, 데이터 표현, 외부 작업, 오류 처리를 살펴보세요. 도착 언어의 도구로 테스트하고 기록한 결과와 비교하세요.

결과 연결하기

두 제품은 소스 파일을 주고받습니다. 도착 언어의 패키지, 런타임, 배포 파일은 따로 설정하세요. 컴파일한 구성 요소를 연결한다면 인수와 결과를 주고받는 규칙인 ABI를 확인하세요.

다른 언어의 예제에는 언어 이름을 표시하세요. .tpz 파일에는 토파즈 문법을 사용하며, 지원하지 않는 표기는 topaz check가 거부합니다.

관련 문서