Skip to content

BK-Dan/ckr-lang

Repository files navigation

ChoiKangRok Esolang Interpreter (CKR-Lang)

Caution

스포일러 경고 (Spoiler Alert) 이 프로젝트는 넷플릭스 예능 **'흑백요리사2: 요리 계급 전쟁 (Culinary Class Wars 2)'**의 스포일러를 포함할 수 있습니다. 방송 내용을 미리 알고 싶지 않으신 분은 즉시 이 페이지를 닫아주시기 바랍니다.

프로젝트 소개

Note

Unofficial Fan Project 이 프로젝트는 넷플릭스 예능 '흑백요리사2'와 최강록 셰프의 팬이 만든 비공식 팬 메이드 프로젝트입니다. 공식 컨텐츠나 인물과는 관계가 없으며, 순수한 팬심과 프로그래밍의 즐거움을 위해 제작되었습니다.

CKR-Lang은 '최강록' 셰프의 독특한 화법과 조리법을 프로그래밍 언어로 재해석한 난해한 프로그래밍 언어(Esolang) 인터프리터입니다. 엄격한 명세 준수, 모듈화된 아키텍처, 그리고 강력한 디버깅 기능을 제공하며, 이제 pip를 통해 간편하게 설치할 수 있습니다.

설치 방법 (Installation)

Python 3.8 이상 환경에서 다음 명령어로 패키지를 설치하십시오.

pip install ckr-lang

사용법 (Usage)

설치가 완료되면 터미널 어디서든 ckr 명령어를 사용할 수 있습니다.

1. 코드 실행

ckr hello_world.ckr

2. 대화형 모드 (REPL)

파일 인자 없이 실행하면 한 줄씩 코드를 입력하고 실행 결과를 확인할 수 있습니다.

ckr

3. 디버그 모드

실행 과정을 상세히 추적(Trace)하고 싶다면 -d 옵션을 사용하세요.

ckr hello_world.ckr -d

4. 자체 테스트

인터프리터의 정상 동작 여부를 검증하려면 다음 명령어를 실행하세요.

ckr --test

조리법 (Syntax)

이 언어는 셰프의 주방을 시뮬레이션합니다. 모든 데이터는 '재료'이며, 조리 과정을 통해 맛(값)이 변합니다.

  • 개점/폐점 (Program Scope)

    • 시작: 흑백요리사2 히든백수저 최강록
    • 끝: 백수저 최강록 우승
  • 재료 손질 (Ingredients)

    • 선언: 나야 <재료명> (재료를 0으로 초기화)
    • 추천 재료: 장어, 두부, 대파, 꽃게, 새우, 전복, 아귀 등
  • 조리 (Cooking Operations)

    • 조려 (ADD): 더하기
    • 조린다 (SUB): 빼기
    • 조리고 (MUL): 곱하기
    • (INVERSE): 부호 반전
  • 플레이팅 (Plating)

    • (Print): 현재 재료의 맛(Value)을 문자로 변환하여 접시에 냅니다 (ASCII Output).
  • 주방 동선 (Control Flow)

    • 연쇄조림마<점> (Label): 이동할 지점을 점(.)으로 표시합니다. (예: 연쇄조림마., 연쇄조림마..)
    • 조림핑<점> (GOTO): 해당 지점으로 이동합니다. 점을 붙여서 바로 이동할 수 있습니다. (예: 조림핑., 조림핑.., 조림핑...)
    • 조건부 이동:
      • 조림인간 (IF ==): 재료들의 맛이 동일하면 이동합니다.
      • 욕망의조림인간 (IF >): 첫 번째 재료의 맛이 나머지보다 강하면 이동합니다.

예제 코드 (Examples)

  • examples/hello_world.ckr: 기본적인 Hello World 출력
  • examples/hello_fun_world.ckr: 좀더 난해하게 작성된 Hello World
  • examples/gugu_dan.ckr: 2단부터 9단까지 구구단을 출력하는 프로그램

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages