Университет | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить J(  )B
English version


JOBTM
© С.Свердлов 1998     

Компилятор языка Оберон-2



Характеристики

Входной язык Оберон-2
Выходной язык Байт-код виртуальной машины языка Ява (JVM) (файлы классов .class)
Среда исполнения компилятора J(   )B Windows-95, Windows NT (консольное приложение)
Среда выполнения приложений, полученных с помощью компилятора J(  )B Любая платформа, на которой имеется реализация виртуальной машины языка Ява.
Среда выполнения аплетов, полученных с помощью компилятора J(  )B Любой браузер Интернет с поддержкой Java. Appletviewer из состава Java Development Kit (JDK).
  • Модули, полученные компиляцией с Оберона, могут использоваться совместно с классами, полученными компиляцией с языка Ява.
  • Файлы классов, полученные с помощью J(  )B могут загружаться инструментальными системами, предназначенными для работы с языком Ява: Borland JBuilder и др.
  • Потребляемые ресурсы Менее 1Мб памяти для компиляции; ~500К на диске
    Состав библиотек
    • Модули специфицированные Oakwood Guidelines: In, Out, Files, Strings, Math, MathL, XYplane
    • 46 модулей определений для Java API 1.02 (javalang, javaawt, javaapplet и др.)

    Университет | Наверх | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить


    Как установить J(  )B

    Программа распространяется в виде саморазворачивающегося архива. Для установки необходимо:


    Университет | Наверх | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить J(  )B

    Hello, World!

    С помощью любого редактора пишем текст и помещаем его в файл, например hello.o (название файла не обязано совпадать с именем модуля. Расширение может быть любым):

    Вообще-то в Обероне нет понятия главной программы или процедуры. Программа инициируется командой - вызовом любой экспортированной процедуры без параметров. Но, поскольку средой выполнения нашей программы будет виртуальная машина Ява, приходится соблюдать ее соглашения. Обязательно должна быть экспортированнная процедура main с параметром - массивом Ява-строк (точнее, указателей на строки). С main и начнется исполнение.

    Запускаем J(  )B для компиляции:

    Эх, по старой паскалевской привычке забыли повторить имя модуля после END перед точкой. Исправляем:

    и компилируем снова:

    Теперь без ошибок. Сформирован файл класса Hello.class и файл интерфейса Hello.dfn. Обратите внимание, что первая буква в имени полученных файлов - заглавная, как и в имени модуля. Это нужно учитывать когда вызываем виртуальную машину для выполнения нашей программы:

    Что и требовалось доказать. Вы заметили, что для компиляции и выполнения программы мы воспользовались командными файлами job.bat и java.bat.


    Университет | Наверх | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить J(  )B

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

    Hello.dfn текстовый:

    Файл класса - двоичный. Его можно дизассемблировать и тогда посмотреть:


    Университет | Наверх | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить J(  )B

    Аплет "Чёрный Квадрат"

    Это самый первый аплет, успешно откомпилированный с помощью J(  )B. Он получился таким случайно. Просто нужно было, чтобы аплет как-то проявлял себя, рисовал что-нибудь. Вот я и написал:

    Название вначале было другим (кажется, QQ). Когда же при запуске возник черный (по умолчанию) квадрат, то и вспомнился Казимир Малевич.

    Итак, текст готов, компилируем:

    Для выполнения аплета можно использовать программу appletviewer из комплекта JDK. При запуске этой программы ей в качестве параметра нужно указать файл, содержащий HTML-тег <APPLET>. Но это не обязательно должен быть HTML-файл! Тег можно вписать прямо в файл с исходным текстом аплета на Обероне. Поэтому полный исходный текст "Черного Квадрата", входящий в комплект J(  )B на самом деле начинается так:

    Запускаем аплет с помощью appletviewer'а (командный файл av.bat). В качестве параметра указываем файл с исходным текстом (black.o):

    после этого на экране появляется вот такое окно:


    Этот сайт входит в Oberon Webring
    По-русски только у нас
    Через предыдущий | Предыдущий | Следующий | Через следующий | Наугад | 5 следующих
    Список | Присоединиться
    Университет | Оберон | Автора! | Тетрис | Бегущая строка | Загрузить J(  )B

    С. Свердлов
    c3c@uni-vologda.ac.ru

    Июль 1998 г.

        Турбограф            Rambler's Top100

    English version


    Oberon - Webring