День добрый!
Пишу програмку, имеющую интерфейс командной строки (подобно ftp, gnuplot, gdb и т.д.). Встал вопрос о том, каким образом проводить разбор пользовательского ввода. Один из вариантов - использовать YACC/BISON, однако проблема в том, что параметры команд могут, в некоторых случаях иметь значение, совпадающее с именем другой команды. К примеру, есть команда help и есть команда show, требующая имени некоторой сущности. Тогда, вполне корректной была бы следующая конструкция:
show help.
Проблемы:
Лексемами являются не слова целиком, а отдельные символы, следовательно существенно усложняется грамматика языка. Это не смертельно, однако, хотелось бы найти более оптимальное решение.
В связи с этим такие вопросы:
1. Насколько вообще оправдан подход с использованием YACC/BISON?
2. Что делать? Оставить всё как есть или, к примеру, изменить сканер лексем, чтобы он выделял отдельные слова и изменить грамматику? Понятно, что это потребует введения "экранирования".
Всем ответившим по существу заранее благодарен.
Ответ на:
комментарий
от phoenix
Ответ на:
комментарий
от ukez
Ответ на:
комментарий
от phoenix
Ответ на:
комментарий
от syomin
Ответ на:
комментарий
от syomin
Ответ на:
комментарий
от ukez
Ответ на:
комментарий
от syomin
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от achmed
Ответ на:
комментарий
от achmed
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Библиотеки разбора командной строки (2002)
- Форум Кросс-платформенный разбор аргументов командной строки (2020)
- Форум Библиотека для разбора параметров в командной строке (2003)
- Форум Командная строка (2022)
- Форум командная строка (2005)
- Форум командная строка (2013)
- Форум Питон, разбор строки. (2017)
- Форум perl разбор строки (2001)
- Форум парсер командной строки (2012)
- Форум Традиции командной строки (2012)