Лабораторная
работа №1.
Преамбула
Одним из старейших интерфейсов взаимодействия человека и компьютера является CLI (Command Line Interface),
в рамках которого определяются базовые правила формирования команд компьютерной системе.
Задание
Рассмотрим упрощенные и несколько модифицированные правила формирования команд в CLI:
- Команда состоит только из набора латинских букв и цифр
- Команда может иметь параметры и опции
- Параметры и опции отделяются друг от друга и от команды
произвольным кол-вом пробелов
- Лидирующие и завершающие пробелы в командной строке игнорируются
- Параметры могут содержать латинские буквы, цифры, знак подчеркивания.
- Опции могут содержать латинские буквы и начинаются со знаков
"-" или "/". Опция может быть пустой, т.е. состоять только из знака "-" или "/".
Создать консольную программу на любом языке программирования,
которая на стандартном входе принимает набор строк, а на выходе, при успешной обработке,
для каждой исходной строки выводит символьный разделитель (напр. "----------------------------------------------------")
и четыре блока, разделенных пустой строкой:
- исходную строку
- команду
- параметры по одному в каждой строке
- опции по одной в каждой строке
Если введенная строка
содержит ошибки, то на выходе программы два блока:
- исходная строка
- Слово Error и номер позиции ошибки в исходной строке
Анализируется только первая ошибка.
Пример исходного набора данных:
test
test -h /h -h -f firstfile /help -suboption nextfile
тест
copy abc.txt xyz.txt
mv abc xyz -f-b
xcopy /?
Пример результирующего набора данных:
---------------------------
Error 1
---------------------------
test
test
---------------------------
test -h /h -h -f firstfile /help -suboption nextfile
test
firstfile
nextfile
-h
/h
-h
-f
/help
-suboption
---------------------------
тест
Error 1
---------------------------
copy abc.txt xyz.txt
Error 9
---------------------------
mv abc xyz -f-b
Error 14
---------------------------
xcopy /?
Error 8
Пример программы обработки (без поддержки опций)