morse_code_parser-0.1.0 has been yanked.
Morse Code Parser
Morse Code Parser — це інструмент для парсингу та декодування тексту, закодованого в код Морзе, реалізований на мові програмування Rust.
Опис проєкту
Цей проєкт був створений як демонстрація можливостей роботи з текстовими граматиками та парсингом у Rust за допомогою бібліотеки Pest. Програма дозволяє:
- Парсити код Морзе: визначати його структуру та компоненти.
- Декодувати код Морзе у зрозумілий текст.
- Валідувати введення: перевіряти, чи є вхідні дані допустимими для парсера.
Основні функції
- Парсинг коду Морзе: Вхідний рядок парситься відповідно до граматики, визначеної у файлі
grammar.pest. Результат — структура, яка відображає компоненти коду Морзе. - Декодування: Перетворює закодований текст у зрозумілий людський текст (A-Z, 0-9). Невідомі символи замінюються на
?. - Валідація: Перевіряє введення на наявність некоректних символів, таких як літери або спеціальні символи.
Як запустити
- Клонувати репозиторій:
- Зібрати проєкт:
- Запустити програму:
- Запустити тести:
Приклади використання
Парсинг та декодування
use ;
Результат:
Граматика коду Морзе
Файл grammar.pest:
WHITESPACE = _{ " " | "\t" | "\n" }
morse_char = { "." | "-" }
morse_letter = @{ morse_char+ }
morse_word = { morse_letter ~ (" " ~ morse_letter)* }
morse_code = { morse_word ~ (" / " ~ morse_word)* }
Тестове покриття
Проєкт має понад 50 тестів, які перевіряють:
- Валідність введення.
- Парсинг різних комбінацій символів.
- Декодування з відомими та невідомими символами.
- Крайні випадки, включаючи пусті рядки та довгі текстові блоки.
Для запуску тестів:
Посилання на документацію та crates.io
- Документація (docs.rs): Переглянути документацію
- Crates.io: Сторінка проєкту