Difference between revisions of "FPC JVM/ru"

From Free Pascal wiki
m (Сборки)
m (categories)
 
(16 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
=Обзор=
 
=Обзор=
  
FPC-backend для [http://ru.wikipedia.org/wiki/Java_Virtual_Machine виртуальной машины Java (JVM)] генерирует байт-код ява, соответствующий JDK спецификации версии 1.5 (и более поздних версий). На настоящий момент поддерживаются не все возможности языка FPC, но наибольшая часть поддерживается (или будет добавлена в будущем). Команда разработчиков сделала всё возможное, чтобы  каких-либо дополнительных изменений в язык, с добавлением Ява платформы.
+
FPC-backend для [http://ru.wikipedia.org/wiki/Java_Virtual_Machine виртуальной машины Java (JVM)] генерирует байт-код ява, соответствующий JDK спецификации версии 1.5 (и более поздних версий). На настоящий момент поддерживаются не все возможности языка FPC, но наибольшая часть поддерживается (или будет добавлена в будущем). Команда разработчиков сделала всё возможное, чтобы  не вносить каких-либо дополнительных изменений в язык с поддержкой Ява платформы.
  
Эта реализация FPC JVM backend ни как не связана с проэктом [http://www.remobjects.com/cooper.aspx Project Cooper] by RemObjects, а так же никак не поддерживает язык Oxygene.
+
Эта реализация FPC JVM backend никак не связана с проэктом [http://www.remobjects.com/cooper.aspx Project Cooper] от RemObjects, и никак не поддерживает язык Oxygene.
  
 
=Сборки=
 
=Сборки=
Сбрки компилятора первой версии (svn r18783, 2011/08/20) указаны ниже. Это кросс-компиляторы которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан.
+
Сборки компилятора  (svn r19598, 2011/11/07) указаны ниже. Это кросс-компиляторы, которые работают под указанные системы и компилируют в ява-код. Создаваемый ява-код никаким образом к системам не привязан.
  
 
Инструкция по установке:
 
Инструкция по установке:
 
* распакуйте архив
 
* распакуйте архив
* измените fpc.cfg (''bin\fpc.cfg'' (Windows), ''etc/fpc.cfg'' (other platforms)) находящийся в архиве, так чтобы он указывал на директорию в которой находятся распакованные файлы;
+
* измените fpc.cfg (''bin\fpc.cfg'' (Windows), ''etc/fpc.cfg'' (other platforms)) находящийся в архиве так, чтобы он указывал на директорию, в которой находятся распакованные файлы;
 
* для компиляции используйте ppcjvm  
 
* для компиляции используйте ppcjvm  
Тестовые проекты, которые использовались во время разработки можно найти здесь: http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm
+
Тестовые проекты, которые использовались во время разработки, можно найти здесь: http://svn.freepascal.org/svn/fpc/branches/jvmbackend/tests/test/jvm
  
 
* Ссылки на готовые сборки:
 
* Ссылки на готовые сборки:
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r18783-snapshot1/fpcjvmwin32-snapshot1.zip/download Windows] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmwin32-snapshot1.zip slower mirror])
+
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmwin32-snapshot3.zip/download Windows] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmwin32-snapshot3.zip зеркало])
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r18783-snapshot1/fpcjvmmacosx-snapshot1.tbz/download Mac OS X] (universal binary, Mac OS X 10.5 or later) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmmacosx-snapshot1.tbz slower mirror])
+
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmmacosx-snapshot3.tbz/download Mac OS X] (universal binary, Mac OS X 10.5 or later) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmmacosx-snapshot3.tbz зеркало])
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r18783-snapshot1/fpcjvmlinux-snapshot1.tbz/download Linux] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmlinux-snapshot1.tbz slower mirror])
+
** [http://sourceforge.net/projects/freepascal/files/JVM/2.7.1-r19830-snapshot3/fpcjvmlinux-snapshot3.tbz/download Linux] (i386) ([ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmlinux-snapshot3.tbz зеркало])
  
Если интересующая вас система не представлена, или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже.
+
Если интересующая вас система не представлена или вас интересует непосредственно сборка компилятора/rtl, то в отдельном архиве представлены только используемые Ява-компоненты (Jasmin, javapp, BCEL) . Инструкции по сборке приведены ниже.
* [ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip FPC JVM utilities] (этот файл вам '''НЕ''' нужен, если вы уже сказачли один из файлов, указанный выше)
+
* [ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip 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'' распакованную из архива сборки.
 +
 
 +
==Подробности==
 +
 
 +
Смотри [[FPC_JVM/Usage|usage information]] для дополнительной информации.
  
 
=Дополнительная информация=
 
=Дополнительная информация=
  
 
* [[FPC_JVM/Usage|Особенности использования]]
 
* [[FPC_JVM/Usage|Особенности использования]]
* [[FPC_JVM/Language|Поддерживаемые конструкции языке]]
+
* [[FPC_JVM/Language/ru|Поддерживаемые конструкции языка]]
 
* [[FPC_JVM/Debugging|Помощь по отладке Ява-паскаля]]
 
* [[FPC_JVM/Debugging|Помощь по отладке Ява-паскаля]]
 
* [[FPC_JVM/Building|Сборка компилятора и Ява утилит]]
 
* [[FPC_JVM/Building|Сборка компилятора и Ява утилит]]
* [[FPC_JVM/Internals|Информация о внутренних изменения в компиляторе и RTK]] (интересная для разработчиков компилятора/RTL)
+
* [[FPC_JVM/Internals/ru|Информация о внутренних изменениях в компиляторе и RTL]] (представляет интерес для разработчиков компилятора и/или RTL)
 +
 
 +
 
 +
{{AutoCategory}}
 +
[[Category:FPC/ru]]
 +
[[Category:JVM/ru]]

Latest revision as of 09:52, 14 May 2015

English (en) русский (ru)

Обзор

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 для дополнительной информации.

Дополнительная информация