На тижні прийшлося написати невеличкий парсер, для розбору пошукового запиту (ну, знаєте, “шось OR (шось AND шось)”, трошки більш заморочено). І, мушу визнати, це було боляче. :) У мене в житті ніколи не було періоду, коли б я займався парсерами довго, і тому кожен раз я розбираюся, пишу, роблю паузу в кілька років — і приходиться розбиратися мало не з нульовими знаннями, забувається все дуже сильно.
Це дуже бісить! Написання простого рекурсивного спуску (recursive descent) — дуже проста річ, яка повинна бути в арсеналі кожного програміста. Бо відсутність розуміння, що ти це можеш зробити сам — приводить до того, що в потрібний момент ти не побачиш короткого шляху.
Авжеж, це частково вирішується написанням поста в блог, який мені самому буде легко проглянути і згадати що до чого. :) Я й так зараз просто уважно почитав код Твінспарка, ггг. :)
Але ж його більше ніхто і не прочитає, про парсинг і так тищі раз написано, то може зробити стрім? З написанням простого парсеру на джаваскрипті, без пріоритетів операторів (EDIT: капець, я не знав, чи забув, що в AND та OR є пріоритети - але робити їх не хочу все одно), щось невеличке. Цікаво б таке було взагалі? Десь сьогодні о 17 чи 18? Я думаю, що навіть з поясненнями це буде година-півтори.