Текстовые редакторы позволяют писать невалидный код. Древовидные редакторы не позволили бы.
Каждый компилятор видит ваш код как дерево, но редактор позволяет редактировать сырой текст. Вот как выглядит структурное редактирование на самом деле, почему оно не захватило мир и как получить его преимущества, не меняя инструменты.
У каждого языка программирования есть формальная грамматика. Компилятор читает её, строит parse tree и отвергает всё, что не подходит. Редактор полностью…