Редактор структуры


Редактор структуры , а также структурированный редактор или проекционный редактор — это любой редактор документов, осведомленный о базовой структуре документа . Редакторы структуры можно использовать для редактирования иерархического или размеченного текста , компьютерных программ , диаграмм , химических формул и любого другого типа содержимого с четкой и четко определенной структурой. Напротив, текстовый редактор — это любой редактор документов, используемый для редактирования простых текстовых файлов . [ нужно уточнение ]

Как правило, преимущества редактирования текста и структуры объединяются в пользовательском интерфейсе одного гибридного инструмента. Например, Emacs по своей сути является текстовым редактором, но поддерживает манипулирование словами, предложениями и абзацами как структурами, выводимыми из текста. И наоборот, Dreamweaver по своей сути является структурным редактором для размеченных веб-документов, но также поддерживает отображение необработанного HTML - текста и манипулирование им. Точно так же редакторы молекул обычно поддерживают как графический, так и текстовый ввод. Редактирование структуры преобладает, когда содержимое является графическим , а текстовые представления неудобны, например, системы САПР и PowerPoint.. Редактирование текста преобладает, когда содержимое в значительной степени лишено структуры, например, текстовые поля в веб-формах. Системы обработки текста WYSIWYG , такие как Word , которые, по-видимому, редактируют форматированный текст напрямую, по сути являются структурными редакторами базового размеченного текста.

В лингвистике синтаксис - это изучение структуры грамматических высказываний, и, соответственно, синтаксически-направленный редактор является синонимом редактора структуры. Языковой редактор и языковой редактор также являются синонимами. Возможности языкового редактора могут быть реализованы специальным кодом или формальной грамматикой . Например, чувствительность к языку в Emacs реализована в определении Лиспа режима редактирования для данного языка. Напротив, чувствительность к языку в редакторе XML управляется формальной схемой DTD для данного языка.

Хотя структурированные редакторы позволяют просматривать базовый документ и манипулировать им в структурированном виде, формат файла, в котором документ хранится на диске, может быть или не быть сильно структурированным, а также может быть или не быть открытым или стандартизированным (например, обычный текст или документы Microsoft Word).

Редактирование структуры часто используется в редакторах исходного кода , поскольку исходный код естественно структурирован синтаксисом компьютерного языка. Однако большинство редакторов исходного кода представляют собой текстовые редакторы с дополнительными функциями, такими как подсветка синтаксиса и свертывание кода , а не редакторы структуры. Редакторы в некоторых интегрированных средах разработки выполняют синтаксический анализ исходного кода и генерируют дерево синтаксического анализа, обеспечивая тот же анализ, что и редактор структур, но фактическое редактирование исходного кода обычно выполняется в виде необработанного текста.

Каждый язык программирования обычно имеет четко определенный синтаксис, заданный контекстно-свободной грамматикой , и, соответственно, значимые структурные элементы в исходном коде , написанном на языке, соответствуют грамматическим фразам в тексте. Ранние редакторы исходного кода, ориентированные на синтаксис, включали Interlisp-D (для ограниченного синтаксиса Lisp ) и Emily [1] (для расширенного синтаксиса PL/I ).