Интеллектуальный редактор кода контролирующий синтаксис при
От: LaptevVV Россия  
Дата: 11.12.03 09:01
Оценка: 54 (9) +1 -1
Здравствуйте, VladD2, Вы писали:
Все поскипано.
Компилятор в своем классическом виде — это устаревшая концепция.
ДОСТАЛО в IDE набирать программу посимвольно!
Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой. Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.
Отталкиваться надо от семантики языка — почитайте и Страуструпа о том же в Дизайн и эволюция.
Соответственно редактор сразу работает с внутренним представлением программы (синтаксчески-семантичекой конструкцией программы). О, только что идея пришла в голову, что внутренним представлением может быть IL!!
Таким образом, при таком редакторе нужен будет только генератор кода. Парсер и лексер — в принципе не нужны! В том классическом виде, как они сейчас понимаются. Особенно лексер ( в смысле сканер). Хотя лекго может быть выполнена обратный перевод в текст (для совместимости).
Естественно, редактор должен обладать полной информацией по синтаксису и семантике языка.
Вокруг такого редактора и отладчик легче строить и профайлер.
Мои студенты пытались даже обобщить это дело на класс процедурных языков.


12.07.04 14:17: Перенесено модератором из 'R#' — VladD2
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: achp  
Дата: 11.12.03 09:04
Оценка: 9 (2) +1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования.

LVV>Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой.

Сразу вспомнился ZX Spectrum.

Опять ночью будут кошмары сниться...
Да здравствует ИМХО!
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 11.12.03 09:05
Оценка:
Здравствуйте, achp, Вы писали:

LVV>>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования.

LVV>>Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой.
A>Сразу вспомнился ZX Spectrum.
Бог миловал!
A>Опять ночью будут кошмары сниться...
Почему?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: SiAVoL Россия  
Дата: 11.12.03 09:13
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, VladD2, Вы писали:

LVV>Все поскипано.
LVV>Компилятор в своем классическом виде — это устаревшая концепция.
LVV>ДОСТАЛО в IDE набирать программу посимвольно!
Сразу же спектрумовский BASIC вспоминается...
... << RSDN@Home 1.1.2 beta 2 >>
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: mikа Stock#
Дата: 11.12.03 09:15
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой.


Visual Assist смотрел? Как раз про то, что ты говоришь. Даже в новой студии такого не воссоздали.
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: Serpent_ Россия  
Дата: 11.12.03 09:20
Оценка:
Здравствуйте, mikа, Вы писали:

M>Visual Assist смотрел? Как раз про то, что ты говоришь. Даже в новой студии такого не воссоздали.

Ну, идея-то в воздухе витает!
Но VA не смотрел. Где и как взять? Регистрироваться надо обязательно?
А то компилеры intelовские только через обязательную регистрацию нужно делать.
А там столько писать — прям не знаю
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: Dr_Sh0ck Беларусь  
Дата: 11.12.03 09:21
Оценка:
Здравствуйте, mikа, Вы писали:

M>Visual Assist смотрел? Как раз про то, что ты говоришь. Даже в новой студии такого не воссоздали.


ИМХО ты несколько не понял. Мне кажется LaptevVV имел ввиду другое. VA действует как раз на уровне символов редактора, просто предоставляя в т.ч. по необходимости удобные шаблонные заготовки. Речь же щла об "интеграции" части языкового процессора в редактор.
Do not fake yourself ;)
ICQ#: 198114726
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: mikа Stock#
Дата: 11.12.03 09:25
Оценка:
Здравствуйте, Dr_Sh0ck, Вы писали:

D_S>Здравствуйте, mikа, Вы писали:


M>>Visual Assist смотрел? Как раз про то, что ты говоришь. Даже в новой студии такого не воссоздали.


D_S>ИМХО ты несколько не понял. Мне кажется LaptevVV имел ввиду другое. VA действует как раз на уровне символов редактора, просто предоставляя в т.ч. по необходимости удобные шаблонные заготовки. Речь же щла об "интеграции" части языкового процессора в редактор.


