-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
요약
postype.go 파일의 POS 태그 정의를 C++ 원본 저장소(bab2min/Kiwi)와 자동으로 동기화하는 프로세스 도입을 제안합니다. 🤖
배경
현재 Go의 POS 태그 정의(codingpot/kiwigo/postype.go)는 C++의 enum 및 태그 문자열 배열(Types.h / Utils.cpp)과 수동으로 맞추고 있습니다.
하지만 업스트림에 새로운 태그가 추가되면 수동 동기화가 번거롭고, 실수도 발생하기 쉽습니다. 🥲
제안
- 안정적인 C++ 파서(예: LLVM/Clang LibTooling 또는 Python libclang)로 업스트림 C++ 파일에서 POS 태그 정의를 자동 추출합니다. 🦾
- 동기화 시점에 맞는 커밋/태그의 소스파일을 자동으로 가져옵니다. ⏳
- 추출된 태그와 Go의 정의를 비교해 누락/과잉/변경 태그를 리포트 및 자동 갱신하도록 합니다. 🚦
- 스크립트 또는 CI 작업으로 통합해, 지속적으로 동기화 상태를 체크합니다. 🔄
작업 목록
- C++ 코드를 안정적으로 파싱할 툴(LLVM/Clang, tree-sitter 등) 조사 및 선정
- 특정 커밋/태그의 업스트림 C++ 파일을 자동으로 받아오고, 태그 목록 추출 스크립트 작성
- 추출된 태그와 Go 태그(postype.go) 비교
- 필요시 Go 코드 자동 생성/갱신 기능 추가
- 동기화에 사용된 업스트림 커밋/태그 정보 명확히 문서화
- (선택) CI에 통합해 자동으로 태그 불일치 감지
참고자료
이 이슈는 Go POS 태그 정의를 업스트림 C++ 원본과 자동·안정적으로 맞추는 작업을 추적합니다.
정규표현식 대신 AST 기반 파서를 활용해 확실한 동기화를 목표로 합니다! 💪
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation