Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 16:16

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Автоматизация статического анализа исходных текстов на Форте
Автор Сообщение
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Раз уж и здесь начался флуд, то позвольте обратить внимание:
Victor__v писал(а):
Цель: написать форт-систему
Это, все-таки, симптом первой детской FORTH-болезни. (Вторая детская болезнь - мечты о FORTH-стандарте). Пора бы уже начинать болеть взрослыми болезнями...
И, раз уж пошла такая пьянка:
Victor__v писал(а):
Форту не хватает фортеров
Просто, большинство из огромного числа использующих FORTH-метод не особо знают о существовании FORTH-языка. А большинство любителей FORTH-языка любят его только потому, что боятся FORTH-метода.
Сообщение Добавлено: Вт дек 27, 2016 22:26
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Ух, ты скоро gudleifr начнёт Moleg'а цитировать в положительном ключе :)
Сообщение Добавлено: Вт дек 27, 2016 22:07
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
P.P.S.
Hishnik писал(а):
gudleifr писал(а):
Давно уже объяснил. Ядро пишется каждый раз под новую задачу заново.
Это вдруг стало непререкаемой истиной?

Ну, наконец-то, медведь в лесу сдох:
Hishnik писал(а):
...Принципиальный вопрос заключается в том, для какого конкретно проекта требуется та или иная возможность. Если проекта нет, то ситуация как у Алисы в Стране Чудес - если все равно куда попадать, то какая разница, куда идти.
На ранних стадиях, понятное дело, объем доработок существенно больше. Умозрительно трудно понять, что потребуется конкретной программе, поэтому первые версии рабочего форта правятся часто и активно. Зато потом уже и задачи подбираются с учетом возможностей инструмента. Главное, чтобы процесс аккуратно сходился к какой-то стабильности.
Сообщение Добавлено: Вт дек 27, 2016 21:35
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
P.S.
Hishnik писал(а):
Форт - это Форт, а не "не Си".
Victor__v писал(а):
Каждый фортер сам себе компилятор и отдел снабжения
Именно "не Си"! Компиляция в конечный продукт ему противопоказана!


Изображение

Компилятор: "Я лучше тебя знаю, что тебе надо!"
Интерпретатор: "Я понимаю, что ты хотел сказать!"
Сообщение Добавлено: Вс дек 25, 2016 15:19
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Victor__v писал(а):
С вероятность 98% если кол-во if then или : ; не совпадают, то это ошибка.
FORTH и реагирует - словом ABORT или зависанием машины. Остальное, обычно, избыточно. И будет только мешать.
Броуди:
Цитата:
На самом деле Вам не стоит писать каких-либо серьезных задач на Форте; как язык, он просто недостаточно мощен. Вам "следует" писать на Форте свои собственные языки (лексиконы) для моделирования Вашего понимания проблемы, на которых Вы можете элегантно описать ее решение.
И вот, в этом "элегантном" языке Вы можете ставить любые проверки.
Сообщение Добавлено: Вс дек 25, 2016 12:42
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Цитата:
Все ваши проблемы от "форт-компилятора"

Не могу удержаться.
Перефразирую кое-что:
Каждый фортер сам себе компилятор и отдел снабжения
Сообщение Добавлено: Вс дек 25, 2016 12:35
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Цитата:
P.S. Метрики - это совсем не то, что Вы думаете.

Дельное замечание.
Но лишнее ( отсутствующее) слово такой же недостаток, как и цикл в цикле или множество условных переходов.
Знаю, это не метрика, это не статистика. Но базируется-то на этом.
На статистике. на сборе данных.
С вероятность 98% если кол-во if then или : ; не совпадают, то это ошибка. И на неё надо реагировать.
Да сопровождение исходников комментариями тоже полезно.
Сообщение Добавлено: Вс дек 25, 2016 12:31
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
В этой теме может быть и интересна возможность преобразования AST дерева Forth в классические представления
что то подобное shift-forth, но в обратную сторону.
Код:
function add42 (a) {             // : add42 42 + exit ;
  return a + 42;
}

function square (x) {            // : square 0 pick * exit ;
    return x * x;
}

function sub (a, b) {            // : sub
  return a - b;                  //     - exit
}                                // ;

                                 // variable g0
function mul_global (a) {        // : mul_global
  return a * g0;                 //     g0 @ * exit
}                                // ;

function add3_fast (a, b, c) {   // : add3_fast
  return b + c + a;              //     + + exit
}                                // ;

function add_var (a, b) {        // : add_var
  var x;
  x = a + b;                     //     +
  return x;                      //     exit
}                                // ;

function cmplx_re (a, b, c, d) { // : cmplx_re
  var re;                        //     3 pick 2 pick *
  re = a * c - b * d;            //     3 pick 2 pick * -
  return re;                     //     nip nip nip nip exit
}                                // ;

function cmplx_im (a, b, c, d) { // : cmplx_im
  var im;                        //     3 pick *
  im = a * d + b * c;            //     2 pick 2 pick * +
  return im;                     //     nip nip nip exit
}                                // ;

