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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 23, 2007 15:48 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
Часто, это достигается без нарушения стандарта.
Нарушать стандарт можно, но если очень хочется (даст большой выйграшь).
Я против игнорирования стандарта, в том числе де-факто.

Что есть нарушение стандарта? Если это изменение устройства форт-системы(например введение таблицы ссылок словарных статей друг на друга), изменение техники компиляции(контекстная компиляция), введение нового типа словарей(тезаурусов), изменение формата словарной статьи, введение многопроходной компиляции, позднее разрешение имен в код(текстовая компиляция), то я буду нарушать стандарт, так как это дает мне(другим может этого и не надо) более удобные(опять только для меня, про других сказать ничего не могу) средства выражения своих мыслей при реализации алгоритмов решения моих задач, думаю и бэк-фортовские конструкции - это тоже не совсем по стандарту, но иногда наверное и они эффективнее стандартных средств(ProfiT писал об этом). Мышление человека гораздо более мощный инструмент чем любая система программирования. Форт-технология этому тезису соответствует, я даже думаю что она для этого и делалась - давать возможность легко трансформировать свой набор инструментов с помощью имеющихся инструментов.
А насчет стандарта - "Не держись устава яко слепой стены". Петр I еще сказал.

_________________
С уважением, chess


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
Приведи пример.
Штатное представление программ созданных в рантайме такое-же,
как и программ из которых состоит форт-система.

Простейший пример: Форт в рантайме плохо работает со строками-алгоритмами.
Пример строки-алгоритма: число. В режиме интерпретации строку задающую число надо преобразовать в число, которое затем запихнуть в код той или иной команды - процесс этот долгий. У Мура и для этой цели есть прекомпиляция, у СПФ - ничего нет.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 24, 2007 13:20 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
Форт в рантайме плохо работает со строками-алгоритмами.


Что-за строка-алгоритм?

Цитата:
Пример строки-алгоритма: число. В режиме интерпретации строку задающую число надо преобразовать в число, которое затем запихнуть в код той или иной команды - процесс этот долгий.


?SLITERAL - не то?

Цитата:
У Мура и для этой цели есть прекомпиляция, у СПФ - ничего нет.


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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 08:28 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
Что-за строка-алгоритм?

В Форте нет синтаксического разбора в классическом его понимании, имя связывается с кодом и все.
Формат задания чисел в позиционных системах по сути задает алгоритм формирования числа из набора символов:
123 = 1*10^2 + 2*10^1+3*10^0, здесь форту все-таки приходится заниматься синтаксическим разбором, это даже вынесено в отдельную ветку интерпретатора, как особый случай. В других языках(с класс. синтаксическим разбором) в строки-слова "вбивают" те или иные алгоритмы. Иногда это повышает выразительные возможности языка. Транслятор при этом расширяют под обработку таких конструкций. Форт изначально не имел инструментария для этого и сейчас это тоже в хаотическом(неупорядоченном) состоянии.
Mihail писал(а):
Не знаком с прекомпиляцией Мура.

Простейший пример прекомпиляции:
: 0x123456 0x123456 ;
И если в режиме исполнения в тексте программы будет стоять 0x123456, то фаза получения числа из строки 0x123456 будет исключена, то есть сразу выполнится код, который в конечном итоге положит в EAX число 0x123456. Создавая
CONSTANT тоже по сути производят прекомпиляцию и т.д. и т.п.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 11:23 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
В Форте нет синтаксического разбора в классическом его понимании, имя связывается с кодом и все.


http://fforum.winglion.ru/viewtopic.php ... ight=#5612
это не синтаксический разбор?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 12:12 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
это не синтаксический разбор?

Это как раз он и есть.
В форте можно реализовать любую схему синтаксического разбора - это как раз понятно.
Но инструментария(готовых средств) для реализации различного рода схем изначально нет - его еще сначала надо написать. И не факт, что слова для конкретной схемы окажутся полезными для другой схемы(например для реализации операций над матрицами). Короче - инструментарий для класс. синтаксического разбора в Форте еще не наработан.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 14:27 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
Но инструментария(готовых средств) для реализации различного рода схем изначально нет - его еще сначала надо написать.


