ПИЛОТ - PILOT
Программируемый запрос, обучение или обучение ( PILOT ) - это простой язык программирования высокого уровня, разработанный в 1960-х годах. Как и его младший брат LOGO , это был ранний набег на технологию компьютерного обучения .
PILOT - это императивный язык, похожий по структуре на BASIC и FORTRAN по своей базовой схеме и структуре. Его ключевые слова состоят из одиночных символов T
для «type» для печати текста или A
для «accept» для ввода значений от пользователя.
Его история
PILOT был разработан Джоном Амсденом Старквезером , профессором психологии Калифорнийского университета в медицинском центре Сан-Франциско . В 1962 году он разработал простой язык для автоматизации обучающих тестов под названием Computest. Начиная с 1968 года, он разработал следующий проект под названием PILOT для различных компьютеров того времени, таких как SDS 940 .
Синтаксис языка
Строка кода PILOT содержит (слева направо) следующие элементы синтаксиса :
- необязательный ярлык
- командное письмо
- необязательный Y (если да) или N (нет)
- необязательное условное выражение в круглых скобках
- двоеточие (":")
- операнд , или несколько операндов с разделителями запятыми.
Метка также может быть одна в строке, за которой не следует другой код. Синтаксис метки - это звездочка, за которой следует идентификатор (буквенно-цифровая строка с буквенным начальным символом).
Командные буквы
Следующие команды используются в "core PILOT". Строки, начинающиеся с «R:», обозначают примечание (или комментарий), объясняющее следующий код.
R:Next line of input replaces current contents of accept buffer A: R:Next line of input replaces accept buffer, and string variable 'FREE' A:$FREE R:Next 3 lines of input assigned to string variables 'X', 'Y' and 'Z' A:$X,$Y,$Z R:Numeric input assigned to numeric variable "Q" A:#Q
- C
- Вычислить и присвоить числовое значение. Большинство реализаций PILOT имеют только целочисленную арифметику и не имеют массивов . Пример:
R:Assign arithmetic mean of #X and #Y to #AM C:#AM=(#X+#Y)/2
- D
- Измерьте размер массива в некоторых реализациях.
- E
- Завершить подпрограмму (возврат из нее ) или (если она находится вне подпрограммы) прервать выполнение программы. Всегда используется без операндов.
- J
- Перейти к ярлыку. Пример:
J:*RESTART
- M
- Сопоставьте буфер приема со строковыми переменными или строковыми литералами . Пример:
R:Search accept buffer for "TRUTH", the value of MEXICO and "YOUTH", in that order M:TRUTH,$MEXICO,YOUTH
Первая строка соответствия (если есть), которая является подстрокой буфера приема, назначается специальной переменной $ MATCH. Буферные символы слева от первого совпадения назначаются $ LEFT, а символы справа назначаются $ RIGHT.
Флаг совпадения устанавливается на «да» или «нет», в зависимости от того, выполнено ли совпадение. Любой оператор, у которого после буквы команды стоит буква Y, обрабатывается, только если установлен флаг соответствия. Операторы с N обрабатываются, только если флаг не установлен.
- N
- Эквивалентно TN: (введите, если последнее совпадение оказалось неудачным)
- р
- Операнд R: является комментарием и поэтому не действует.
- Т
- Операнд «Тип» в качестве вывода. Примеры:
R:The next line prints a literal string T:Thank you for your support. R:The next line combines a literal string with a variable expression T:Thank you, $NAME.
- U
- Используйте (вызовите) подпрограмму. Подпрограмма начинается с метки и заканчивается буквой E: Пример:
R:Call subroutine starting at label *INITIALIZE U:*INITIALIZE
- Y
- Эквивалентно TY: (введите, если последнее совпадение было успешным)
- Круглые скобки
- Если в операторе есть выражение в скобках, это условное выражение, и оператор обрабатывается только в том случае, если тест имеет значение «истина». Пример:
R:Type message if x>y+z T(#X>#Y+#Z):Condition met
Производные
Расширения ядра PILOT включают в себя массивы и с плавающей точкой чисел в Apple , PILOT и реализацию LOGO -inspired черепахи графики в Atari PILOT.
В период с 1979 по 1983 год группой пользователей UK PILOT руководил Алек Вуд, преподаватель в Wirral Grammar School for Boys, Мерсисайд, Великобритания. Для микрокомпьютеров того времени было создано несколько машинных версий mini PILOT, а в школе в Шотландии было разработано интерактивное учебное пособие по иностранному языку, в котором ученики проводили по городу следы, задавая и отвечая на вопросы на немецком, французском и т. Д. Статья в декабрьском номере. Компьютерная эра 1979 года охватывала раннюю реализацию под названием Tiny Pilot и давала полный листинг машинного кода.
Версии PILOT, наложенные на интерпретаторы BASIC ранних микрокомпьютеров, не были известны в конце 1970-х - начале 1980-х, и журнал Byte в какой-то момент опубликовал полную производную PILOT не по Тьюрингу, известную как Waduzitdo Ларри Хериарти, чтобы продемонстрировать, что такое компьютер был способен.
В Vanilla PILOT 1983 года для Commodore 64 была добавлена графика черепахи, как и в Super Turtle PILOT, который был опубликован в виде листинга в октябрьском выпуске COMPUTE! 1987 года ! журнал.
В 1991 году Институт инженеров по электротехнике и радиоэлектронике (IEEE) опубликовал стандарт для пилотов как IEEE Std 1154-1991. С тех пор он был отозван. Эталонная реализация на этой основе был реализован Эрик Реймонд и поддерживал - неохотно - в течение следующих 15 лет.
В 1990 году Том Нильсен, EdD, разработал и запрограммировал eSTeem PILOT для компьютеров Atari ST. Основанный на стандартах IEEE для PILOT, он включает специфические для Atari функции, такие как управление устройствами Laserdisc и CDROM.
Реализация psPILOT для любителей 2018 года, частично основанная на стандарте IEEE, была реализована с использованием языка сценариев Microsoft PowerShell.
использованная литература
дальнейшее чтение
- Джон Старквезер (1985). Руководство пользователя Pilot . Прентис-Холл. ISBN 978-0-13-937755-6 .