зависит от того, что считать разбором. выделение слов и знаков препинания — легко :)
но вот если синтаксис и граматику еще при очень большом желании можно формализовать, то семантика сложновата будет — объектов много, сочетаний еще больше, а обработка данных в мозгу вообще не совсем понятна :)
Человеку, который хочеть понять основы написания парсеров надо дато что-то пощупать. А потом уже читать, что такое LL(k) грамматики. И вовсе не на Хабре — есть же более академические источники.
ну тут кому совсем «тупо ехать», просто возьмут готовую библиотеку и не будут заморачиваться с пониманием «как оно там внутри» :)
вообще, в плане объяснений, я предпочитаю рассказывать «на пальцах» и без определений — формализированного текста и так горы написано, зачем его копировать, а вот примеры его применения с объяснениями иногда приходится искать…
оффтопик: а если смотреть на студентов — часто преподавание и контроль в лучших традициях формализма порождает (кроме, конечно, позитивных сторон) некое множество псевдо-отличников, которые знают все определения и могут их правильно компоновать. да вот только объяснить их природу не в силе…
ну, при таком подходе имеет смысл не просто показать но и объяснить суть алгоритма.
чуть более подробно, чем «простенький рекурсивный разбор».
вот я далеко не студент, а глядя на пример алгоритма — совершенно не понимаю как его реализовать в функциональном программировании.
(собственно, потому и коммент про хаскель :)
Вычисление значения выражения «на коленке»