ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 1


         Рабочая группа по языку программирования Modula-2












                               J P I

                              Modula-2

                      Руководство пользователя

         1987 Jensen & Partners International (J&P Intl.)

                         Первая публикация 1987

                   Опубликовано в Великобритании











                                 Перевод с английского:

                                          А.С.Барышнев
                                          С.И.Киркоров
                                            И.В.Клоков
                                           Н.М.Кузьмич
                                            И.В.Соскин



               Соответствует системе М2 JPI версии 1.05.








                            МИНСК - 1990




                         ПРАВА ПОЛЬЗОВАТЕЛЯ
                         ==================

         Настоящим документом фирма J&P Intl.  предоставляет пользователям неограниченные права
    на использование JPI Modula-2 компилятора и библиотек.  Данное ПО может  использоваться  на
    любом  компьютере  при условии,  что оно не будет устанавливаться на несколькиx компьютерах
    одновременно.  Копии данного ПО вы можете делать только в целях либо загрузки в  компьютер,
    на  котором вы будете его использовать,  либо для того,  чтобы иметь максимум две резервные
    копии.
         Пользователь имеет  право продавать программы,  разработанные при помощи компилятора и
    библиотек данного пакета. Но пользователь не имеет права перепродавать какую-либо из частей
    исходных кодов библиотек.


                              ГАРАНТИИ
                              ========

         J&P Intl.  гарантирует, что приобретенные вами дискеты являются точными копиями исход-
    ных дисков и безоговорочно будет заменять бракованные копии в течение 60 дней после  покуп-
    ки.
         J&P Intl.  также настоящим документом отказывается от всех прочих гарантий, независимо
    от того,  определены они явно либо только подразумеваются, включая без ограничений подразу-
    меваемые торговые гарантии,  а также гарантии пригодности для любых специальных применений.
    J&P Intl. не несет ответствености за всевозможные повреждения, включая потерю работоспособ-
    ности.
         J&P Intl. оставляет за собой право изменять данный продукт в любое время без предвари-
    тельных извещений.


                       ТЕХНИЧЕСКАЯ ПОДДЕРЖКА
                       =====================

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














                             СОДЕРЖАНИЕ
                             ==========

         1. Введение...........................................7
              Пакет JPI Modula-2...............................7
              Как работать с данным руководством...............7
                Соглашения о шрифтах...........................7
                Структура......................................7
         2. Введение в систему JPI Modula-2....................9
         3. Начало............................................13
              Содержимое дистрибутивных дисков................13
              Система на жестком диске........................13
              Система на двух флоппи-дисках...................14
              Продолжение.....................................14
                Если вы терпеливы.............................14
                Если вы не любите читать руководства..........14
         4. Выборочное изучение Modula-2......................15
              Hello...........................................15
              Пифагоровские вычисления........................16
              Музыка..........................................17
              Анаграмма.......................................18
              Головоломка.....................................23
              Графика.........................................24
              Сортировка......................................26
              Калькулятор.....................................29
         5. Среда JPI Modula-2................................34
              Установка среды.................................35
              Система помощи (Help)...........................35
                 Строки подсказок.............................35
              Система меню....................................36
                 Перемещения по меню..........................36
                 Клавиши Кратчайшего Пути.....................38
              Окна в среде....................................39
                 Изменение окон...............................40
                 Окна диалога с пользователем.................41
              Меню файлов.....................................44
                 Загрузить файл...............................44
                 Выбрать файл.................................44
                 Сохранить файл...............................45
                 Сохранить все файлы..........................45
                 Главный модуль...............................45
                 Изменить каталог.............................45
                 Каталоги файлов..............................45
                 Оболочка ДОС.................................46
                 Выполнить....................................46
                 Выйти........................................46
              Редактор........................................47
                 Система меню редактора.......................47
                 Загрузка файла...............................48
                 Сохранение файла.............................49
                 Перемещение между окнами редактора...........50
                 Команды редактора............................50


              Компиляция и запуск программ....................56
                 Компиляция...................................56
                 Главный модуль...............................57
                 Построить программу..........................57
                 Запуск программ..............................58
                 Компоновка программы.........................60
              Меню опций......................................61
                 Опции компилятора............................61
                 Опции компоновщика...........................62
                 Опции запуска................................63
                 Опции редактирования.........................64
                 Опции установки..............................65
                 Построить все................................65
              Информационное окно.............................66
              Файл переназначений.............................66
              Пакетный компилятор и компоновщик...............67
              Настройка меню..................................67
                 Изменение типа Главного меню.................68
                 Изменение текста меню........................68
                 Изменение дерева меню........................69
                 Изменение клавиш Кратчайшего Пути............69
                 Внешние команды ДОС..........................70
                 Клавиши меню и редактора.....................70
                 Изменение строк подсказок....................70
              Формат файла определения меню...................71
                 Директивы меню...............................71
                 Определение меню.............................73
              Настройка сообщений об ошибках..................77
         6. Описание языка....................................79
              О текстах.......................................79
                 Лексемы......................................79
                 Синтаксис....................................81
              Объявления и область действия...................82
              Типы............................................83
                 Числовые типы................................84
                 Перечислимые типы............................84
                 Типы-диапазоны...............................85
                 Типы множеств................................85
                 Типы массивов................................86
                 Типы записей.................................86
                 Типы указателей..............................87
                 Совместимость типов..........................88
              Объекты и значения..............................89
                 Константы....................................90
                 Значения множеств............................90
                 Назначения...................................91
              Выражения.......................................92
              Операторы.......................................94
                 Оператор присваивания........................94
                 Оператор IF..................................95
                 Оператор CASE................................95
                 Оператор WHILE...............................96
                 Оператор REPEAT..............................96
                 Оператор LOOP................................96
                 Оператор FOR.................................97
                 Оператор WITH................................97
                 Оператор GOTO................................98
              Процедуры.......................................98
                 Тела.........................................99
                 Вызов процедур..............................100
                 Типы процедур...............................102
                 Предопределенные процедуры..................102
              Модули.........................................104
                 Вспомогательные модули......................105
                 Импортирование..............................106
                 Локальные модули............................107
         7. Компилятор.......................................108
              OBJ-файл.......................................108
              Представление данных...........................108
              Соглашение о вызовах...........................110
                 Область стека...............................110
                 Передача параметров.........................111
                 Результаты функций..........................112
              Опции (в командной строке).....................112
              Директивы (в исходном тексте)..................113
              Интерфейс с другими языками....................115
                 Сегменты, группы и классы...................116
                 Адресация элементов.........................117
                 Соглашения об именах........................117
              Поддержка сопроцессора 8087....................118
              Обработчики прерываний.........................118
         8. Библиотека JPI-Modula-2..........................120
              Введение.......................................120
              Обзор библиотеки...............................121
                 SYSTEM......................................121
                 Asmlib......................................121
                 MATHLIB.....................................121
                 Str.........................................121
                 Lib.........................................122
                 Storage.....................................122
                 Process.....................................122
                 Graph.......................................122
                 FIO.........................................122
                 IO..........................................123
                 Window......................................123
                 FloatExc....................................123
              Как пользоваться библиотечным
              Справочником...................................124
              Модуль Str.....................................124
                 Общие строковые процедуры...................124
                 Процедуры преобразований....................127
              Модуль Lib.....................................129
                 Сортировка..................................129
                 Генерация случайных чисел...................131
                 Процедуры среды.............................131
                 Операции над блоками памяти.................132
                 Процедуры ДОС...............................134
                 Адресная арифметика.........................136
                 Длинные переходы............................136
                 Обработка ошибок............................138
                 Другие процедуры............................139

              Модуль Storage.................................141
                 Глобальные переменные в Storage.............141
                 Основные процедуры над динамической
                 памятью.....................................141
                 Общие процедуры над динамической
                 памятью.....................................142
              Модуль SYSTEM..................................145
                 Низкоуровневые процессы.....................145
                 Прочие процедуры............................149
              Модуль Process.................................150
                 Планировщик процессов.......................150
                 Сигналы.....................................151
                 Прочие процедуры............................152
              Модуль MATHLIB.................................154
                 Обработка ошибок............................154
                 Процедуры преобразования....................156
                 Процедуры сопроцессора 8087.................157
              Модуль FIO.....................................158
                 Глобальные переменные в FIO.................158
                 Обработка файлов............................159
                 Форматированный вывод.......................162
                 Форматированный ввод........................164
                 Обработка каталогов.........................165
              Модуль IO......................................167
                 Глобальные переменные в IO..................167
                 Форматированный вывод.......................168
                 Форматированный ввод........................169
                 Базовые процедуры ввода.....................170
                 Переназначение..............................171
              Модуль Graph...................................171
                 Константы...................................171
                 Графические процедуры.......................172
              Модуль Window..................................173
                 Константы и типы окон.......................174
                 Управление окнами...........................175
                 Обработка координат.........................177
                 Процедуры вывода в окна.....................178
                 Поддержка мультипроцессного режима..........180
                 Окна-палитры................................181
              Модуль FloatExc................................182
              Список процедур................................182

















                            Г Л А В А  1
                            ============

                              ВВЕДЕНИЕ
                              ========

                         Пакет JPI Modula-2
                         ------------------

         Пакет JPI Modula-2 - это законченная система разработки на языке Modula-2 с  управляе-
    мой  посредством  меню средой,  содержащей многооконный редактор,  изящный высокоскоростной
    линкер, полностью автоматический построитель программ, оптимизирующий компилятор, генериру-
    ющий  лучший код,  чем любой другой существующий компилятор языков C,  Pascal или Modula-2,
    встроенные возможности определения позиций ошибок как времени компиляции, так и времени ис-
    полнения,  и многое другое.  Помимо среды, вы можете приобрести библиотеки полезных утилит,
    например,  полная система управления окнами, менеджер процессов с разделением времени, мощ-
    ный набор подпрограмм управления памятью, и полный набор подпрограмм ввода /вывода.
         JPI Modula-2 также предоставляет уникальное средство организации технической  поддерж-
    ки,  доступ к которому может быть организован через модем из среды. Утилита TechLine позво-
    ляет снизить трудоемкость разработки пользователями своих программ.
         Вы можете задавать вопросы на технические темы,  получать ответы на них, а также прос-
    матривать заданные сообща вопросы и ответы на них без выхода из среды.


                 КАК РАБОТАТЬ С ДАННЫМ РУКОВОДСТВОМ
                 ==================================

                        Соглашения о шрифтах
                        --------------------

         Ниже приведены правила использования в тексте различных
    шрифтов:
         Italics - используется для выделения слов;
         Bold Italics - используется для указания новых понятий;
         Typewriter -  используется для указания текста, который
    может быть частью программы или который может  быть командой
    ДОСу;
         Keys - если вам встретился символ, взятый в < >, напри-
    мер, ,  то  он  указывает  клавишу  на клавиатуре вашего
    компьютера.

                             Структура
                             ---------

         Данное руководство содержит материалы по всем сторонам системы JPI Modula-2. В зависи-
    мости от ваших предыдущих знаний, вы можете захотеть читать только отдельные главы.
         Ниже приведена структура руководства:
         ГЛАВА 1.  Это данная глава. Содержит основные понятия о
                   среде.
         ГЛАВА 2.  Краткое  описание  ряда основных особенностей
                   JPI Modula-2.
         ГЛАВА 3.  Содержит  описание процесса инсталляции вашей
                   системы, а также процедуру запуска системы.
         ГЛАВА 4.  Несколько программ, позволяющих выборочно по-
                   знакомиться с некоторыми особенностями языка
                   Modula-2 пользователям, имеющим опыт програм-
                   мирования.
         ГЛАВА 5.  Детальное описание среды JPI Modula-2.
         ГЛАВА 6.  Краткое руководство по языку Modula-2.
         ГЛАВА 7.  Содержит  технические  детали,  относящиеся к
                   собственно компилятору, например, представле-
                   ние данных,  соглашения о вызовах, опции ком-
                   пилятора и т.д.
         ГЛАВА 8.  Подробное  руководство  по библиотеке системы
                   JPI MOdula-2. Подробно описывает каждый  биб-
                   лиотечный модуль и содержащиеся в нем  проце-
                   дуры.


Яндекс цитирования