Фокал: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м ANSI C
Нет описания правки
Строка 11:
|influenced =
}}
'''FOCAL''' ([[аббревиатура|аббр.]] '''FO'''rmula '''CAL'''culator)  — [[интерпретатор|интерпретируемый]] [[язык программирования]] [[высокоуровневый язык программирования|высокого уровня]], переработка языка [[JOSS]].
 
Фокал, в большой мере, разработка Ричарда Мерилла ([[Richard Merrill]]), оказал самое сильное влияние на компьютеры [[Digital Equipment Corporation|DEC]] [[PDP-8]]. Меррил написал изначальный (в [[1968 год]] годуу) и классический (FOCAL-69) [[интерпретатор]]ы Фокала для PDP-8. Сама DEC позиционировала Фокал как «язык типа JOSS».
 
Как и ранние версии [[Бейсик]]а, интерпретатор Фокала сам обеспечивал все необходимое программное окружение и не нуждался в [[Операционная система|операционной системе]].
Строка 22:
Компания [[Coca-Cola]] использовала внутри фирмы доработанную версию Фокала, под названием COKE.
 
Из отечественных компьютеров Фокал существовал на [[Электроника БК-0010|Электронике БК-0010/0011]] и [[Диалоговый вычислительный комплекс|ДВК]] встроенный в [[ПЗУ]] (в поздних моделях БК  — доступный на картридже). Были также доступны расширения Фокала для этих машин, написанные различными энтузиастами.
Расширения содержали разнообразные дополнительные команды и функции для работы с графикой, звуком, запуска двоичных программ, обработки строк и пр.
 
Существенно расширенная версия Фокал использовалась в качестве включающего языка в [[ДИАСП]]  — Диалоговой Системе Проектирования  — специализированной САПР, предназначенной для целей микроэлектроники.
 
В 1990-е годы энтузиастами была предпринята попытка переноса Фокала на IBM PC (Turbo Focal), но она не вышла из стадии бета-версии, которая распространялась по каналам [[BBS]].
Строка 32:
 
* [[Sun Microsystems|Sun]] [[SPARC]]
** [[gcc]] 2.6.3 ([[ANSI C]]) и [[Sun Studio|Sun cc]] ([[K&R C]]), под [[SunOS]] 4.1.3
** gcc 2.6.3 (ANSI С) и [[Sun Studio|SunPro cc]] 2.0.1 (ANSI С), под [[Solaris (операционная система)|Solaris]] 2.3
* [[Hewlett-Packard|HP]] (9000 модель 720)
** gcc 2.5.8 (ANSI C) и HP cc (ANSI C) под [[HP-UX]] 8.05
* [[x86]]
Строка 40:
** MS [[Visual C++]] под [[Win32]] (не тестировалась)
 
Из-за похожего синтаксиса Фокал просто обречен на сравнение с [[Бейсик]]ом. Фокал уступает Бейсику по своим возможностям. Например, в Фокале совершенно отсутствует [[строка|строковый]] [[тип данных]], все [[переменная|переменные]] на Фокале  — числовые (как правило, дробные числа с плавающей точкой). Вместе с тем, интерпретатор Фокала гораздо менее требователен к ресурсам (прежде всего к [[Компьютерная память|памяти]]), нежели Бейсик, что позволяет делать более сложные программы на урезанных по ресурсам системах.
 
В настоящее время Фокал не развивается и практически не используется, вышеупомянутые порты Focal-81 были проделаны энтузиастами в целях развлечения.
Строка 122:
[[Метка|Метки]] строк в Фокале имеют вид <номер_группы>.<номер_строки>. В командах GOTO, IF, DO может указываться как полная метка, так и номер группы без номера строки (вызывает переход на строку с наименьшим номером в данной группе).
 
Восклицательный знак «!» в командах ASK и TYPE (ввод/вывод с консоли) является (наравне с «",» ") разделителем аргументов, и вызывает перевод строки, перед вводом или выводом следующего элемента списка.
 
Команда IF вычисляет значение выражения и переходит по одной из трех меток, соответственно, при значении меньшем нуля, значении равном нулю и значении большем нуля. Если метка опущена, то управление передается на следующую за IF строку.
 
== Литература и публикации ==
* В. А. Абрамов, А. В. Стрижков, А. Р. Федоров; «Диалоговый язык ФОКАЛ». М.«"Высшая школа»", 1991. Серия «Программное обеспечение МикроЭВМ», книга 4. ISBN 5-06-001785-0
* Г. И. Фролов, Г. А. Куправа, Ю. Г. Чаиров и др.; Под редакцией Л. Н. Преснухина; «Программирование на языке ФОКАЛ». М.Изд-МИЭТа, 1984
* А. Н. Писаревский, Л. Г. Осетинский, М. Г. Осетинский; «ФОКАЛ - — диалоговый язык для миниЭВМ». Л.«"Машиностроение»". Ленинградское отделение. 1985
 
== Ссылки ==
* [http://www.catb.org/retro/ The Retrocomputing Museum]  — интерпретатор FOCAL-81 для POSIX систем.
* [http://simh.trailing-edge.com/ Эмулятор различных ЭВМ], на котором можно запускать [http://simh.trailing-edge.com/software.html Фокал]
* [http://www.cs.uiowa.edu/~jones/pdp8/focal/ DEC’s FOCAL 1969 Promotional Booklet]{{ref-en}}