compiler-design

  • ある程度コンパイラのコードベースが大きくなってくると、認知負荷がでかくなってくる
  • かといって、コードをコンパクトに保とうとすると、一箇所の変更がしづらくなっていく
    • かといって、頑張ってインターフェースを切って分離性を高めていくと、全体の把握はしづらくなる
  • そりゃ全体を把握しなくいても継続的に開発できるようにするのが目的なのでそうなんだけど
  • 例えば、シンタックスツリーにRed Green Syntax Treeをあとから使おうとすると、さすがに書き換えが大変
    • だが、Language Serverを作ろうと思ったらいつかは必要
    • これをインクリメンタルに開発するのは無理だよなあ