Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
Кстати, из раздела юмора. Эти "Perl-слова" для работы с текстом-деревом я связал через "стек". Это стек файлов: не указателей/манипуляторов/потоков, а честно файлов. На дне лежит d.txt (d - имя стека), на нем - d.txt.txt, выше - d.txt.txt.txt и т.д. SWAP организовывать не стал, добавил s2r и r2s (>R и R>), так гораздо удобнее. Основные типы "слов" на данный момент: Положить на стек пустой файл ( -- f0). Слияния ( f1,...,fn -- f). Несколько статистик ( f - f,s). И разбиений ( f,c -- f1,f2). Пока удобно...
Кстати, из раздела юмора. Эти "Perl-слова" для работы с текстом-деревом я связал через "стек". Это стек файлов: не указателей/манипуляторов/потоков, а честно файлов. На дне лежит d.txt (d - имя стека), на нем - d.txt.txt, выше - d.txt.txt.txt и т.д. SWAP организовывать не стал, добавил s2r и r2s (>R и R>), так гораздо удобнее. Основные типы "слов" на данный момент: Положить на стек пустой файл ( -- f0). Слияния ( f1,...,fn -- f). Несколько статистик ( f - f,s). И разбиений ( f,c -- f1,f2). Пока удобно...
|
|
|
 |
Добавлено: Ср июн 03, 2015 16:53 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
KPG писал(а): Может в этих материалах Форта больше без Форта? Там из Форта только ссылка на википедию. Это опять попытка встать с плакатом "да здравствует Форт!" в надежде, что сейчас набегут программисты и начнут наперебой рассказывать, как Форт им помог в жизни.
[quote="KPG"]Может в этих материалах Форта больше без Форта? [/quote] Там из Форта только ссылка на википедию. Это опять попытка встать с плакатом "да здравствует Форт!" в надежде, что сейчас набегут программисты и начнут наперебой рассказывать, как Форт им помог в жизни.
|
|
|
 |
Добавлено: Пн июн 01, 2015 01:24 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
KPG писал(а): Форт "метод" лучше иллюстрируется техниками использования в Бейсик или Perl языках? А может Tcl|Tk или других? Очевидно, это зависит от того, какой из аспектов FORTH-метода Вас интересует.
[quote="KPG"] Форт "метод" лучше иллюстрируется техниками использования в Бейсик или Perl языках? А может Tcl|Tk или других?[/quote]Очевидно, это зависит от того, какой из аспектов FORTH-метода Вас интересует.
|
|
|
 |
Добавлено: Вс май 31, 2015 11:51 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
gudleifr писал(а): KPG писал(а): ... Т.е. Вы просто не видите связи того, о чем я пишу, с Forth и поэтому забиваете тему мусором? Вместо того, чтобы спросить? Форт "метод" лучше иллюстрируется техниками использования в Бейсик или Perl языках? А может Tcl|Tk или других?
[quote="gudleifr"][quote="KPG"]...[/quote]Т.е. Вы просто не видите связи того, о чем я пишу, с Forth и поэтому забиваете тему мусором? Вместо того, чтобы спросить?[/quote] Форт "метод" лучше иллюстрируется техниками использования в Бейсик или Perl языках? А может Tcl|Tk или других?
|
|
|
 |
Добавлено: Вс май 31, 2015 11:43 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
KPG писал(а): ... Т.е. Вы просто не видите связи того, о чем я пишу, с Forth и поэтому забиваете тему мусором? Вместо того, чтобы спросить?
[quote="KPG"]...[/quote]Т.е. Вы просто не видите связи того, о чем я пишу, с Forth и поэтому забиваете тему мусором? Вместо того, чтобы спросить?
|
|
|
 |
Добавлено: Вс май 31, 2015 11:35 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
gudleifr писал(а): KPG писал(а): ... И опять Вы со своим вечным "Я видел там слово Forth!". Хорошо, хоть не порно... Это Вы ничего не поняли пока  (самого себя цитировать в сообщении и самому себе же отвечать на вопрос ... и на форуме никак не посвященном бэйсику и перлу) P.S. Почему это не в личном блоге?
[quote="gudleifr"][quote="KPG"]...[/quote]И опять Вы со своим вечным "Я видел там слово Forth!". Хорошо, хоть не порно...[/quote] Это Вы ничего не поняли пока :) (самого себя цитировать в сообщении и самому себе же отвечать на вопрос ... и на форуме никак не посвященном бэйсику и перлу)
P.S. Почему это не в личном блоге?
|
|
|
 |
Добавлено: Вс май 31, 2015 11:24 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
KPG писал(а): ... И опять Вы со своим вечным "Я видел там слово Forth!". Хорошо, хоть не порно...
[quote="KPG"]...[/quote]И опять Вы со своим вечным "Я видел там слово Forth!". Хорошо, хоть не порно...
|
|
|
 |
