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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Сб июл 12, 2014 20:52 
KPG писал(а):
Если Форт не язык, то почему Вы его обсуждаете на форуме посвящённом использованию его как языка рограммирования?

См. наверху:
Цитата:
Forth и другие саморасширяющиеся системы программирования.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Сб июл 12, 2014 20:57 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
gudleifr писал(а):
См. наверху:
Цитата:
Forth и другие саморасширяющиеся системы программирования.

А ассемблер, как язык программирования существует?
Или тоже нет, в силу предъявляемых Вами "признаков" к языку программирования?

P.S. Т.е. Форт не достаточно ограничивает себя от "бездумных" действий программиста чтобы считаться языком программирования, но при этом оставаясь системой программирования :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Сб июл 12, 2014 21:03 
KPG писал(а):
А ассемблер, как язык программирования существует?
Правильно говорить "язык ассемблера". Ассемблер - программа, а не язык.
KPG писал(а):
Или тоже нет, в силу предъявляемых Вами "признаков" к языку программирования?
Ни каких "признаков" к языку я не предъявлял.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Сб июл 12, 2014 23:47 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Это, как бы, неправда. Нет там переменных. Ни типов, ни инициализаций, ни областей видимости, ни разной интерпретации по разные стороны оператора присваивания...

А почему с переменной должно ассоциироваться все перечисленное с теми же атрибутами, которые могут существовать в других языках программирования? Вопрос ведь не в том, обязательны ли переменные для программы на Форте. Однако же если кому-то захочется использовать переменные, то в Форте их можно реализовать вполне определенным способом, который описан в литературе и широко известен.
gudleifr писал(а):
Это зависит не от FORTH, а от машины на которой его реализуют (РАМ или РАСП). В машине Тьюринга данные от кода отделить легко. А в клеточной модели фон Неймана (эмулирующей ту же машину Тьюринга)?

А на чем ее делать? На бактериях в чашках Петри? На самоорганизующихся нанотрубках? Машины Тьюринга в чистом виде не существует, а электроника вполне конкретна. В триггере есть вход D, вот он, грубо говоря, и есть "данные". Если говорить о процессоре с учетом его внутренностей, то там точно так же можно разделить потоки команд и данных, просто по тем местам, куда внутри процессора попадают числа. Рано или поздно понадобится опуститься на низкий уровень, и лишние наслоения будут отвергнуты, если они помешают работать напрямую с такой элементарной вещью как косвенная адресация памяти.
gudleifr писал(а):
Началось с того: ...не проще ли в некотором случае вместо запоминания/передачи информации во флагах/переменных, запоминать/передавать алгоритмы. ... Если таких случаев найдется много или они будут всеобъемлющими, то имеет смысл всю FORTH-терминологию строить без понятия "данные".

Может быть и можно, но важнейший вопрос - зачем? Если речь изначально идет о получении специального языка для оперирования только командами, то такой язык наверняка можно построить в рамках регулярной грамматики. Но фортеров вряд ли можно будет всем скопом перетащить на такой язык, просто задекларировав, что "теперь Форт будет без данных". Color Forth одно время тоже активно представляли как "Форт нового поколения", но изначальный Форт никуда не делся.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 00:40 
Хищник писал(а):
А почему с переменной должно ассоциироваться все перечисленное с теми же атрибутами, которые могут существовать в других языках программирования?
Я так думаю. Если кому-то нужны переменные, то они должны работать как переменные.

Хищник писал(а):
Однако же если кому-то захочется использовать переменные, то в Форте их можно реализовать вполне определенным способом, который описан в литературе и широко известен.
Реализовать можно. Но, вот, конкретным способом? Сомневаюсь. Половина фортеров предпочитает VALUE, а не VARIABLE. А коллега mOleg добавляет многое из языков высокого уровня.

Хищник писал(а):
А на чем ее делать?
Например, на ЯВУ - и, вообще, покласть на процессор. Даже С-компилятор не желает знать, с каким сегментом он имеет дело, предпочитая генерировать код на обобщенном языке ассемблера. Не надо из похожести реализаций делать вывод о схожести программ. В конце концов, в силу ограниченности процессорных решений, все решения на нижнем уровне подобны.

Хищник писал(а):
Если говорить о процессоре с учетом его внутренностей, то там точно так же можно разделить потоки команд и данных, просто по тем местам, куда внутри процессора попадают числа.
А потом пишем JMP EAX и - вуаля! - данные становятся кодом... Краеугольное свойство FORTH - "в ячейку влезает как число, так и адрес команды", а набор команд, это уже, как бы, код.

Говоря высоким слогом, что есть переменная? Значение ассоциированное с именем. А слово? Действие ассоциированное с именем. Второе заведомо шире первого. Поэтому не надо радоваться тому, что оно легко эмулирует простейший случай. См. пример про ЯБЛОКИ у Броуди.

Хищник писал(а):
задекларировав, что "теперь Форт будет без данных".
В том-то и дело, что "не будет", а "с самого начала был". Речь не о том, чтобы написать новый FORTH, а о том, чтобы прийти к единому мнению, как работает старый. Чтобы меньше объяснять на пальцах.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 10:07 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
по поводу Языка - дайте определение, о чем мы говорим 8)

В Русском Языке есть переменные?
8)

Ну и по поводу переменных в Форте, их по сути, таки, не существует.
Все есть слова! В частности, поэтому, я исключил из INTERPRET распознавание чисел.

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

gudleifr писал(а):
А коллега mOleg добавляет многое из языков высокого уровня.

А можно перечислить? Или хотя бы привести пару примеров.

Кстати, деление языков на уровни тоже сомнительно 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 10:54 
mOleg писал(а):
по поводу Языка - дайте определение, о чем мы говорим
О языке мы не говорим. Мы говорим о FORTH. Почему FORTH не язык? Потому, что прекрасно работает "без FORTH": при реализации FORTH-подобных штук на ЯВУ; в виде огрызков, отлаженных в Debug или, даже, командных файлов; в схожих проектах - PostScript, Trac...
Ибо сказано Создателем (1971): главное - проблемно-ориентированный язык, FORTH - лишь простейшая (на тот момент реализация). Причем, ограниченная - если все начиналось (в 1958) с Языка Управления Заданиями, то к 70-м от этого полностью отказались в пользу одной программы, чем дальше, тем более изолированной от ОС.
Поэтому не "язык", а "метод".

mOleg писал(а):
Все есть слова!
...
А что до адресов и данных на стеках, коих, то это лишь привычный и удобный механизм взаимодействия слов между собой.

Полностью поддерживаю.

mOleg писал(а):
В частности, поэтому, я исключил из INTERPRET распознавание чисел.
...
Или хотя бы привести пару примеров.

Это, как бы, "раз" (тут Вы даже Java переплюнули, там все-таки допускается атомарность литералов).
Еще:
Отказ от создания управляющих слов "по месту" в пользу расширения их типового набора.
Попытки управлять видимостью слов путем переключения контекстов и прочих алиасов.
Использование ОО-словарей.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 11:23 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
gudleifr писал(а):
О языке мы не говорим. Мы говорим о FORTH. Почему FORTH не язык?

8) я раз 10 читал фразу, чуть не вошел в бесконечную рекурсию.
Последнее "Почему Форт не ЯЗЫК?" приводит меня к необходимости понимания, что такое язык.
Так что же такое язык? Вот, скажем, из википедии:
[url=http://ru.wikipedia.org/wiki/Язык]Язы?к — знаковая система, соотносящая понятийное содержание и типовое звучание (написание).[/url]
Я не утверждаю, что в википедии хорошо написано 8) но определение необходимо.
Считаю, что Форт - языковая среда программирования.

gudleifr писал(а):
Отказ от создания управляющих слов "по месту" в пользу расширения их типового набора.

очень наукообразно и непонятна суть. Вы о чем?

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

это в ANSI94 появилось. Я лишь использую. Только, все же, это вполне естественный для Форта механизм, его нельзя считать неродным, в отличие, от, скажем, механизма работы с файлами.

gudleifr писал(а):
Использование ОО-словарей.

Ну, какие же они ОО? (хотя внутреннее устройство похоже).

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 11:47 
mOleg писал(а):
Я не утверждаю, что в википедии хорошо написано 8) но определение необходимо.
Попробуйте, все-таки перечитать Мура. "Интерактивная среда" - это от бедности. Этакий игровой автомат для программистского самосовершенствования. Это на Спектруме или PC-XT я сидел в Бейсике и видел, что управляю машиной, сейчас мне под это выделяют виртуальный угол, откуда я ни на что повлиять не могу.

mOleg писал(а):
Вы о чем?
Ну, как бы, видели программы на языке ассемблера или чистом C? Много Вы там видели чистых структурных конструкций? Даже без учета оптимизации? Адресная арифметика, заглушки для перепрыгивания по сегментам, нетривиальные циклы... Я, например, не стесняюсь в создании подобных фич на FORTH, ибо проще. У Вас же набор xxxIF и ТHENxxx на все случаи жизни. Если Вы и создаете что-то нетривиально компилирующее, то пытаетесь привязать к словарям.

mOleg писал(а):
это в ANSI94 появилось.
Как и структурная обработка исключений. Выкинуть и забыть. Я тоже думал, что стандарт это хорошо, пока его не прочитал. Поэтому, вместо выкладывания в базе, ограничился матюгами: [url]http://www.gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\2.STANDARTNYJ%20NABOR%20SLOW\1.ANSI-94[/url].


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 14:45 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Типизация, область видимости, значение по умолчанию не являются обязательными свойствами переменных. Переменная - это область памяти, где хранятся данные. Она соответствует базовым возможностям процессора, поэтому все остальное определяется особенностями языка программирования.
gudleifr писал(а):
Реализовать можно. Но, вот, конкретным способом? Сомневаюсь. Половина фортеров предпочитает VALUE, а не VARIABLE.

От этого VARIABLE никуда не делась.
gudleifr писал(а):
Не надо из похожести реализаций делать вывод о схожести программ. В конце концов, в силу ограниченности процессорных решений, все решения на нижнем уровне подобны.

Именно потому, что процессоры работают с памятью одинаковым образом (это не ограниченность процессорных решений, это унифицированность доступа ко всем типам памяти: указали адрес - получили данные). Поэтому низкий уровень будет одинаковым. Другое дело, что он может быть чем-то обернут, но это уже не из области Форта.
gudleifr писал(а):
А потом пишем JMP EAX и - вуаля! - данные становятся кодом... Краеугольное свойство FORTH - "в ячейку влезает как число, так и адрес команды", а набор команд, это уже, как бы, код.

Данные не стали кодом. Они превратились в указатель на код. Команда JMP EAX не выполняет команду, код которой загружен в EAX, а передает управление по этому адресу.
gudleifr писал(а):
Говоря высоким слогом, что есть переменная? Значение ассоциированное с именем. А слово? Действие ассоциированное с именем. Второе заведомо шире первого. Поэтому не надо радоваться тому, что оно легко эмулирует простейший случай. См. пример про ЯБЛОКИ у Броуди.

Раз есть уже, но эффективнее (по причине специализации), то Forth-way - дать доступ к такой возможности. Собственно, переменные и так не используются в отрыве от действий с ними. Переопределим ! @ как SET и GET, и получим нечто, мимикрирующее под инкапсуляцию данных, хотя в действительности это как было прямым доступом, так и осталось. И даже если определять SET/GET как методы доступа к данным, все равно в базовых возможностях Форта будут торчать "потроха" в виде возможности доступа к памяти форт-системы. Если это запретить - получится "язык, на который оказал влияние Форт".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Вс июл 13, 2014 17:50 
Хищник писал(а):
Переменная - это область памяти, где хранятся данные. Она соответствует базовым возможностям процессора
Для этого есть другие названия: регистры, ячейки, адресные пространства, те же стеки... Переменными области данных на этом уровне никто никогда не обзывает.