Что значит изначально?

Цитата:
И не факт, что слова для конкретной схемы окажутся полезными для другой схемы(например для реализации операций над матрицами).


Что за схемы? Типы данных?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 15:23 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Mihail писал(а):
Что значит изначально?

В словарях установленного дистрибутива СПФ нет средств облегчающих написание синт-го разбора, да и в прилагаемых библиотеках их крайне мало.
Mihail писал(а):
Что за схемы? Типы данных?

Ну, например, про матрицы я же сказал:

MATRIX: MT1
M0 M1 M2
M3 M4 M5
M6 M7 M8
;MT

MATRIX: MT2
K0 K1 K2
K3 K4 K5
K6 K7 K8
;MT

MATRIX MT3

MT3=MT1*MT2-MT1

И надо заново писать схему разбора инфиксной записи операций над ними, хотя уже сделан разбор инфиксной записи обычных выражений в http://fforum.winglion.ru/viewtopic.php ... ight=#5612
.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 15:38 
chess писал(а):
Mihail писал(а):
Что значит изначально?

В словарях установленного дистрибутива СПФ нет средств облегчающих написание синт-го разбора, да и в прилагаемых библиотеках их крайне мало.


Если поискать, то можно наскрести по сусекам:)
Например у Аntona Еrtlа есть gray4 парсер произвольного языка на грамматиках BNF.
( размер вместе с примером порядка 37кб в исходниках ).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 16:12 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Гость писал(а):
Например у Аntona Еrtlа есть gray4 парсер произвольного языка на грамматиках BNF.
( размер вместе с примером порядка 37кб в исходниках ).

Интересно, Форт под определение произвольного языка подходит? И как это его можно описать в BNF?
Вот было-бы интересно посмотреть. :o

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 16:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Форт - более чем произвольный язык :) Он язык с фразовой грамматикой. А с учетом того, что в процессе работы можно переопределить слова, БНФ для него становится проблематичной. Какие-то конструкции, понятное дело, можно описать. Но это если мы примем джентльменское соглашение, что ничего переопределяться не будет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 16:58 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
А с учетом того, что в процессе работы можно переопределить слова, БНФ для него становится проблематичной.

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 17:07 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Насчет фразовой грамматики - это еще надо посмотреть. Этой грамматики на самом деле у форта тоже нет, так как она может поменяться на любую мыслимую в ходе работы.


:dmad;
А почитать? "Этой грамматики нет", и тут же пишется про фразовую грамматику. Ну вот такая грамматика, без правил, и называется фразовой! Фразы-то есть. Слова = фразы. А что символ-разделитель и правила могут меняться по ходу выполнения, никакой роли не играет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 17:19 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Фразы-то есть. Слова = фразы. А что символ-разделитель и правила могут меняться по ходу выполнения, никакой роли не играет.

Понятие ТЕКСТ есть, а фраз в нем может и не быть, соответственно как и разделителей. Если уж говорить о фразовой грамматике, то только в применении к коду отдельных команд процессора(но и то это только слова-фраз тоже нет).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2007 17:44 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Еще раз: есть виды грамматик. Как проза и поэзия. Если не поэзия, то проза (см. Мольер, "Мещанин во дворянстве"). Аналогично, если есть исходный текст, он как-то разбирается. Если правил нет, это грамматика класса 0 (фразовая грамматика). Аналогична тексту, в котором нет ни ритма, ни рифм. Фразой в тексте называется что угодно. DUP - это тоже фраза (токен). : NEWWORD - тоже фраза. Форт в любом случае работает по принципу "выкусили фрагмент текста - выполнили код". Как бы ни убегали правила выкусывания текста и поиска соответствующего кода, это грамматика.


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

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


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

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


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

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