Я понял. Идея с "жесткими" шаблонами не всегда удобна.
Re[5]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: Dr_Sh0ck Беларусь  
Дата: 11.12.03 09:32
Оценка:
Здравствуйте, mikа, Вы писали:

M>Я понял. Идея с "жесткими" шаблонами не всегда удобна.


Да речь идет не о шаблоне просто текста. Речь идет о конкретной синтаксической конструкции языка. А для любого язка, можно сказать, она зашита жестко
Do not fake yourself ;)
ICQ#: 198114726
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: achp  
Дата: 11.12.03 09:33
Оценка:
Здравствуйте, LaptevVV, Вы писали:

A>>Опять ночью будут кошмары сниться...

LVV>Почему?

Це я шуткую.
Да здравствует ИМХО!
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: Serpent_ Россия  
Дата: 11.12.03 09:41
Оценка:
Здравствуйте, Dr_Sh0ck, Вы писали:

M>>Visual Assist смотрел? Как раз про то, что ты говоришь. Даже в новой студии такого не воссоздали.


D_S>ИМХО ты несколько не понял. Мне кажется LaptevVV имел ввиду другое. VA действует как раз на уровне символов редактора, просто предоставляя в т.ч. по необходимости удобные шаблонные заготовки. Речь же щла об "интеграции" части языкового процессора в редактор.

Именно так!!!
TEMC еще в турбо-системах был сделан. Так это ж простой текствый макрос — без проверки синтаксиса и тем более, без соответствующего представления во внутреннем формате.
Потом этот текст, какой-бы он правильный не был: лексится и парсится, хотя это уже не требуется!
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: alku  
Дата: 11.12.03 09:45
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, VladD2, Вы писали:

LVV>Все поскипано.
LVV>Компилятор в своем классическом виде — это устаревшая концепция.
LVV>ДОСТАЛО в IDE набирать программу посимвольно!
LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой. Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.
LVV>Отталкиваться надо от семантики языка — почитайте и Страуструпа о том же в Дизайн и эволюция.
LVV>Соответственно редактор сразу работает с внутренним представлением программы (синтаксчески-семантичекой конструкцией программы). О, только что идея пришла в голову, что внутренним представлением может быть IL!!
LVV>Таким образом, при таком редакторе нужен будет только генератор кода. Парсер и лексер — в принципе не нужны! В том классическом виде, как они сейчас понимаются. Особенно лексер ( в смысле сканер). Хотя лекго может быть выполнена обратный перевод в текст (для совместимости).
LVV>Естественно, редактор должен обладать полной информацией по синтаксису и семантике языка.
LVV>Вокруг такого редактора и отладчик легче строить и профайлер.
LVV>Мои студенты пытались даже обобщить это дело на класс процедурных языков.

что-то так ZX-спектрумаи повеяло...
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: mrhru Россия  
Дата: 11.12.03 10:08
Оценка: 58 (4) -1 :))) :))) :))) :))) :))) :))) :))) :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Все поскипано.

LVV>Компилятор в своем классическом виде — это устаревшая концепция.
LVV>ДОСТАЛО в IDE набирать программу посимвольно!
LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой. Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.

Действительно хорошая идея!

LVV>Отталкиваться надо от семантики языка — почитайте и Страуструпа о том же в Дизайн и эволюция.

LVV>Соответственно редактор сразу работает с внутренним представлением программы (синтаксчески-семантичекой конструкцией программы). О, только что идея пришла в голову, что внутренним представлением может быть IL!!

Гм. А как насчёт оптимизации? Или потом "компилировать окончательно"?
А если программа находится в ещё не готовом виде и её просто нельзя откомпилироваь в MSIL?

