![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Библиотеки интерпретатора [D6, Win2k]
Hyboid © (2004-12-18 11:53:00)Пишу свой интерпретатор. Уже есть лексический анализ и построение синтаксического дерева. Загвоздка сейчас состоит в представлении дополнительных библиотек для интерпретатора. Т.е. основные функции (например, математические exp, sin, cos) будут частью самого языка, а дополнительные (например GDI, Sockets, Files) должны храниться в подгружаемых библиотеках. Способов это реализовать кроме dll я больше не знаю, а dll мне не нравиться - Windows ONLY. Откуда вопрос, как библиотеки реализовать иначе и как это реализовано, например, в перле или питоне?
Amoeba (2004-12-20 10:23:00) [1]
> DOS в Protected Mode, кажется, тоже dll держит
Совершенно верно!
ECM (2004-12-18 23:40:00) [2]В DOS были оверлеи.. кусок кода можно было замещать другим..
alekc (2004-12-18 22:58:00) [3]DOS в Protected Mode, кажется, тоже dll держит... во всяком случае, даже в turbo pascal я про что-то такое давненько читал.
KSergey (2004-12-18 14:33:00) [4]> [7] Hyboid (18.12.04 13:39)
> Unix - там как?
Да я сам недавно такой же вопрос задал ;)
TUser (2004-12-18 13:48:00) [5]DOS - никак. Unix - в линуксе .so
PS. Под DOS'ом QuickBasic что-то подожное делал, но я так понимаю, специального общепринятого формата там не было.
Hyboid (2004-12-18 13:39:00) [6]>KSergey
На другой платформе -это другой формат
DOS, Unix - там как?
KSergey (2004-12-18 13:03:00) [7]> [4] Hyboid (18.12.04 12:26)
> Т.е. в перле под винду все реализовано через dll? - херово дело.
Это почему??
> А как, например, в джаве?
Да так же!
А как вы представляете себе это реализовать иначе, интересно? На Win есть спец. формат библиотек - dll. На другой платформе -это другой формат. Нельзя по определению на какой-то платформе использовать то, что для нее не предназначено без прослойки ;)
TUser (2004-12-18 12:36:00) [8]
> Poirot © (18.12.04 12:22) [3]
Странно, я перл всегда воспринимал исключительно как что-то консольное. Никогда не видел/не писал на нем ничего оконно-интерфейсного. Буду рад ссылкам на примеры.
Hyboid (2004-12-18 12:26:00) [9]Нашел в Perl\lib\... dll-ки с двумя функциями:
boot_LibName и _boot_LibName
Т.е. в перле под винду все реализовано через dll? - херово дело.
А как, например, в джаве?
Poirot (2004-12-18 12:22:00) [10]>> TUser © (18.12.04 12:17) [2]
Есть конечно:)
TUser (2004-12-18 12:17:00) [11]А что в перле уже есть GDI?
KSergey (2004-12-18 12:01:00) [12]> в перле или питоне?
Признаюсь, не видел ни того, ни другого - но подзреваю, что просто написана поддержка для каждой платформы
PS
Могу судить по QuakExpress. Есть реализация для Win и Mac.
Доп. модули пишутся на Cи, но с использованием интерфейса, предоставляемого библиотеками Quark. А в них, как понимаю, сделана прослойка до конкретной платформы. Т.е. сама среда и библиотеки-прослойки - платформенно зависимы, все что их использует - нет (на уровне исходников, конечно).