Сообщение Теория компиляции и разбор параметров командной строки от 04.08.2016 15:20
Изменено 04.08.2016 15:41 Arsen.Shnurkov
Логично было бы описать синтаксис командной строки при помощи EBNF.
Ну EBNF — это стандарт, а теория компиляции у нас вообще одна — если не регэкспы, так БНФ.
Тем не менее, я нигде не видел, чтобы к разбору аргументов командной строки подходили именно таким способом
(то есть формально описывая грамматику с обработкой ошибок
и генерируя парсер, который выдаёт внятную диагностику)
А вы видели?
Ну EBNF — это стандарт, а теория компиляции у нас вообще одна — если не регэкспы, так БНФ.
Тем не менее, я нигде не видел, чтобы к разбору аргументов командной строки подходили именно таким способом
(то есть формально описывая грамматику с обработкой ошибок
и генерируя парсер, который выдаёт внятную диагностику)
А вы видели?
Теория компиляции и разбор параметров командной строки
Логично было бы описать синтаксис командной строки при помощи EBNF.
Ну EBNF — это стандарт, а теория компиляции у нас вообще одна — если не регэкспы, так БНФ.
Как описывать — примерно понятно:
https://stackoverflow.com/questions/2599649/how-to-correctly-formalize-the-command-line-usage-of-gnu-linux-commands
https://stackoverflow.com/questions/16331973/grammar-for-linux-command-line-with-yacc-and-lex
Тем не менее, я нигде не видел, чтобы к разбору аргументов командной строки подходили именно таким способом
(то есть формально описывая грамматику с обработкой ошибок
и генерируя парсер, который выдаёт внятную диагностику)
А вы видели?
Ну EBNF — это стандарт, а теория компиляции у нас вообще одна — если не регэкспы, так БНФ.
Как описывать — примерно понятно:
https://stackoverflow.com/questions/2599649/how-to-correctly-formalize-the-command-line-usage-of-gnu-linux-commands
https://stackoverflow.com/questions/16331973/grammar-for-linux-command-line-with-yacc-and-lex
Тем не менее, я нигде не видел, чтобы к разбору аргументов командной строки подходили именно таким способом
(то есть формально описывая грамматику с обработкой ошибок
и генерируя парсер, который выдаёт внятную диагностику)
А вы видели?