LVV>Таким образом, при таком редакторе нужен будет только генератор кода. Парсер и лексер — в принципе не нужны! В том классическом виде, как они сейчас понимаются. Особенно лексер ( в смысле сканер). Хотя лекго может быть выполнена обратный перевод в текст (для совместимости).

LVV>Естественно, редактор должен обладать полной информацией по синтаксису и семантике языка.

Я так понимаю, в редакторе будут помечаться места, где можно что-то писать своё?
А фактически даже не писать, а в соответствии с грамматикой языка редактор может предоставлять список возможных "ходов".




PS. Не воспринимайте серьёзно, почему-то представилось:
Вот программист хочет написать a = b + c;
написал
a = b
и нажал Ctrl+Space.
IDE заглянул в грамматику, там написано "+" | "-" | "*" | "/"
и выдаёт wizard:

"Выбор арифметического оператора"

  Этот мастер соберёт все необходимые 
    сведения и поможет Вам выбрать
   арифметический оператор для Вашей
  программы. Для продолжения нажмите
              клавишу "Дальше"
     
      {Дальше>>} {Отмена}


на следующей закладке

"Выборите подходящий оператор"
  ( )  +
  ( )  -
  ( )  *
  ( )  /
  ( )  Всё равно
  (*)  Выбрать наилучший

{<<Назад} {Дальше>>} {Отмена}


далее

"Выбор арифметического оператора"

      Мастер выбора арифметического 
      оператора собрал все необходимые
  сведения для установки арифметического 
      оператора в Вашу программу. 
    
    Для завершения установки нажмите 
          клавишу "Готово"

{<<Назад} {Готово>>} {Отмена}


Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.03 20:23
Оценка: 7 (1) +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Компилятор в своем классическом виде — это устаревшая концепция.

LVV>ДОСТАЛО в IDE набирать программу посимвольно!
LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой. Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.

Вобщем UML

На самом деле для промышленного применения такая концепция не годится, только студентов учить.
... << RSDN@Home 1.1.2 beta 2 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: alexkro  
Дата: 11.12.03 20:37
Оценка: 16 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, VladD2, Вы писали:

LVV>Все поскипано.
LVV>Компилятор в своем классическом виде — это устаревшая концепция.
LVV>ДОСТАЛО в IDE набирать программу посимвольно!
LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. ...

Симони, слышь, люди что хотят! http://www.intentionalsoftware.com/
Re[2]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.03 21:23
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Нуж на просто другая IDE (редактор кода, конечно), заточенная под язык программирования. Редактор должен оперировать конструкциями языка а не символами. Простой пример — по клавише сразу появляется заготовка оператора for со всеми скобками b точками с запятой. Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.




Проснулся. В Gupta SQLWindows — это было еще в 94-ом году! Кое что скоро появится в Видби.

Но это все редактирование кода. Не более. Да удобчно, да быстро, но только то!

А компилятор давет возможность решения именно алгоритмических проблем.

Идея языка без текста утопична. Гуптори быстро разбили себе лоб об простое хранение версий. Нонтроль версий прекрасно работает для текста, но не для бинарного представления.

Намного проще и грамотнее сделать редактор который будет все так же загружать текст, но редактировать как ты говоришь.

Но еще раз повторю, сам язык от этого не исчезнет и его возможности шире не станут.

Я не мало работал на Гупте и мне даже нравился его редактор. Но редактор в студии объективно мощьнее, да и работать с текстом за частую гибче, чем в рамках спец-редактора.


В общем, это разные задачи. Одна другую не заменяет.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.03 21:23
Оценка: 2 (2) +1 :))) :))) :))) :))
Здравствуйте, mrhru, Вы писали:

M>
M>"Выбор арифметического оператора"

M>  Этот мастер соберёт все необходимые 
M>    сведения и поможет Вам выбрать
M>   арифметический оператор для Вашей
M>  программы. Для продолжения нажмите
M>              клавишу "Дальше"
         
   Эта операция может знять 
        несколько митут...
     
