1. Имеется программа(выданная преподавателем, файл IdiomParser/ASSEMBLY.sln , а именно в проекте recognizer), которая отображает в память бинарный файл.
drive.google.com/file/d/1... 2. Модифицировать программу выданную преподавателем так чтобы она производила поиск эквивалентной паттерну копии в бинарном файле TEMPLATES.txt (то есть замена каждого латинского слова из INPUT.txt на соответствующее ему русское находящееся в TEMPLATES.txt), используя файл-библиотеку пар «бинарный паттерн-код действия» библиотеку идиом, то есть файл lib.xml (в ней описываются методы применяемые для каждого распознаваемого латинского слова из файла INPUT.txt)
Скриншоты
drive.google.com/file/d/1... drive.google.com/file/d/1... В случае совпадения вызывать/запустить связанный с паттерном код, схема работы указана на рисунке
drive.google.com/file/d/1... 3.Для БИНАРНОГО ПОИСКА адаптировать Алгоритм Кнута-Морриса-Пратта (
habr.com/ru/post/307220/) ПОЯСНЕНИЯ:
1)В коде выданном преподавателем
drive.google.com/file/d/1... реализовано распознавание описания пар и создания сборок, и код поиска паттернов идиом в виде строк.
Т.е. для идиом вида:
idiom template string "abcd"
action cs {
некоторый код на C# (какое то заменяемое слово, они есть в TEMPLATES.txt)
}
- производится поиск строки "abcd" и при нахождении ее производится вызов кода секции action.
То есть выданный код необходимо дополнить так, чтобы выполнялось так:
Из файла INPUT.txt c текстом
«Как говорили древние греки Per aspera ad astra"
Создался файл output.txt с текстом
«Как говорили древние римляне Через тернии к звездам»
2) Файл input.txt содержит текст, в котором производится поиск идиом из файла lib.xml, при вызове процедур действий которых создается файл output.txt.