LINUX.ORG.RU

Вышел GtkD 1.0

 ,


0

0

GtkD - привязка Gtk+ для языка D. Лицензия: LGPL.

Что нового:

  • полностью автоматизированный binding/wrapping
  • отсутствие зависимостей от других библиотек (без dool, без класса String)
  • структура пакетов и др. наименования близки к GTK+ (очень близки)
  • более полная обертка над GTK
  • поддержка Cairo
  • работает с Phobos и Tango
  • поддерживает D 1.0 и D 2.0
Примеры кода: http://www.dsource.org/projects/gtkd/...

>>> Источник



Проверено: svu ()
Ответ на: комментарий от anonymous

> тогда читаем вторую половину поста и берём D-to-D из languagemachine или http://www.dsource.org/projects/dgrammar в руки, и пишем парсер своего языка.

Да, примерно так.

Еще вопрос -- а могу я сделать свой класс строк, чтобы "abcd" был литералом класса my_std.my_string? Мне придется при этом патчить компилятор, или можно обойтись шаблонами?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> комплексные числа достойны литерала

Уже нет. Вроде собрлись выбрасывать в пользу структур.

naryl ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Свой класс конечно сделать можно. Вот подключить к компилятору его вместо std.string сложнее Ж)

Например, можно посмотреть исходники std.string в Phobos или Танго. Изменить реализацию класса строк, но оставить синтаксис D строк.

посмотрел dmd.1.026.zip/dmd/src/dmd/{lexer.c,lstring.[ch]} и grep TOKString lexer.c

Если хочется класс своих строк по умолчанию вместо std.string,

Таки придётся делать свой парсер, но для этого необязательно трогать фронтенд компилятора, можно навесить свой "препроцессор" сверху: написать парсер грамматики своего языка на (см. список на вики со ссылкой grammar), написать правило: если встречаем стандартную грамматику строк, выдаём код на D с обёрткой шаблоном своего класса my_std. После чего получаем корректный код на D, собираем компилятором D.

Сам такой "препроцессор" с разбором грамматики можно написать на том же D, шаблонами. Брр, за что боролись? Ладно в С++ каждый тащит свой велосипед со строками, но тут оно зачем?

anonymous
()
Ответ на: комментарий от www_linux_org_ru

>Исходники tdc кстати мне весьма полезно будет почитать

Или dil, или dangle, или Dparser, он не один такой, компилятор D на D. На худой конец в languagemachine есть пример как gcc парсер дёргать.

anonymous
()
Ответ на: комментарий от anonymous

> Ладно в С++ каждый тащит свой велосипед со строками, но тут оно зачем?

Чтобы обеспечить независимость реализации от интерфейса, специфицированного в стандарте Д.

Ну или по русски: допустим мне нужна скорость (или реалтаймовость), памяти у меня достоверно хватит и я согласен для этого не собирать мусор (т.е. аллокацию делать, а на деаллокацию забить)

www_linux_org_ru ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.