Хищник писал(а):
все остальное определяется особенностями языка программирования.
...
Другое дело, что он может быть чем-то обернут, но это уже не из области Форта.
Из этого следует, что Вы согласны с тем, что FORTH - не язык! Однако, боюсь и "вскл.знак" и "собака" - есть, все-таки, "оборачивание".

Хищник писал(а):
Данные не стали кодом.
Т.е. надо говорить не "шитый код", а "шитые данные"!?

Хищник писал(а):
Переопределим ! @ как SET и GET...
Об этом, как бы, речь не шла. Тем более у Броуди...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Пн июл 14, 2014 00:10 
Не в сети
Administrator
Administrator
Аватара пользователя

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

На каком "этом" и кто эти "никто"? Перечисленные понятия относятся к различным признакам классификации, и ни одно из них не предназначено для хранения данных. Кроме разве что "ячеек", но тогда надо уточнять, что речь идет о ячейках памяти. Регистры и стеки - это временные хранилища значений из памяти. Если переменной X выделена ячейка с адресом 5, то в процессе обработки данных в регистрах процессора с этой связью ничего не происходит. Прочитано число в регистр или нет, с точки зрения программы X по-прежнему связан с ячейкой номер 5. Необходимость копирования данных в регистры проистекает из отсутствия операций "память-память", а она в свою очередь связана с конечным числом интерфейсом доступа к основному массиву ячеек. Если бы была массово распространена трехпортовая память, можно было бы для операции X = Y + Z просто поставить сумматор на пути данных из ячеек, выделенных для Y и Z. Хранение данных в регистрах процессора является исключением и техническим приемом сокращения трафика процессор-память с целью использования более производительного процессорного регистра. С точки зрения программиста переменные лежат в памяти, доступной процессору, и от этого программист и отталкивается в качестве отправной точки.
gudleifr писал(а):
Из этого следует, что Вы согласны с тем, что FORTH - не язык! Однако, боюсь и "вскл.знак" и "собака" - есть, все-таки, "оборачивание".

Форт - и язык, и не язык. Существует язык Форт, но он настолько тесно переплетается с такими понятиями, как стековая машина, 0-операндные команды, регулярная грамматика, что именно методические подходы Форта могут быть эффективно использованы при работе с этими технологиями. Можно играть с Фортом в игру "удаляй привычные вещи, пока он не перестанет работать". Можно удалить стек данных - реализовать виртуальную регистровую машину. Останется ПОЛИЗ, останется интерпретатор, только числа придется сразу распределять по фиксированным регистрам. Можно удалить словарь как связанный список - заменить, к примеру, на деревья, массив слов или вообще произвольную разновидность БД. Пропадут некоторые приемы программирования, но 2 2 + все равно даст 4.

А вот семантически ниже, чем ! @ уже ничего нет. Это базовые действия процессорной системы.

gudleifr писал(а):
Т.е. надо говорить не "шитый код", а "шитые данные"!?