M>      {Дальше>>} {Отмена} 
M>
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: Воронков Василий Россия  
Дата: 11.12.03 21:31
Оценка: 7 (3) +4 :))) :))) :))) :))) :)))
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, mrhru, Вы писали:


M>>
M>>"Выбор арифметического оператора"

M>>  Этот мастер соберёт все необходимые 
M>>    сведения и поможет Вам выбрать
M>>   арифметический оператор для Вашей
M>>  программы. Для продолжения нажмите
M>>              клавишу "Дальше"
         
VD>   Эта операция может знять 
VD>        несколько митут...
     
M>>      {Дальше>>} {Отмена} 
M>>


Работа мастера завершена

Мастер выбора арифметического оператора
успешно завершил свою работу. Для того, чтобы
изменения вступили в силу вам необходимо перезагрузить
Windows.
... << RSDN@Home 1.1.2 beta 1 >>
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 15.12.03 06:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>


VD>Проснулся. В Gupta SQLWindows — это было еще в 94-ом году! Кое что скоро появится в Видби.

А должно было появиться — в году этак 1984
VD>Но это все редактирование кода. Не более. Да удобчно, да быстро, но только то!
Не-е-е-е-е-т!
Эт я просто про редактор написал, а здесь же гипертекстовая организация проекта с завязкой на код здорово катит!
VD>А компилятор давет возможность решения именно алгоритмических проблем.
Только лексить и парсить — не требуется правильный текст — он правильный!
Нужна только часть касающаяся перевода — Даже промежуточное представление генерировать отдельно специально — не нужно — оно при вводе сразу генерится.
VD>Идея языка без текста утопична. Гуптори быстро разбили себе лоб об простое хранение версий. Нонтроль версий прекрасно работает для текста, но не для бинарного представления.
Ага, просто никто всерьез этим не занимался. Не вижу принципиальных проблем хранить версию текста или версию программы ( на IL — см. выше).
VD>Намного проще и грамотнее сделать редактор который будет все так же загружать текст, но редактировать как ты говоришь.
Ну, так это дополнительная фича, естественно для обратной совместимости с сегодняшними компиляторами-редакторами.
VD>Но еще раз повторю, сам язык от этого не исчезнет и его возможности шире не станут.
И не надо! Исчезнет масса рутинной работы и куча раздражающих ошибок. Особеноо для начинающих.
VD>Я не мало работал на Гупте и мне даже нравился его редактор. Но редактор в студии объективно мощьнее, да и работать с текстом за частую гибче, чем в рамках спец-редактора.
VD>В общем, это разные задачи. Одна другую не заменяет.
Да. Только лексить и парсить правильный текст не надо. А отсюда все разговоры о написании лекс ера и парсера — просто не нужны. Хотя о семантике и гамматике и внутреннем представлении — обязательно!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 15.12.03 06:46
Оценка: +1
Здравствуйте, mrhru, Вы писали:

M> Действительно хорошая идея!

M>Гм. А как насчёт оптимизации? Или потом "компилировать окончательно"?
M>А если программа находится в ещё не готовом виде и её просто нельзя откомпилироваь в MSIL?
Ну, это еще в 70-х проходили — так называемые пошаговые компиляторы.
M>Я так понимаю, в редакторе будут помечаться места, где можно что-то писать своё?
M>А фактически даже не писать, а в соответствии с грамматикой языка редактор может предоставлять список возможных "ходов".
M>PS. Не воспринимайте серьёзно, почему-то представилось:
M>Вот программист хочет написать a = b + c;
M>написал
M>a = b
M>и нажал Ctrl+Space.
M>IDE заглянул в грамматику, там написано "+" | "-" | "*" | "/"
M>и выдаёт wizard:
Поскипано
Не, кроме арифметических операций представить ничего невозможно, да
Как раз выражения разрешается вводить посимвольно.
Но тут прямо просится следующее:
— следитбь за вводом чисел;
— следить за объявленными-необъявленными именами.
Это навскидку только.
M>
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.