Re[8]: Интеллектуальный редактор кода контролирующий синтакс
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.12.03 17:38
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Не взамен — а токмо для разбора текстов, подготовленных в других местах.


Тут оно как с беременностью. Или парсер нужен. Или нет. А если он нужен. То редактор всего лишь удобная фишка.

Еще раз повторю. Если у тебя есть подобная идея, то создай отдельный топк. Не в последню очередь из-за этой подветки темы переехали сюда из дотнета.

Если бы модератором был я. То эта подветка уеха лы бы из той темы сразу же как я ее заметил бы.

LVV>Дерево — только не разбора, а синтаксически-семантическое делается сразу — в редакторе.


Это называется AST (абстрактное синтаксическое дерево). Более того унас это даже будет смесь AST и рефлекшона. Так вот создание AST в обход парсера являлось офтопиком в той теме. Неужели это не ясно?

LVV>А уж из него можно генерить — хочешь тебе — текст, хочешь — IL.


Ну, и зачем тогда говорить о редакторе как об отдельной фиче? Будет готов парсер. Возьми из него описание AST и сделай редактор который будет создавать AST. Вот только в AST много информации уже потеряно. Тут нужно несколько расширять AST вводя в него дополнительные элементы вроде коментариев и строковых представлений литералов (представь ты введешь 1.12345456, а тебе его перепишут c экспонентой.

LVV>А парсер — это фактически конвертер из текста в дерево.


Парсер это более сложная сущоность. Без него говорить о редакторе бессмысленно. Кроме синтаксического разбора в нем делаются семантический разбор и оптимизации. Твое редактор должен хавать уже готовое дерево. Причем дерево нужно сохранять обратно в текст. Самопальные форматы провалились по полной программе.

LVV> Это дополнительная составляющая интегрированной среды (заметь, я не говорю — компилятора).


Это тупиковый подход. Реалистический был бы использование полноценного парсера для загрузки и сериализации в код. Нечто типа полноценного код-дом-провайдера (если ты слышал о таком). Тогда на долю редактора остается уже вполне посильная задача — изменение расширенного AST.

ЗЫ

Еще раз повторю. Не стоило переключать чужую тему. Для обсуждения этой идеи нужно было создать отдельную ветку.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.