Есть термин threaded code, под ним понимается определенная организация кода. Вычисляемые адреса - это с точки зрения процессора данные, а не код. Даже если по результатам вычислений управление будет передано на вычисленный адрес. Простой вопрос: управление передано на адрес 10. Какая команда выполнится - сложение, вычитание, умножение...? Вы полагаете, что число 10 каким-то образом превращается в код и выполнится команда с кодом 10?
Еще пример - читаем файл и выдаем его на аудиоЦАП. Содержимое файла не модифицируется. Можно вместо файла представить аудиовход - тут точно никаких "команд доступа к файлу". Данные приходят на шину с одного устройства и уходят в другое. Как тут понимать "отсутствие данных"?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Пн июл 14, 2014 00:39 
Хищник писал(а):
На каком "этом" и кто эти "никто"?
На уровне языка ассемблера и никто из пишущих на языке ассемблера. Далее Вас, пардон, понесло. Фраза "переменная Х хранится в ячейке 5" сродни "хандлер окна хранится в ячейке 7" и "количество розовых слонов - в ячейке CRAZY". По сути, подобные слова относятся к "компиляции" на язык ассемблера с языка постановки задачи. К языку ассемблера и, тем более, процессора ни "переменные", ни "розовые слоны" никакого отношения иметь не могут.
Хищник писал(а):
Форт - и язык, и не язык. Существует язык Форт, но он настолько тесно переплетается с такими понятиями, как стековая машина, 0-операндные команды, регулярная грамматика, что именно методические подходы Форта могут быть эффективно использованы при работе с этими технологиями...
Это фраза (как и следующие за ней) не имеющая смысла в контексте темы. Тем более, что методы построения проблемно-ориентированного языка и/или полного доступа к железу позволяют эффективно работать с ЛЮБЫМИ разумными, а не только с перечисленными, технологиями.
Хищник писал(а):
А вот семантически ниже, чем ! @ уже ничего нет.
Это неправда: во первых, они обернуты в "слово", во-вторых, используют достаточно высокоуровневую структуру "стек данных".
Хищник писал(а):
Есть термин threaded code...
Значит, все-таки, предлагаете "шитые данные"?! Или, даже просто отказываетесь от слова "код"? Ведь "команда" просто подается на шину процессора (как данные) и тупо дешифрируется в последовательность микрокодов (как адрес) или даже просто идет на вход логике (опять как данные)...

Давайте заканчивать этот базар. К теме он никакого отношения не имеет. Хотите спорить об этом дальше - давайте перенесем в "Юмор".

Я понял Ваши претензии так:
Я рассматриваю FORTH, как звено в цепочке А (язык машины) - F (FORTH)- P (проблемно-орентированный язык).
Вы ограничиваетесь подцепочкой A - F, пытаясь создать какую-то с одной стороны "общепринятую", с другой - "эффективную" пару (FORTH-машину).
Поэтому, Вы очевидно заинтересованы во взаимопроникновении терминологии A и F.
Я же (ратуя за универсальность F) принимаю как данность, что терминологии A, F и P могут не пересекаться. Вообще.

Отсюда и непонимание.
Если для Вас "компиляция" - процесс перевода с F на A, то для меня "компиляция" - перенос информации со СТЕКА в СЛОВАРЬ (т.е. внутренне дело F).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Пн июл 14, 2014 13:08 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
На уровне языка ассемблера и никто из пишущих на языке ассемблера. Далее Вас, пардон, понесло. Фраза "переменная Х хранится в ячейке 5" сродни "хандлер окна хранится в ячейке 7" и "количество розовых слонов - в ячейке CRAZY". По сути, подобные слова относятся к "компиляции" на язык ассемблера с языка постановки задачи. К языку ассемблера и, тем более, процессора ни "переменные", ни "розовые слоны" никакого отношения иметь не могут.


dd X ?

Теперь переменная X хранится в ячейке 5 (хотя кто ж знает, какой там адрес будет выделен, но это и неважно).

dd хандлер окна ?
dd количество розовых слонов ?

Тут явно ошибки.

В существующих реализациях ассемблера широко используется резервирование памяти с присвоением этому куску какого-то имени. Это переменная. Обращаемся к любой поисковой системе и смотрим выдачу на запрос "переменная ассемблер". Масса материалов, причем очень много из руководств, учебников и примеров. В чем смысл переиначивания имеющегося?

gudleifr писал(а):
Это фраза (как и следующие за ней) не имеющая смысла в контексте темы. Тем более, что методы построения проблемно-ориентированного языка и/или полного доступа к железу позволяют эффективно работать с ЛЮБЫМИ разумными, а не только с перечисленными, технологиями.


Был вопрос про Форт - я ответил. Любые разумные в Форте не рассмотрены, рассмотрены вполне определенные. Адреналиновая накачка мантрой "Форт может все" не приводит к каким-то практическим результатам, под адреналином человек не пишет код, а фантазирует, а когда адреналин кончается, ему уже неинтересно писать код.
gudleifr писал(а):
Это неправда: во первых, они обернуты в "слово", во-вторых, используют достаточно высокоуровневую структуру "стек данных".