function foo (x0, y0) {          // : foo
  if (x0 < 100) {                //     over 100 < if
    do {                         //         begin
      x1 = ф(x0, x2);            //
      y1 = ф(y0, y2);            //
      x2 = x1 + 1;               //             swap 1 +
      y2 = y1 + x2;              //             swap over +
    } while (x2 < 100);          //         over 100 >= until
  }                              //     then
  x3 = ф(x0, x2);
  y3 = ф(y0, y2);
  return [x3, y3];               //     exit
}       

Но это, скорее всего, хорошо иметь в Forth IDE по функциональности сравнимой со средами от JetBrains (IntelliJ IDEA и др.)
продолжив "пилить", например, Win32Forth IDE.
Сообщение Добавлено: Вс дек 25, 2016 12:20
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Victor__v писал(а):
Самому надоели ошибки от правки текста.
Все ваши проблемы от "форт-компилятора". При этом теряются все преимущества метода. Из системы удаляется "умный пользователь" и остается только "тупой программист".
P.S. Метрики - это совсем не то, что Вы думаете.
Сообщение Добавлено: Вс дек 25, 2016 12:09
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Ам, я как-то не понял зачем встраивать в ядро, ежели можно обойтись служебной библиотекой?
Там переопределим нужные слова для анализа и скормим библиотеке тексты исходников.
Сделал недавно подобное.
Самому надоели ошибки от правки текста. Чего в СПФ только стоят лишние ; поставить. Последнее опр.слово ломается.
А упр.структуры? Помню, полчаса ломал голову откуда на стеке два непонятных значения. Потом нашёл ошибку.
Сообщение Добавлено: Вс дек 25, 2016 11:40
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
gudleifr писал(а):
Пока, как бы никто опровергнуть ее не смог.

А оно надо? :) Начнем с того, что доказываются положительные утверждения, а не "опровергните меня". Далее, что значит "ядро пишется каждый раз под новую задачу заново"? Это можно выразить через квантор общности, да? Ну пробуем: "для каждой новой задачи (упс - что такое новая?) существует единственный и уникальный вариант ядра, которое должно быть использовано для ее решения". Сразу приходит ассоциация с потолстевшим мужем Анджелины Джоли :) Или будем утверждать, что существует биекция между множеством задач и множеством ядер Форта? Эти псевдонаучные игры - без меня.
Сообщение Добавлено: Пн мар 09, 2015 20:55
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Hishnik писал(а):
Это вдруг стало непререкаемой истиной?
Пока, как бы никто опровергнуть ее не смог.
Сообщение Добавлено: Пн мар 09, 2015 20:46
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
gudleifr писал(а):
Давно уже объяснил. Ядро пишется каждый раз под новую задачу заново.

К "Давно уже объяснил" надо дописать "... свою позицию". Я ее знаю. Это вдруг стало непререкаемой истиной? :)
gudleifr писал(а):
Написание ядра заранее - это:

Это разработка инструмента для серии конкретных программ. Если в кварке ~10 тыс. строк, я не буду его каждый раз переписывать. Транслятор для того и пишется, чтобы решать на нем определенные задачи. Понятно, что кварк с его 3D-экраном и Win-only не годится для каких-то программ. Но параллельно надо и пробовать технологии, чтобы не изобретать каждый раз целый набор... и не откладывать на неопределенное время начало практической работы.
Сообщение Добавлено: Пн мар 09, 2015 20:42
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
Hishnik писал(а):
Идея идет с другой стороны - что еще можно модифицировать в ядре, чтобы от этого была польза.
Давно уже объяснил. Ядро пишется каждый раз под новую задачу заново.

Написание ядра заранее - это:
Hishnik писал(а):
Они не ухудшают язык, они просто откладывают на неопределенное время начало практической работы.
Сообщение Добавлено: Пн мар 09, 2015 20:32
  Заголовок сообщения:  Re: Автоматизация статического анализа исходных текстов на Ф  Ответить с цитатой
KPG писал(а):
А как визуализировать логическую составляющую в динамике для выявления "логических" ошибок.
Работа программиста и есть выявление этих рассогласований от начального замысла и насколько это можно формализовать?

Да специально-то никак и не надо. Вопрос ведь не в том, каким именно волшебным образом ликвидировать ошибки. Просто программист не робот, и не может не делать ошибок совсем. Процесс поиска "ошибок вообще" не формализуется, для этого надо создать условия - от вкусного кофе и отпуска в удобное время до инструментов автоматизации. Кто же может заранее знать, что именно поможет? Метрики сами по себе не помогают, и даже способствуют забюрокрачиванию процесса, просто потому, что появляется что-то измеримое для контроля. Но если метрик нет, то в противовес забюрокрачиванию может возникнуть синдром "зелен виноград!". "Нам не надо метрик!", (вполголоса: "потому что мы не умеем ими пользоваться"). В данном случае я не предлагаю срочно бросить все и делать метрики. Идея идет с другой стороны - что еще можно модифицировать в ядре, чтобы от этого была польза.
Сообщение Добавлено: Пн мар 09, 2015 20:19

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB