Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт сен 18, 2018 19:18

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 132 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.
Автор Сообщение
 Заголовок сообщения: обсуждение (нестандарта) со срывом во флуд
СообщениеДобавлено: Вс май 26, 2013 18:51 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4943
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Majestio писал(а):
Если рассматривать создание Форт-среды по данному стандарту

это все же не стандарт, а скелет - набросок стурктуры, какую хотелось бы видеть в стандарте.

Majestio писал(а):
Какую часть стандарта придется писать в машиных командах

таки часть компилятора, а не стандарта 8)
Достаточно реализации первого уровня.
Т.е. минимальный набор именно эти 17 определений, однако, набор хотя и достаточный, но не слишком удобный, т.е. на низком уровне стандартно должно быть реализовано около 100 определений.
Причем, все они достаточно просты в реализации.

Majestio писал(а):
а какую уже можно будет продолжать на самом Форте?

Рекомендую посмотреть в код системы eforth - это будет исчерпывающий ответ.

Majestio писал(а):
И будет ли впоследствии замена предыдущего кода (написанного на машинном языке) кодом на Форте? Если "да", то до какого предела?

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur



За это сообщение автора mOleg поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 21:56 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Я вот для себя разворачивание вижу вот в такой последовательности:

Изображение

  1. Сперва пишется вся ВМ на Perl
  2. Потом часть кода написанного на Perl - переписывается на Forth с расширением словарей
  3. Потом весь код, который можно переписать на Forth - переписывается
  4. Потом составляется Мета Язык (таблицы настроек) по построению загрузчиков под архитектуры на Машинном Коде, этот язык обрабатывается Fort'ом и строит исполняемый/загружаемый модуль под целевую архитектуру.

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

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 21:58 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Кстати, возможно и сам Perl может остаться в роли Мета-Языка

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:06 
Majestio писал(а):
Я вот для себя разворачивание вижу вот в такой последовательности
А где проходит разграничение между Perl, "изображающим из себя Forth", и Perl, создающим исполняемый Forth-код?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:15 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Majestio писал(а):
Я вот для себя разворачивание вижу вот в такой последовательности
А где проходит разграничение между Perl, "изображающим из себя Forth", и Perl, создающим исполняемый Forth-код?

По идее - до 4 этапа будет только интерпретация. Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр., но совершенно невозможно работать с адресами памяти.

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:21 
Majestio писал(а):
По идее - до 4 этапа будет только интерпретация.
Тогда почему с него и не начать?
Majestio писал(а):
Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр.
Это так только кажется. Как-то писал на Perl для тренировки интерпретатор языка Trac, так весь Perl из окончательной версии естественным образом выпал, остался голый C. Быстренько порубить строки заранее известного формата - это пожалуйста, а взять что-то более сложное, и его мощные механизмы начинают, скорее, мешать, чем помогать.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:24 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Хищник писал(а):
Мне кажется, что само использование Perl в качестве инструментального средства определенным образом повлияет не только на ход разработки, но и на характеристики форт-системы. Например, интерфейс с ОС, предоставляемый Perl, вполне можно использовать, и адаптировать к нему разрабатываемый Форт.


Сложно пока загадывать - но все это интригует :D

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:25 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 883
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Majestio писал(а):
По идее - до 4 этапа будет только интерпретация. Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр., но совершенно невозможно работать с адресами памяти.

Было какое то обсуждение возможностей Perl в сравнении к Форт

P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу
можно поднять из архивов.


Последний раз редактировалось KPG Вс май 26, 2013 22:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Быстренько порубить строки заранее известного формата - это пожалуйста, а взять что-то более сложное, и его мощные механизмы начинают, скорее, мешать, чем помогать.

Уверяю - это заблуждение! По своим задачам я уже достаточно работаю на Perl'е и С++, возможность сравнения есть. Наверное люди просто кодили на Perl'e, но на нем не думали.

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:33 
Majestio писал(а):
работаю на Perl'е и С++
Так C++ тоже дурной. Возьмите C. Или сразу Forth.
"Думать на Perl"? А чем это принципиально отличается от думания на awk, shell и C, взятых по отдельности?