Добавлено: Вс май 31, 2015 11:10 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
Продолжение развития темы ИИ от Wormball Искусственная_жизнь_по-русскиP.S. Может в этих материалах Форта больше без Форта? 
Продолжение развития темы ИИ от Wormball [url=http://alife-ru.org/wiki/index.php/]Искусственная_жизнь_по-русски[/url]
P.S. Может в этих материалах Форта больше без Форта? :)
|
|
|
 |
Добавлено: Вс май 31, 2015 10:42 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
gudleifr писал(а): ТРЕТЬЕ ПРАВИЛО INCUBASIC: Избыточность однотипных вторичных машин может быть локализована в виде одинакового набора слов в СЛОВАРЕ Иллюстрация - попытка написать на Perl семейство автоматов, читающих тексты одного и того же формата, но обрабатывающего их по-разному. Добавляя разные массивы "p" к заранее размеченному словарю "состояние.символ", надеюсь реализовать все необходимые операции. Код: #!/usr/bin/perl
# МАШИНА: СОСТОЯНИЕ => [[СИМВОЛ, СОСТОЯНИЕ, СДВИГ], ...]
%stats = (Garbage => [["^\\\\", "Path", 0], [0, 0, 1]], Path => [["^\$", "Param", 1], ["^. ", "Param", 0], ["^\\\\", 0, 1], ["^ТЕКСТ", "Text", 1], ["^ТАБЛИЦА", "Header", 1], ["^ЗАПИСИ", "Header", 1], [0, "Garbage", 0]], Header => [["^\$", "Text", 1], [0, 0, 1]], Text => [["^\$", "Param", 1], [0, 0, 1]], Param => [["^. ", 0, 1], ["^\\\\", "Path", 0], ["^\$", "Garbage", 1], [0, "Garbage", 0]]);
# СЧИТЫВАНИЕ СИМВОЛА, ЕСЛИ ОН ЕЩЕ НЕ БЫЛ СЧИТАН
sub ready { $reading = <FI> unless $reading; return 0 unless $reading; $reading =~ s/\s*\r?\n//; return 1 }
# ОДИН ТАКТ РАБОТЫ
sub step { my $l = $stats{$state}; # СОСТОЯНИЕ foreach (@$l) { my $s = $_->[0]; # СИМВОЛ if (!$s or $reading =~ /$s/) { $p->{$state . $s}() if exists $p->{$state . $s}; # ВЫВОД $state = $_->[1] if $_->[1]; # НОВОЕ СОСТОЯНИЕ $reading = 0 if $_->[2]; # СДВИГ return } } }
# ФУНКЦИИ ВЫВОДА: СОСТОЯНИЕ.СИМВОЛ
$p1 = {"Garbage^\\\\", sub { print "Garbage-Path:", $reading, "\n" }, "Param^\\\\", sub { print "Param-Path:", $reading, "\n" }, "Garbage0", sub { print "Garbage:", $reading, "\n" }};
# СЧИТЫВАЕМ ЛЕНТУ (ФАЙЛ)
$s = shift @ARGV; $s .= ".txt"; $p = $p1; open FI, $s; $reading = 0; $state = "Garbage"; step() while ready(); close FI
[quote="gudleifr"]ТРЕТЬЕ ПРАВИЛО INCUBASIC: Избыточность однотипных вторичных машин может быть локализована в виде одинакового набора слов в СЛОВАРЕ[/quote] Иллюстрация - попытка написать на Perl семейство автоматов, читающих тексты одного и того же формата, но обрабатывающего их по-разному. Добавляя разные массивы "p" к заранее размеченному словарю "состояние.символ", надеюсь реализовать все необходимые операции. [code]#!/usr/bin/perl
# МАШИНА: СОСТОЯНИЕ => [[СИМВОЛ, СОСТОЯНИЕ, СДВИГ], ...]
%stats = (Garbage => [["^\\\\", "Path", 0], [0, 0, 1]], Path => [["^\$", "Param", 1], ["^. ", "Param", 0], ["^\\\\", 0, 1], ["^ТЕКСТ", "Text", 1], ["^ТАБЛИЦА", "Header", 1], ["^ЗАПИСИ", "Header", 1], [0, "Garbage", 0]], Header => [["^\$", "Text", 1], [0, 0, 1]], Text => [["^\$", "Param", 1], [0, 0, 1]], Param => [["^. ", 0, 1], ["^\\\\", "Path", 0], ["^\$", "Garbage", 1], [0, "Garbage", 0]]);
# СЧИТЫВАНИЕ СИМВОЛА, ЕСЛИ ОН ЕЩЕ НЕ БЫЛ СЧИТАН
sub ready { $reading = <FI> unless $reading; return 0 unless $reading; $reading =~ s/\s*\r?\n//; return 1 }
# ОДИН ТАКТ РАБОТЫ
sub step { my $l = $stats{$state}; # СОСТОЯНИЕ foreach (@$l) { my $s = $_->[0]; # СИМВОЛ if (!$s or $reading =~ /$s/) { $p->{$state . $s}() if exists $p->{$state . $s}; # ВЫВОД $state = $_->[1] if $_->[1]; # НОВОЕ СОСТОЯНИЕ $reading = 0 if $_->[2]; # СДВИГ return } } }
# ФУНКЦИИ ВЫВОДА: СОСТОЯНИЕ.СИМВОЛ
$p1 = {"Garbage^\\\\", sub { print "Garbage-Path:", $reading, "\n" }, "Param^\\\\", sub { print "Param-Path:", $reading, "\n" }, "Garbage0", sub { print "Garbage:", $reading, "\n" }};
# СЧИТЫВАЕМ ЛЕНТУ (ФАЙЛ)
$s = shift @ARGV; $s .= ".txt"; $p = $p1; open FI, $s; $reading = 0; $state = "Garbage"; step() while ready(); close FI[/code]
|
|
|
 |
Добавлено: Сб май 30, 2015 12:18 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
mgw писал(а): Вот Forth - это такой же "кусок" только на уровне алгоритмов. Поэтому я обычно гружу местных фортеров функциональными закономерностями этих "алгоритмов". В этой же теме меня больше интересует взаимодействие нескольких FORTH- и не-очень-FORTH-машин с целью получения практического результата. В надежде, что закономерности вылезут по дороге.
[quote="mgw"]Вот Forth - это такой же "кусок" только на уровне алгоритмов.[/quote]Поэтому я обычно гружу местных фортеров функциональными закономерностями этих "алгоритмов". В этой же теме меня больше интересует взаимодействие нескольких FORTH- и не-очень-FORTH-машин с целью получения практического результата. В надежде, что закономерности вылезут по дороге.
|
|
|
 |
Добавлено: Чт май 21, 2015 16:43 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
Для меня Forth - это инструмент на уровне структур данных. Есть же понятия в наборах данных, такие как: массив, запись, деревья (сбалансированные и не очень), хеши, словари и т.д. Вот Forth - это такой же "кусок" только на уровне алгоритмов. Составная часть современных парадигм программирования. Умеешь применять его - замечательно, не умеешь не смертельно. Я знаю множество программистов, которые программируют не подозревая о существовании двоичных сбалансированных деревьев. То же самое можно сказать и о Forth.
Для меня Forth - это инструмент на уровне структур данных. Есть же понятия в наборах данных, такие как: массив, запись, деревья (сбалансированные и не очень), хеши, словари и т.д. Вот Forth - это такой же "кусок" только на уровне алгоритмов. Составная часть современных парадигм программирования. Умеешь применять его - замечательно, не умеешь не смертельно. Я знаю множество программистов, которые программируют не подозревая о существовании двоичных сбалансированных деревьев. То же самое можно сказать и о Forth.
|
|
|
 |
Добавлено: Чт май 21, 2015 16:24 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
Удалил, т.к. коллеге вожжа под мантию попала. Hishnik писал(а): А данный форум является по сути базой данных, содержащей сообщения подписчиков. И принадлежит данная БД тому, кто платит за хостинг.
Удалил, т.к. коллеге вожжа под мантию попала. [quote="Hishnik"]А данный форум является по сути базой данных, содержащей сообщения подписчиков. И принадлежит данная БД тому, кто платит за хостинг.[/quote]
|
|
|
 |
Добавлено: Чт май 21, 2015 13:50 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
vikt писал(а): Разве нельзя написать удобную SHELL на forth? Не знаю. Не видел. С одной стороны, FORTH-58 это и предлагал, с другой - чем дальше, тем больше фортеров считают, что легче написать свою OS, чем принять идеологию любой существующей.
[quote="vikt"]Разве нельзя написать удобную SHELL на forth?[/quote]Не знаю. Не видел. С одной стороны, FORTH-58 это и предлагал, с другой - чем дальше, тем больше фортеров считают, что легче написать свою OS, чем принять идеологию любой существующей.
|
|
|
 |
Добавлено: Пт сен 19, 2014 19:35 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
Разве нельзя написать удобную SHELL на forth? Которая могла бы вызывать awk, фортпрограммы и вообще программы.
Разве нельзя написать удобную SHELL на forth? Которая могла бы вызывать awk, фортпрограммы и вообще программы.
|
|
|
 |
Добавлено: Пт сен 19, 2014 18:56 |
|
|
 |
|
|
Заголовок сообщения: |
Re: FORTH без FORTH |
 |
|
KPG писал(а): Ага, не те фортёры "пошли" и Форт уже не тот Уговорили. Предложите путь FORTH-решения поставленной задачи - и докажете обратное.
[quote="KPG"]Ага, не те фортёры "пошли" и Форт уже не тот[/quote]Уговорили. Предложите путь FORTH-решения поставленной задачи - и докажете обратное.
|
|
|
 |
Добавлено: Пт сен 19, 2014 17:59 |
|
|
 |
|