Forth http://fforum.winglion.ru/ |
|
обсуждение (нестандарта) со срывом во флуд http://fforum.winglion.ru/viewtopic.php?f=7&t=2950 |
Страница 1 из 9 |
Автор: | mOleg [ Вс май 26, 2013 18:51 ] |
Заголовок сообщения: | обсуждение (нестандарта) со срывом во флуд |
Majestio писал(а): Если рассматривать создание Форт-среды по данному стандарту это все же не стандарт, а скелет - набросок стурктуры, какую хотелось бы видеть в стандарте. Majestio писал(а): Какую часть стандарта придется писать в машиных командах таки часть компилятора, а не стандарта Достаточно реализации первого уровня. Т.е. минимальный набор именно эти 17 определений, однако, набор хотя и достаточный, но не слишком удобный, т.е. на низком уровне стандартно должно быть реализовано около 100 определений. Причем, все они достаточно просты в реализации. Majestio писал(а): а какую уже можно будет продолжать на самом Форте? Рекомендую посмотреть в код системы eforth - это будет исчерпывающий ответ. Majestio писал(а): И будет ли впоследствии замена предыдущего кода (написанного на машинном языке) кодом на Форте? Если "да", то до какого предела? вы пишете виртуалную машину - это и есть база, на которой строится все. В дальнешем база может расширяться (т.е. добавляться новые низкоуровневые определения), что впрочем не обязательно. Все остальное высокоуровневый код, никакие другие языки при этом не нужны. |
Автор: | Majestio [ Вс май 26, 2013 21:56 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Я вот для себя разворачивание вижу вот в такой последовательности:
Пока вот такое сложилось у меня понимание. Единственная вещь, которую я не отметил - Мета-Язык должен еще принимать участие в "настройке" библиотек для нужной архитектуры перед сборкой. Как минимум, выбрасывать "бесполезный" для архитектуры код. Ни к чему, к примеру, программируемуму тостеру функции работы с числами с плавающей точкой. |
Автор: | Majestio [ Вс май 26, 2013 21:58 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Кстати, возможно и сам Perl может остаться в роли Мета-Языка |
Автор: | gudleifr [ Вс май 26, 2013 22:06 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Majestio писал(а): Я вот для себя разворачивание вижу вот в такой последовательности А где проходит разграничение между Perl, "изображающим из себя Forth", и Perl, создающим исполняемый Forth-код?
|
Автор: | Majestio [ Вс май 26, 2013 22:15 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
gudleifr писал(а): Majestio писал(а): Я вот для себя разворачивание вижу вот в такой последовательности А где проходит разграничение между Perl, "изображающим из себя Forth", и Perl, создающим исполняемый Forth-код?По идее - до 4 этапа будет только интерпретация. Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр., но совершенно невозможно работать с адресами памяти. |
Автор: | gudleifr [ Вс май 26, 2013 22:21 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Majestio писал(а): По идее - до 4 этапа будет только интерпретация. Тогда почему с него и не начать?Majestio писал(а): Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр. Это так только кажется. Как-то писал на Perl для тренировки интерпретатор языка Trac, так весь Perl из окончательной версии естественным образом выпал, остался голый C. Быстренько порубить строки заранее известного формата - это пожалуйста, а взять что-то более сложное, и его мощные механизмы начинают, скорее, мешать, чем помогать.
|
Автор: | Majestio [ Вс май 26, 2013 22:24 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Хищник писал(а): Мне кажется, что само использование Perl в качестве инструментального средства определенным образом повлияет не только на ход разработки, но и на характеристики форт-системы. Например, интерфейс с ОС, предоставляемый Perl, вполне можно использовать, и адаптировать к нему разрабатываемый Форт. Сложно пока загадывать - но все это интригует |
Автор: | KPG [ Вс май 26, 2013 22:25 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Majestio писал(а): По идее - до 4 этапа будет только интерпретация. Дело в том, что на Perl'е очень удобно строить всякие структуры, парсеры и пр., но совершенно невозможно работать с адресами памяти. Было какое то обсуждение возможностей Perl в сравнении к Форт P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу можно поднять из архивов. |
Автор: | Majestio [ Вс май 26, 2013 22:29 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
gudleifr писал(а): Быстренько порубить строки заранее известного формата - это пожалуйста, а взять что-то более сложное, и его мощные механизмы начинают, скорее, мешать, чем помогать. Уверяю - это заблуждение! По своим задачам я уже достаточно работаю на Perl'е и С++, возможность сравнения есть. Наверное люди просто кодили на Perl'e, но на нем не думали. |
Автор: | gudleifr [ Вс май 26, 2013 22:33 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Majestio писал(а): работаю на Perl'е и С++ Так C++ тоже дурной. Возьмите C. Или сразу Forth."Думать на Perl"? А чем это принципиально отличается от думания на awk, shell и C, взятых по отдельности? Впрочем, я пристрастен. Уж больно накопившиеся у меня Perl-куски начали в последние годы раздражать. Слишком много усилий требуется на сопровождение. |
Автор: | Majestio [ Вс май 26, 2013 22:36 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
KPG писал(а): P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу можно поднять из архивов. Я понимаю и верю Но я вот выбрал такой способ изучения Форта. От меньшего к большему. Просто фильтрация литературы - унылое занятие, которое совсем не мотивирует. Каждый вечер должна появляться новая практическая фишечка. А что делать, если реальной практической задачи пока нет, а те, что есть - решаются на интерпретаторе (Perl) в пять сек. |
Автор: | KPG [ Вс май 26, 2013 22:40 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
Majestio писал(а): KPG писал(а): P.S. На Форте тоже есть расширения для построения разных парсеров. Какие то ссылки могут уже быть нерабочими, тогда инфу можно поднять из архивов. Я понимаю и верю Но я вот выбрал такой способ изучения Форта. От меньшего к большему. Просто фильтрация литературы - унылое занятие, которое совсем не мотивирует. Каждый вечер должна появляться новая практическая фишечка. А что делать, если реальной практической задачи пока нет, а те, что есть - решаются на интерпретаторе (Perl) в пять сек. Тогда можно предложить сделать на Perl проект подобный ForthEC |
Автор: | Majestio [ Вс май 26, 2013 23:20 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
gudleifr писал(а): "Думать на Perl"? А чем это принципиально отличается от думания на awk, shell и C, взятых по отдельности? Ну я не методист, четко не расскажу. Регэкспы - это вкусно и полезно. Но динамическая типизация с Си-программерами творит чудеса.Была задача перегонки Банка Данных (слабоструктурированные, но связанные данные) в строго формализованный формат. Дружок принялся конструировать структуры, описывать их и документировать для себя. Я предложил ему Perl Все его структуры описал вот так: Код: 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'е с односложными структурами и вкусными регэкспами. И только потом он забыл про свои конструкторо-деструкторы и утечку памяти, сконцентрировался на задаче. |
Автор: | Majestio [ Вс май 26, 2013 23:22 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
KPG писал(а): Тогда можно предложить сделать на Perl проект подобный Да мне бы сперва хоть что-то сделать )))) |
Автор: | gudleifr [ Пн май 27, 2013 11:32 ] |
Заголовок сообщения: | Re: набросок стандарта от mOleg |
mOleg писал(а): Имхо, не очень хороший способ, лучше взять какую-нибудь более-менее серьезную форт систему и изучить сначала исходники, потом попытаться понять, что же понято, и чего хотелось бы переделать, т.е. понять не только чего хочется, но и чего не хочется, а так же почему. Не пугайте человека. Да только на понимание того, в чем заключается "серьезность" системы, уйдут еще годы. За это время он уже пяток своих напишет и на своей шкуре проверит... Отмечу, что мы уже написали тут больше букофф, чем весит нормальный Forth...
|
Страница 1 из 9 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |