tossicat 0.8.0

입력된 단어에 맞게 같이 입력된 토시(조사)를 적절하게 변환하는 라이브러리
Documentation
//! ## `TossiCat-core`가 처리할 수 있는 토시 목록
//! 이 모듈에는 `TossiCat-core`가 처리할 수 있는 토시 목록들을 가지고 있습니다.
//! 이 목록은 다음과 같은 총 2개의 상수 리스트로 되어 있습니다.
//!
//! ### `TOSSI_LIST`
//!
//! 현재 이 프로젝트가 처리할 수 있는 총 토시 목록
//!
//! ### `UNCHANGED_LIST`
//!
//! 이 목록은 현재 이 프로젝트가 처리할 수 있는 총 토시 목록 중에서
//! 붙일 단어에 따라 변환할 필요가 없는 토시 목록 입니다.
//! 내부적으로 코드가 사용하고 있지는 않지만, 현재 프로젝트가
//! 어디까지 처리할 수 있는지 파악하기 위해서는 꼭 저장해야 할 목록이기 때문에
//! 이런 형식으로 프로젝트 안에 코드로 저장하게 되었습니다.
//!
//! 참고로 이 두 목록은 다음 두 파일과 같이 갱신하게 됩니다.
//!
//! - docs/total_tossi.json
//! - docs/available_tossi_list.md
//!
//! 따라서 코드를 사용할 때 이 두 개의 파일도 적절하게 변경되었는지 확인할 필요가 있습니다.

pub const TOSSI_LIST: [&str; 205] = [
    "(아)야",
    "(가)이",
    "(과)와",
    "(는)은",
    "(를)을",
    "(와)과",
    "(으)로",
    "(으)로부터",
    "(으)로서",
    "(으)로써",
    "(은)는",
    "(을)를",
    "(이)가",
    "(이)고",
    "(이)나",
    "(이)나마",
    "(이)니",
    "(이)다",
    "(이)든",
    "(이)든가",
    "(이)든지",
    "(이)라고",
    "(이)라도",
    "(이)라야",
    "(이)란",
    "(이)랑",
    "(이)며",
    "(이)야말로",
    "(이)여",
    "",
    "가(이)",
    "같이",
    "거나",
    "",
    "게서",
    "",
    "",
    "과(와)",
    "까지",
    "",
    "께서",
    "",
    "나마",
    "",
    "는(은)",
    "",
    "",
    "더러",
    "대로",
    "",
    "",
    "든가",
    "든지",
    "라고",
    "라도",
    "라야",
    "",
    "",
    "",
    "로부터",
    "로서",
    "로써",
    "",
    "를(을)",
    "마냥",
    "마다",
    "마저",
    "",
    "만큼",
    "",
    "밖에",
    "보다",
    "부터",
    "",
    "야말로",
    "",
    "에게",
    "에게로",
    "에게서",
    "에다가",
    "에서",
    "에서부터",
    "",
    "",
    "와(과)",
    "으로",
    "으로부터",
    "으로서",
    "으로써",
    "",
    "은(는)",
    "",
    "을(를)",
    "",
    "",
    "이(가)",
    "이고",
    "이나",
    "이나마",
    "이니",
    "이다",
    "이든",
    "이든가",
    "이든지",
    "이라고",
    "이라도",
    "이라야",
    "이란",
    "이랑",
    "이며",
    "이야말로",
    "이여",
    "인들",
    "인즉",
    "조차",
    "처럼",
    "커녕",
    "하고",
    "한테",
    "한테로",
    "한테서",
    "",
    "",
    "일랑",
    "(이)지",
    "",
    "이지",
    "(이)지만",
    "지만",
    "이지만",
    "(이)니까",
    "니까",
    "이니까",
    "(이)건",
    "",
    "이건",
    "(이)거든",
    "거든",
    "이거든",
    "(이)거나",
    "이거나",
    "(이)냐",
    "",
    "이냐",
    "(이)라면",
    "라면",
    "이라면",
    "(이)라서",
    "라서",
    "이라서",
    "(이)라는",
    "라는",
    "이라는",
    "(이)에요",
    "에요",
    "예요",
    "이에요",
    "(이)었다",
    "었다",
    "였다",
    "이었다",
    "(이)어서",
    "어서",
    "여서",
    "이어서",
    "(으)로도",
    "로도",
    "으로도",
    "(으)로만",
    "로만",
    "으로만",
    "(으)로는",
    "로는",
    "으로는",
    "(으)로의",
    "로의",
    "으로의",
    "(이)라니",
    "라니",
    "이라니",
    "(이)란다",
    "란다",
    "이란다",
    "(이)라면서",
    "라면서",
    "이라면서",
    "(이)라든가",
    "라든가",
    "이라든가",
    "(이)라든지",
    "라든지",
    "이라든지",
    "(이)요",
    "",
    "이요",
    "(이)었던",
    "었던",
    "였던",
    "이었던",
    "(이)라고는",
    "라고는",
    "이라고는",
    "(으)로서의",
    "로서의",
    "으로서의",
];

// "거나"는 원래 변환할 필요가 없는 토시로 UNCHANGED_LIST에 포함되어 있었으나,
// "이거나/거나" 변환이 추가되면서 변환이 필요한 토시로 재분류되어
// UNCHANGED_LIST에서 제외하였습니다.
// 여기서 "거나"는 "먹거나", "자거나"처럼 동사 뒤에 붙는 연결 어미가 아니라,
// "학생이거나", "의사거나"처럼 체언 뒤에 붙는 조사로 처리하기 때문입니다.
#[allow(dead_code)]
pub const UNCHANGED_LIST: [&str; 33] = [
    "같이",
    "",
    "게서",
    "까지",
    "",
    "께서",
    "더러",
    "대로",
    "",
    "마냥",
    "마다",
    "마저",
    "",
    "만큼",
    "밖에",
    "보다",
    "부터",
    "",
    "",
    "에게",
    "에게로",
    "에게서",
    "에다가",
    "에서",
    "에서부터",
    "",
    "조차",
    "처럼",
    "커녕",
    "하고",
    "한테",
    "한테로",
    "한테서",
];