Dec 07, 2016 08:13
Учебные курсы по грамматикам называются «теория автоматов». Это примечательно. Автомат - это реализация парсера. В курсе «теория автоматов» изучают оптимизацию парсеров. Это вопрос сложный. В ходе оптимизации парсер теряет мощность. Например, парсер «вниз» не переваривает леворекурсивные грамматики. Для парсеров LR и LALR вообще трудно понять, какие классы грамматик они переваривают.
Разве теории формальных языков включает только оптимизацию парсеров? Можно изучить более простые и менее эффективные парсеры. Можно изучить принтеры. Мне кажется, эти темы не изучаются потому, что они слишком простые. Как бы получается, что там нечего изучать. Я считаю, что обучение должно идти от простого к сложному. Поэтому пропускать эти простые темы ни в коем случае нельзя.
computer science,
education,
algorithm