Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

Библиотеки интерпретатора   Найти похожие ветки 

 
Hyboid   (2004-12-18 11:53) [0]

Пишу свой интерпретатор. Уже есть лексический анализ и построение синтаксического дерева. Загвоздка сейчас состоит в представлении дополнительных библиотек для интерпретатора. Т.е. основные функции (например, математические exp, sin, cos) будут частью самого языка, а дополнительные (например GDI, Sockets, Files) должны храниться в подгружаемых библиотеках. Способов это реализовать кроме dll я больше не знаю, а dll мне не нравиться - Windows ONLY. Откуда вопрос, как библиотеки реализовать иначе и как это реализовано, например, в перле или питоне?


 
KSergey ©   (2004-12-18 12:01) [1]

>  в перле или питоне?

Признаюсь, не видел ни того, ни другого - но подзреваю, что просто написана поддержка для каждой платформы

PS
Могу судить по QuakExpress. Есть реализация для Win и Mac.
Доп. модули пишутся на Cи, но с использованием интерфейса, предоставляемого библиотеками Quark. А в них, как понимаю, сделана прослойка до конкретной платформы. Т.е. сама среда и библиотеки-прослойки - платформенно зависимы, все что их использует - нет (на уровне исходников, конечно).


 
TUser ©   (2004-12-18 12:17) [2]

А что в перле уже есть GDI?


 
Poirot ©   (2004-12-18 12:22) [3]

>> TUser ©   (18.12.04 12:17) [2]
Есть конечно:)


 
Hyboid   (2004-12-18 12:26) [4]

Нашел в Perl\lib\... dll-ки с двумя функциями:
boot_LibName и _boot_LibName
Т.е. в перле под винду все реализовано через dll? - херово дело.
А как, например, в джаве?


 
TUser ©   (2004-12-18 12:36) [5]


> Poirot ©   (18.12.04 12:22) [3]

Странно, я перл всегда воспринимал исключительно как что-то консольное. Никогда не видел/не писал на нем ничего оконно-интерфейсного. Буду рад ссылкам на примеры.


 
KSergey ©   (2004-12-18 13:03) [6]

> [4] Hyboid   (18.12.04 12:26)
> Т.е. в перле под винду все реализовано через dll? - херово дело.

Это почему??
> А как, например, в джаве?

Да так же!

А как вы представляете себе это реализовать иначе, интересно? На Win есть спец. формат библиотек - dll. На другой платформе -это другой формат. Нельзя по определению на какой-то платформе использовать то, что для нее не предназначено без прослойки ;)


 
Hyboid   (2004-12-18 13:39) [7]

>KSergey
На другой платформе -это другой формат


DOS, Unix - там как?


 
TUser ©   (2004-12-18 13:48) [8]

DOS - никак. Unix - в линуксе .so

PS. Под DOS"ом QuickBasic что-то подожное делал, но я так понимаю, специального общепринятого формата там не было.


 
KSergey ©   (2004-12-18 14:33) [9]

> [7] Hyboid   (18.12.04 13:39)
> Unix - там как?

Да я сам недавно такой же вопрос задал ;)


 
alekc ©   (2004-12-18 22:58) [10]

DOS в Protected Mode, кажется, тоже dll держит... во всяком случае, даже в turbo pascal я про что-то такое давненько читал.


 
ECM ©   (2004-12-18 23:40) [11]

В DOS были оверлеи.. кусок кода можно было замещать другим..


 
Amoeba ©   (2004-12-20 10:23) [12]


> DOS в Protected Mode, кажется, тоже dll держит

Совершенно верно!



Страницы: 1 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
14-1102650897
Думкин
2004-12-10 06:54
2005.01.02
С днем рождения! 10 декабря


4-1100800459
The Scorpion
2004-11-18 20:54
2005.01.02
Проецируемые в память файлы


3-1101988326
Blondin
2004-12-02 14:52
2005.01.02
TinyDB 2.0


14-1102705691
Pat
2004-12-10 22:08
2005.01.02
Прикольный баннер


1-1103278070
vigo
2004-12-17 13:07
2005.01.02
Help файл