Синтаксический анализ программ считается давно изученной и почти даже скучной областью. Но при применении теории к практике текстовых редакторов часто выясняется, что привычные формализмы работают плохо и разработчикам приходится предлагать неординарные решения. В своей статье "SMIE: Simple Minded Indentation Engine" Стефан Монье излагает суть проблемы автоматического расставления отступов и описывает решение на базе грамматик с операторным предшествованием (operator-precedence grammars), используемое в Емаксе.
http://www-labs.iro.umontreal.ca/~monnier/smie.pdf
#parsing #editor #indentation #emacs #smie
http://www-labs.iro.umontreal.ca/~monnier/smie.pdf
#parsing #editor #indentation #emacs #smie