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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - сначала было слово
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
NLObP писал(а):
Знак суммы не отображается.

WingLion писал(а):
Можно сделать

"если понадобится"...
Сообщение Добавлено: Сб окт 11, 2008 07:44
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Можно сделать и некоторые спец-символы подобно смайликам, типа: :sum; - знак суммы


Знак суммы не отображается.
Сообщение Добавлено: Сб окт 11, 2008 00:12
  Заголовок сообщения:   Ответить с цитатой
для справки... на форуме работают html-теги sup<sup>верхний индекс</sup> и sub<sub>нижний индекс</sub>
Можно сделать и некоторые спец-символы подобно смайликам, типа: :sum; - знак суммы
Сообщение Добавлено: Пт окт 10, 2008 08:01
  Заголовок сообщения:   Ответить с цитатой
in4 писал(а):
М. ссылки в круглых скобках делать, если нельзя надстрочных индексов?

даже не знаю, можно ставить значек ^1 или лучше `1 ?
Сообщение Добавлено: Пт окт 10, 2008 02:47
  Заголовок сообщения:   Ответить с цитатой
По оформлению - в квадратных скобках обычно ссылки на литературу из списка в конце.
М. ссылки в круглых скобках делать, если нельзя надстрочных индексов?
Сообщение Добавлено: Пт окт 10, 2008 02:44
  Заголовок сообщения:   Ответить с цитатой
вот, решил пусть тут тоже полежит.
Сообщение Добавлено: Пн окт 06, 2008 13:36
  Заголовок сообщения:  сначала было слово  Ответить с цитатой
Автор: mOleg
дата первой публикации 03.04.2007 в блоге Профита

«сначала было слово»

Большинство литературы посвященной изучению различных языков программирования рассчитаны на читателя, изучающего программирование с нуля. Поэтому повествование обычно начинается с того, как будет правильно сложить (2+3) или 2 3 + , а может (+ 2 3) – то есть с того, как делать самые простые вещи. В итоге при беглом просмотре (я имею в виду программиста), остается непонятно, ради чего создавался тот или иной язык и в чем его основное отличие от остальных, какие идеологические причины заставили создать этот самый язык.

Практически все современные языки программирования рассчитаны на то, что текст программы будет разбит на множество маленьких именованных кусочков, которые в различных языках называются то функциями, то подпрограммами, то процедурами, впрочем, есть и другие названия. У форта именованные кусочки кода называются словами или определениями.

Основным понятием языка форт1является слово2. Каждое слово языка может быть исполнено, но не обязательно должно исполняться. Программа в форт-среде – это набор слов. Обычно для выполнения программы достаточно выполнения последнего определенного понятия (слова). Форт-среда не разбирается в том, является ли очередное слово оператором языка или данными. Слова просто ищутся в списке, называемом словарем3 и при условии нахождения выполняются. Словарей может быть много, и словари тоже являются словами. Каждое новое слово добавляется в словарь с помощью уже существующих слов или их комбинации. Тот словарь, в который добавляется слово, называется текущим4, а тот, из которого исполняется - контекстным5. Современная6 форт-среда умеет работать с одним текущим и несколькими контекстными словарями, причем текущий словарь не обязан находиться в контексте, и список словарей, находящихся в контексте тоже не фиксирован. В отличие, например от Лиспа, базовый словарь форт-среды не является «суперсловарем», то есть не всегда находится в контексте, поэтому возможны ситуации, когда программист сам ограничивает знания системы словарем, в котором нет слов, позволяющих системе прийти в нормальное рабочее состояние. Этот момент позволят создавать совершенно не связанные с базовой средой лексиконы – то есть полностью менять правила поведения среды.

Любое слово можно условно разделить на две части: имя слова7 и содержимое слова. Содержимое слова тоже можно условно разделить на две части: исполнимую часть - код и неисполнимую часть – данные. В зависимости от типа слова содержимое слова может отсутствовать вообще, содержать только код или только данные.

Форт-среда состоит из:

- виртуальной форт-машины8, адаптирующей вычислительную модель используемой аппаратной платформы к принятой в форте;

- механизма обмена данными между словами;

- набора слов, достаточного, как минимум, для дальнейшего развития среды;

- и интерпретатора поступающих данных.

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

Интерпретатор - это бесконечный цикл, в котором производится последовательно: чтение очередной лексемы10 из входного потока, поиск ее в контексте, и выполнение.

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

Форт-среда может находиться в одном из двух12 состояний: состояния компиляции или интерпретации. Состояние системы определяется содержимым стандартной переменной STATE. Если в ней находится 0 – режим интерпретации, иначе – компиляции.

Отличие режимов работы заключается в поведении интерпретатора, который в режиме компиляции не исполняет слова, а добавляет в собираемое определение вызовы указываемых слов.

1 Собственно форт нельзя назвать языком программирования, так как он скорее является средой программирования.

2 В английской транскрипции word, но чаще definition, по-русски так же часто говорят определение.

3 В английской транскрипции vocabulary.

4 В английской транскрипции current vocabulary.

5 В английской транскрипции context vocabulary.

6 На данный момент система, соответствующая стандарту ANSI-94.

7 Ключ или идентификатор, то есть набор данных, благодаря которым может быть найдено содержимое, ассоциируемое с данным ключом.

8 Сокращенно FVM.

9 Для удобства работы в форт-среде разделены стек данных от стека возвратов.

10 Обычно лексемы отделены друг от друга пробелом, в отдельных случаях может быть любой другой символ.

11 Базовый словарь системы называется FORTH.

12 Обычно двух, но может быть и больше.
Сообщение Добавлено: Пн окт 06, 2008 13:35

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


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