ruby_parser 3.22.0 출시 및 서비스 종료(EOL) 예고

ruby_parser version 3.22.0 has been released!

작성자
발행일
2025년 12월 20일

핵심 요약

  • 1 Pure Ruby 기반 파서인 ruby_parser의 3.22.0 버전이 출시되었으며, 프로젝트의 서비스 종료(EOL)가 공식 발표되었습니다.
  • 2 Ruby 3.3 문법 구조 조정 및 3.4 버전의 예비 지원이 추가되었으며, lrama 변경 사항에 대응하는 리팩토링이 진행되었습니다.
  • 3 최소 실행 환경이 Ruby 3.2 이상으로 상향되었고, 오래된 호환성 패치 제거 및 STRICT_SEXP 관련 오류 수정이 이루어졌습니다.

도입

ruby_parser(RP)는 순수 Ruby로 작성된 파서로, 소스 코드를 s-expression으로 변환하여 ruby2ruby와 같은 도구에서 조작할 수 있게 돕는 라이브러리입니다. 2025년 12월 20일에 발표된 3.22.0 버전은 수백만 개의 파일을 대상으로 한 높은 정확도를 유지하면서도, 프로젝트의 서비스 종료(EOL)를 공식적으로 선언하는 중요한 업데이트입니다.

이번 3.22.0 업데이트는 최신 Ruby 사양 대응과 대대적인 내부 정리 작업을 포함하고 있습니다.

1. 주요 변경 사항 및 EOL 선언

  • 프로젝트 종료 예고: ruby_parser의 서비스 종료(End of Life)가 공식적으로 발표되었습니다.

  • 최신 버전 대응: Ruby 3.3의 문법적 구조 차이를 좁히는 작업이 진행되었으며, 차기 버전인 Ruby 3.4에 대한 예비 지원이 추가되었습니다.

2. 내부 구조 개선 및 리팩토링

  • 할당 로직 재구성: 기존 assignableold_assignable로 변경하고, 더 깔끔하고 현대적인 방식의 할당 로직을 새롭게 도입했습니다.

  • lrama 대응: Ruby의 파서 생성기인 lrama의 변경 사항에 맞춰 비교 rake 태스크와 정규화 과정을 재구조화했습니다.

  • 문법 최적화: Ruby 3.2 사양에 가장 가깝게 문법을 업데이트하고 불필요한 프로덕션들을 정리했습니다.

3. 버그 수정 및 코드 클린업

  • 엄격한 검증: STRICT_SEXP=3 설정 시 발생하는 오류들을 수정하여 데이터 구조의 일관성을 강화했습니다.

  • 레거시 제거: 인코딩 관련 등 아주 오래된 호환성 체크 및 패치들을 삭제하여 코드를 경량화했습니다.

  • 예외 처리: 모든 구문 오류 발생 시 RubyParser::SyntaxError를 일관되게 발생시키도록 래핑 처리를 완료했습니다.

결론

ruby_parser 3.22.0은 최신 Ruby 문법에 대한 대응력을 높이는 동시에 프로젝트의 마무리를 준비하는 단계에 들어섰습니다. 비록 EOL이 선언되었으나, 그간 수많은 Gem과 파일을 통해 입증된 높은 정확도와 순수 Ruby 구현체로서의 기술적 성취는 Ruby 도구 생태계에 중요한 이정표를 남겼습니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!