OberonCore
https://forum.oberoncore.ru/

Базовые паттерны циклов
https://forum.oberoncore.ru/viewtopic.php?f=82&t=2257
Страница 4 из 4

Автор:  ain [ Четверг, 22 Апрель, 2010 08:12 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Сергей Прохоренко писал(а):
Кстати, мой замысел заключается в том, чтобы вся шаблонная конструкция вставлялась в код одним щелчком мыши, а потом вместо заглушек с подсказками типа "<введите условие поиска>" программист бы вставлял требуемые условия и действия. При такой технологии громоздкость не имеет никакого значения, так как не приходится вбивать с клавиатуры каждый оператор. А главное, что улучшается читабельность кода.

На Лазарусе/Дельфи есть подстановка. Ctrl+J - и вот, любая шаблонная конструкция в тексте (какую придумаешь, если это ещё не стоит по умолчанию).

Автор:  Евгений Темиргалеев [ Четверг, 22 Апрель, 2010 08:17 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

ain писал(а):
На Лазарусе/Дельфи есть подстановка. Ctrl+J - и вот, любая шаблонная конструкция в тексте (какую придумаешь, если это ещё не стоит по умолчанию).
i21sysEdit добавляет тоже в Блэкбокс по F5.

Автор:  Валерий Лаптев [ Четверг, 22 Апрель, 2010 10:40 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

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

Автор:  Александр Ильин [ Четверг, 22 Апрель, 2010 10:45 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Валерий Лаптев писал(а):
Принципиальный момент состоит в том, чтобы после подобных клавиш компилятор не занимался синтаксическим анализом, ибо заранее известно, что конструкция правильная. То есть имеет смысл возложить проверку синтаксиса на редактор, который "внутре" сразу будет формировать синтаксическое дерево или какую-нить другую модель, но не текст, пусть даже и двумерный.
ЛолЪ. А если в конструкии IF...THEN присваивание будет?
Или логические выражения тоже специальным конструктором собирать?

Автор:  Валерий Лаптев [ Четверг, 22 Апрель, 2010 10:48 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Александр Ильин писал(а):
Валерий Лаптев писал(а):
Принципиальный момент состоит в том, чтобы после подобных клавиш компилятор не занимался синтаксическим анализом, ибо заранее известно, что конструкция правильная. То есть имеет смысл возложить проверку синтаксиса на редактор, который "внутре" сразу будет формировать синтаксическое дерево или какую-нить другую модель, но не текст, пусть даже и двумерный.
ЛолЪ. А если в конструкии IF...THEN присваивание будет?
Или логические выражения тоже специальным конструктором собирать?

Как раз такие весчи я сейчас и исследую...

Автор:  Info21 [ Четверг, 22 Апрель, 2010 11:24 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Валерий Лаптев писал(а):
Принципиальный момент состоит в том, чтобы после подобных клавиш компилятор не занимался синтаксическим анализом
Не понял, зачем так жизнь усложнять, когда можно просто Ctrl+K почаще жать.

Разве для упражнения :)

Автор:  Валерий Лаптев [ Четверг, 22 Апрель, 2010 13:40 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Info21 писал(а):
Валерий Лаптев писал(а):
Принципиальный момент состоит в том, чтобы после подобных клавиш компилятор не занимался синтаксическим анализом
Не понял, зачем так жизнь усложнять, когда можно просто Ctrl+K почаще жать.
Разве для упражнения :)

Жизнь компилятора - существенно упрощается, жизнь редактора несколько усложняется... :)
CTRL-К - это при пользовании ЧУЖИМ компилятором. А когда пишешь свой - нету еще ничего... :)

Автор:  Евгений Темиргалеев [ Четверг, 22 Апрель, 2010 14:25 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Валерий Лаптев писал(а):
CTRL-К - это при пользовании ЧУЖИМ компилятором. А когда пишешь свой - нету еще ничего... :)
Речь идёт про связку редактор+компилятор?

Автор:  Rifat [ Четверг, 22 Апрель, 2010 16:04 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Валерий Лаптев писал(а):
Принципиальный момент состоит в том, чтобы после подобных клавиш компилятор не занимался синтаксическим анализом, ибо заранее известно, что конструкция правильная. То есть имеет смысл возложить проверку синтаксиса на редактор, который "внутре" сразу будет формировать синтаксическое дерево или какую-нить другую модель, но не текст, пусть даже и двумерный.

Вообще идея конечно интересная. Редактор может строить синтаксическое дерево и изменять его при каждом редактировании, при этом будут затрагиваться только те элементы синтаксического дерева, которые только что были изменены. При нажатии на кнопку компиляции редактор может передать компилятору уже готовое синтаксическое дерево.
Единственное, надо очень хорошо подумать над алгоритмом интерактивного разбора текста и работы с синтаксическим деревом.

Автор:  Валерий Лаптев [ Пятница, 23 Апрель, 2010 13:59 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Вернемся к базовым формам циклов. Мне ОЧЕНЬ понравилось в Алгоритмах Вирта специальное упоминание о том, что поиск делением пополам принципиально от линейного не отличается. Для этого в схеме бинарного поиска специально выделены части, которым ставятся в соответсвие соответствующие :) части в исходном линейном поиске.
Правда, я не понял, это Вирт так написал, или уже добавка Федор Василича.
В другом месте было явное упоминание о цикле дейкстры, но тоже без примечания переводчика.
Насколько я помню в прежних версиях таких упоминаний не было.

Автор:  Info21 [ Пятница, 23 Апрель, 2010 18:50 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Валерий Лаптев писал(а):
но тоже без примечания переводчика.
Все изменения авторизованы. Поэтому без примечаний переводчика. Тем более их там довольно много, хотя большинство мелкие.

Автор:  Валерий Лаптев [ Пятница, 23 Апрель, 2010 20:36 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Наш второй курс седни признался, что книжка сильно помогла делать лабы по структурам данных и алгоритмам. Хотя сдавали их на С++

Страница 4 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/