Вам знакомо понятие "семантика"? Я не случайно подчеркнул, что семантически под этими словами ничего нет, потому что они соответствуют базовым командам процессора. Имя операции - это ее синтаксис, выполняемое действие - семантика. Действие "доступ к памяти по адресу" невозможно выразить на более низком уровне, его просто нет.
gudleifr писал(а):
Хищник писал(а):
Есть термин threaded code...
Значит, все-таки, предлагаете "шитые данные"?! Или, даже просто отказываетесь от слова "код"? Ведь "команда" просто подается на шину процессора (как данные) и тупо дешифрируется в последовательность микрокодов (как адрес) или даже просто идет на вход логике (опять как данные)...

Не фантазируйте, микроэлектроника все равно не пойдет у Вас на поводу ради мелкой коррекции терминологии :) Разница между командой и данными схемотехническая, она видна разработчику, явно выражена и не может быть проигнорирована исходя из здравого смысла (иначе не получится проектировать процессор).
gudleifr писал(а):
Я понял Ваши претензии так:
Я рассматриваю FORTH, как звено в цепочке А (язык машины) - F (FORTH)- P (проблемно-орентированный язык).
Вы ограничиваетесь подцепочкой A - F, пытаясь создать какую-то с одной стороны "общепринятую", с другой - "эффективную" пару (FORTH-машину).
Поэтому, Вы очевидно заинтересованы во взаимопроникновении терминологии A и F.
Я же (ратуя за универсальность F) принимаю как данность, что терминологии A, F и P могут не пересекаться. Вообще.

Я еще ни слова не сказал о своем понимании вопроса. Пока у меня есть претензии к постановке задачи и формулируемых утверждениях. Есть универсальные вопросы, которыми предваряется любое исследование. Какие проблемы сейчас имеются? Кому и чем они мешают? Что улучшится, если их решить? Только потом начинается изложение своего решения. Иначе получается чайник Рассела, который где-то летает, но никому не интересен. Его можно сколько угодно изучать, но практических следствий от этого изучения никаких.
gudleifr писал(а):
Если для Вас "компиляция" - процесс перевода с F на A, то для меня "компиляция" - перенос информации со СТЕКА в СЛОВАРЬ (т.е. внутренне дело F).

У термина "компиляция" есть общепринятое определение. Замена этого определения - см. выше. Кому нужно, зачем, чем мешает и что станет лучше, если заменить. Определение компиляции никак не затрагивает алгоритмы, с помощью которых она выполняется. Из стека в словарь? Пожалуйста. Основное определение тут совершенно ни при чем.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: О компиляции литералов и новом виде слов
СообщениеДобавлено: Пн июл 14, 2014 13:22 
Хищник писал(а):
dd X ?
Все-таки "X dd ?". И к переменным само по себе никогда не относилось. Спросите ассемблерщиков.
Хищник писал(а):
Я не случайно подчеркнул, что семантически под этими словами ничего нет
Семантически: "во первых, они обернуты в "слово", во-вторых, используют достаточно высокоуровневую структуру "стек данных"".
Хищник писал(а):
Разница между командой и данными схемотехническая, она видна разработчику, явно выражена и не может быть проигнорирована исходя из здравого смысла (иначе не получится проектировать процессор).
Это опять смешивание терминологии A и F.
Хищник писал(а):
Любые разумные в Форте не рассмотрены, рассмотрены вполне определенные.
Это тоже бессмысленная фраза. Что значит "рассмотрены в Форте"? Описаны в стандарте? Упомянуты у классиков?
Хищник писал(а):
Пока у меня есть претензии к постановке задачи и формулируемых утверждениях.
...
У термина "компиляция" есть общепринятое определение.
В студию! Только не надо подменять F-определение A- или P-определениями.


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

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


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

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


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

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