![]() |
|
Модераторы: THandle, bems |
![]()
|
|
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Приветствую всех.
Давно не был на этом форуме. К делу. Сейчас я занимаюсь разработкой php интерпретатора (с компилятором в байт код и виртуальной машиной для его выполнения). Дело в том, что это реализация с нуля, которая разрабатывается на delphi и freepascal. Благодаря freepascal реализация языка будет кросс платформенной. Может тут есть люди занимающиеся подобными вещами в данный момент, очень интересен обмен опытом с такими людьми, а может и кто примет участие в разработке. На данный момент движок уже дает первые тесты, в нем есть условия, циклы, переменные простого типа, константы, а также подсчет выражений. Все это работает сейчас так же как в оригинальном пхп. Типизация такая же как в пхп, есть int, double, bool, string. Немного реализованы уже массивы (кстати хеш-массив в моей реализации это таблица такого же типа как и таблицы переменных). Реализован импорт нативных функций в движок. Реализован умный класс для хеш-таблиц (оптимизирован для мгновенного поиска по ключу-строке). Работает сие чудо с помощью 3х адресного кода в виртуальной машине, стековая машина используется пока только для вызова функций, больше ее негде пока использовать. Все это работает очень быстро. По скорости работы движка, моя версия не очень отстает от оригинала, на некоторых тестах (особенно при вызове функций) моя версия обгоняет PHP 5.2. В среднем же, моя версия где-то на 10-20% медленней оригинального php 5.2 версии. Пишите: ICQ: 861287 mail: [email protected] Сейчас еще осталось допилить массивы, реализовать объекты и классы, реализовать пользовательские функции, конструкцию switch, реализовать сборщик мусора (хотя он есть в зачаточном виде), реализовать оптимизатор (хотяб минимальный). P.S. Мой движок быстрее чем Pascal Script раза в 4-5 (не помню точно), и на столько же где-то быстрее FastScript. При этом еще нет реализации JIT. Задача полностью повторить PHP не стоит, но в синтаксисе как можно ближе. В моей версии нет типа данных - ресурс. Думаю добавить тип данных userdata - что-то вроде record. Также подумываю как делать юникодные строки, делать ли все юникодным или как-то дать возможность работы и с такими и с такими. Все это планируется выставить как openSource возможно, если у меня хватит энтузиазма. В отличии от оригинального PHP в моей версии будет нормальная многопоточность, также возможность добавлять методы классам во время выполнения (именно классам, а не объектам). Это сообщение отредактировал(а) lukas - 3.9.2010, 14:20 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
А это рассматривали- php4delphi?
|
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Про этот проект я знаю и пользовался миллион раз, то что у меня в подписи как раз на нем и основано, но я хочу написать пхп с нуля (возможно добавить свои некоторые синтаксические особенности). Это пока эксперимент, тем более в пхп так не хватает многопоточности и даже в 6 версии они ее не предусматривают. Оригинальный пхп ест очень много памяти. Сам язык пхп я знаю вдоль и поперек, ну и делфи / паскаль тоже. Один момент думал даже писать на с++, но боюсь там будет много ошибок из-за не строгой типизации данных и нетривиальных конструкций. Поэтому написать это чудо на freepascal для меня быстрее. Думая моя реализация пхп будет востребована в игровой сфере, как скриптовой движок для игр, под веб я не собираюсь реализовывать. Это сообщение отредактировал(а) lukas - 5.9.2010, 13:56 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
||||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Ну задача топика не переубедить меня в том, что нету смысла. Смысл для меня есть - получить опыт создания компиляторов и интерпретаторов, прославиться сделать себе имя, да и вообще это интересно. Короче, люди должны быть энтузиастами, я думаю консерваторам такие идеи чужды. С цитатой глюк был, не заметил. Это сообщение отредактировал(а) lukas - 5.9.2010, 14:01 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Может кто посоветует какие порталы и сайты, где можно найти таких людей (увлекающихся созданием компиляторов и интерпретаторов)?
Это сообщение отредактировал(а) lukas - 23.9.2010, 16:49 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| lukas |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Привет Друзья.
Моя сумасшедшая http://code.google.com/p/orionphp/ OrionPHP - Кроссплатформенный интерпритатор языка Orion (потомок PHP). Исходники открыты под лицензией MIT. Пока это пре-пре-пре-альфа версия. Все исходники на svn, там же есть 2 проекта примера использования движка - для делфи и лазаруса. Исходники совместимы с delphi 2005-2010 (возможно и Delphi7 не проверял), а также с FreePascal (Lazarus). Юникодная версия как бы есть и как бы ее нету, пока не разобрался как внедрять юникод в язык. Хочу заметить, что движок будет как можно максимально потоко-безопасным. Уже есть:
А также можно возвращать значения из функции по элементу массива:
Язык получился довольно быстрым, честно говоря на вызовах пользовательских и нативных функциях мой язык выигрывает у PHP 5.2, что не делают например известные FastScript или PascalScript, они проигрывают известным языкам как php, python и т.п. раз в 7-10, а то и больше. Из-за того что, вызов функций у моего языка происходит быстрее чем у пхп, скорость практически одинаковая, хотя если учесть, что люди часто пишут функции пользовательские и нативные в циклах, то orionPHP будет выигрывать. P.S. Если есть заинтересованные люди пишите мне в аську или здесь. Может кто захочет стать активным тестером. Данные есть в первом посте выше. Это сообщение отредактировал(а) lukas - 17.10.2010, 21:06 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
||||
|
|||||
![]()
|
| Правила форума "Delphi" | |
|
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |