FPC JVM/ru
English · Русский
Обзор
FPC-backend для виртуальной машины Java (JVM) генерирует байт-код ява, соответствующий JDK спецификации версии 1.5 (и более поздних версий). На настоящий момент поддерживаются не все возможности языка FPC, но наибольшая часть поддерживается (или будет добавлена в будущем). Команда разработчиков сделала всё возможное, чтобы не вносить каких-либо дополнительных изменений в язык с поддержкой Ява платформы.
Эта реализация FPC JVM backend никак не связана с проэктом Project Cooper от RemObjects, и никак не поддерживает язык Oxygene.
Сборки
Сборки компилятора (svn r19598, 2011/11/07) указаны ниже. Это кросс-компиляторы, которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан.
Инструкция по установке:
- распакуйте архив
- измените fpc.cfg (bin\fpc.cfg (Windows), etc/fpc.cfg (other platforms)) находящийся в архиве так, чтобы он указывал на директорию, в которой находятся распакованные файлы;
- для компиляции используйте ppcjvm
Тестовые проекты, которые использовались во время разработки, можно найти здесь: http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm
- Ссылки на готовые сборки:
Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже.
- FPC JVM utilities (этот файл вам НЕ нужен, если вы уже скачали один из файлов, указанный выше)
Пример
Компиляция
Пример можно скачать http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm/trange1.pp
ppcjvm -O2 -g trange1Запуск в Windows
Note: the path to the units has changed since the previous snapshots!
java -cp C:\full\path\to\fpcjvm\units\jvm-java\rtl;. trange1Замените 'C:\full\path\to\fpcjvm\units\jvm-java\rtl на полный путь к директории units\jvm-java\rtl распакованную из архива сборки.
Запуск в Unix системах
Note: the path to the units has changed since the previous snapshots!
java -cp /full/path/to/fpcjvm/units/jvm-java/rtl:. trange1Замените /full/path/to/fpcjvm/units/jvm-java/rtl на полный путь к директории units/jvm-java/rtl распакованную из архива сборки.
Подробности
Смотри usage information для дополнительной информации.
Дополнительная информация
- Особенности использования
- Поддерживаемые конструкции языка
- Помощь по отладке Ява-паскаля
- Сборка компилятора и Ява утилит
- Информация о внутренних изменениях в компиляторе и RTL (представляет интерес для разработчиков компилятора и/или RTL)
From the Free Pascal wiki, page "FPC JVM/ru", as it stood on 2015-05-14 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Edited on wiki.freepascal.org by 6 people, 2011–2015
From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.
| When | Who | What changed |
|---|---|---|
| Skalogryz | New page: {{FPC JVM}} =Overview= The FPC backend for the Java Virtual Machine (JVM) generates Java byte code that conforms to the specifications of the JDK 1.5 (and later). While not all FPC langua... | |
| Skalogryz | (minor) | |
| Skalogryz | Сборки (minor) | |
| Skalogryz | Дополнительная информация (minor) | |
| Skalogryz | Сборки (minor) | |
| Skalogryz | (minor) | |
| Skalogryz | (minor) | |
| Skalogryz | (minor) | |
| Paul Ishenin | Дополнительная информация | |
| Paul Ishenin | Дополнительная информация | |
| Skalogryz | Дополнительная информация (minor) | |
| Skalogryz | Пример (minor) | |
| Skalogryz | Run it on Unix-like platforms (minor) | |
| Eastorwest | Сборки | |
| Eastorwest | Сборки | |
| Jonas | Сборки: snapshot 2 | |
| Jonas | Дополнительная информация: link to ru version of FPC_JVM/Language (minor) | |
| AlexVinS | Дополнительная информация | |
| Jonas | (minor) | |
| FTurtle | categories (minor) |
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