Впрочем, я пристрастен. Уж больно накопившиеся у меня Perl-куски начали в последние годы раздражать. Слишком много усилий требуется на сопровождение.


Последний раз редактировалось gudleifr Вс май 26, 2013 23:07, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:36 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
KPG писал(а):
P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу можно поднять из архивов.

Я понимаю и верю :D Но я вот выбрал такой способ изучения Форта. От меньшего к большему. Просто фильтрация литературы - унылое занятие, которое совсем не мотивирует. Каждый вечер должна появляться новая практическая фишечка. А что делать, если реальной практической задачи пока нет, а те, что есть - решаются на интерпретаторе (Perl) в пять сек.

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 22:40 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 883
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Majestio писал(а):
KPG писал(а):
P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу можно поднять из архивов.

Я понимаю и верю :D Но я вот выбрал такой способ изучения Форта. От меньшего к большему. Просто фильтрация литературы - унылое занятие, которое совсем не мотивирует. Каждый вечер должна появляться новая практическая фишечка. А что делать, если реальной практической задачи пока нет, а те, что есть - решаются на интерпретаторе (Perl) в пять сек.

Тогда можно предложить сделать на Perl проект подобный ForthEC


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 23:20 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
"Думать на Perl"? А чем это принципиально отличается от думания на awk, shell и C, взятых по отдельности?
Ну я не методист, четко не расскажу. Регэкспы - это вкусно и полезно. Но динамическая типизация с Си-программерами творит чудеса.

Была задача перегонки Банка Данных (слабоструктурированные, но связанные данные) в строго формализованный формат. Дружок принялся конструировать структуры, описывать их и документировать для себя. Я предложил ему Perl :D

Все его структуры описал вот так:

Код:
my $Root;


Он начал меня высмеивать. Хорошо, говорю, на тебе твое дерево параграфов статей (код примерный), ты исписал своими структурами три листа. А оно того не стоит. Структуры все - в пень. Все делается во время работы:

Код:
my $Root;
my $R = ["One","Two"];
my %Z = ("1"=>1,"2"=>["A","B","C"],"3"=>2);
${$Root}{${$R}[0]} = [\%Z,["*"],["-"]];
${$Root}{${$R}[1]} = [$Z{"1"},["+"],["+"]];
1;

А код строит нечто подобное, это я так, навскидку:
Код:
0  HASH(0x2877a48)
   'One' => ARRAY(0x2cc1f28)
      0  HASH(0x24aa280)
         1 => 1
         2 => ARRAY(0x4ea500)
            0  'A'
            1  'B'
            2  'C'
         3 => 2
      1  ARRAY(0x2cc2540)
         0  '*'
      2  ARRAY(0x2bbf808)
         0  '-'
   'Two' => ARRAY(0x287c918)
      0  1
      1  ARRAY(0x2cd3bf0)
         0  '+'
      2  ARRAY(0x2872440)
         0  '+'


Результатом было недоумение. Потом нелепые попытки на Perl'е с односложными структурами и вкусными регэкспами. И только потом он забыл про свои конструкторо-деструкторы и утечку памяти, сконцентрировался на задаче.

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Вс май 26, 2013 23:22 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
KPG писал(а):
Тогда можно предложить сделать на Perl проект подобный

Да мне бы сперва хоть что-то сделать ))))

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: набросок стандарта от mOleg
СообщениеДобавлено: Пн май 27, 2013 11:32 
mOleg писал(а):
Имхо, не очень хороший способ, лучше взять какую-нибудь более-менее серьезную форт систему и изучить сначала исходники, потом попытаться понять, что же понято, и чего хотелось бы переделать, т.е. понять не только чего хочется, но и чего не хочется, а так же почему.
Не пугайте человека. Да только на понимание того, в чем заключается "серьезность" системы, уйдут еще годы. За это время он уже пяток своих напишет и на своей шкуре проверит... Отмечу, что мы уже написали тут больше букофф, чем весит нормальный Forth...


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 132 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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