DRAKON.SU

Текущее время: Вторник, 16 Апрель, 2024 11:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 31 Август, 2015 16:10 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Связь мне видится таким образом:

1.
Текст на ЯВУ процедуры/функции копируем в редактор ДРАКОНа и преобразуем в графическую схему.
Схема, скорее всего, получается мало привлекательная.

2.
Приводим схему к красивому структурному ДРАКОНовскому виду, не нарушая логические связи заданные в тексте на ЯВУ.

3.
Схему транслируем на ЯВУ, включая ОСОБЫЕ ДАННЫЕ и отдаём транслятору.
Текст кардинально отличается от начального, но логика программы не нарушена.

4.
При необходимости коррекции процедуры/функции копируем текст с ОСОБЫМИ ДАННЫМИ в редактор и преобразуем в графическую абсолютно идентичную пункту 2 схему.

Т.е. многократные преобразования схема <-> текст не изменяют ни схемы, ни текста.

5. Корректируем схему и гоуту на пункт 3.


Очевидно : ), что ОСОБЫЕ ДАННЫЕ безболезненно можно спрятать только в комментариях. Откуда вывод: необходим язык разметки комментариев для хранения структуры схемы.

Такой язык мог бы стать, в том числе, языком межредакторного обмена.
Хорошо бы над ним подумать сообща.

А может что-то подобное уже есть?

P.S. Ежели кто высказывался раньше на подобные темы, то первородство за ним : )

P.P.S. А, да. После пункта 2 в текст на ЯВУ не лезем и структуры в нём не ищем : )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 31 Август, 2015 20:35 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Поскольку языков высокого уровня много, то народ думал в направлении абстрактного императивного языка и соответствующих backend'ов:
http://wiki.botik.ru/Refaldevel/AbstractImperativeLanguage
http://wiki.botik.ru/Refaldevel/WebHome


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 31 Август, 2015 21:26 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Рэйлвэй Каген писал(а):
народ думал в направлении абстрактного императивного языка и соответствующих backend'ов
Это не то.

Нужно в существующий язык втиснуть структуру дракон-схемы, так чтобы из текста программы можно было восстановить эту схему, а из схемы текст программы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 31 Август, 2015 22:16 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
можно попробовать привести программу и схему к одинаковому формату, напр. к s-выражению.
(ничего не знаю про внутренний формат Фабулы, поэтому буду чирикать со своей колокольни :))

пусть "особыми данными" будут:
    "отношение следования", задаваемое визуальной последовательностью;
    "когнитивно-эргономическая разметка" графа(т.е. множество его разрезов), задаваемые силуэтом.

если мы преобразуем текст императивной программы в функциональный аналог и запишем его в виде s-выражения, то на полученную запись можно будет наложить структуру дракон-схемы в ПРОТОН-формате(viewtopic.php?p=31929#p31929 viewtopic.php?p=73578#p73578). Т.е. вопрос генерации схемы из текста решается не очень сложно.

Сохранить исходник программы на ЯВУ с комментариями в виде тегов s-выражения - ещё проще.

p.s.: как делать функциональный аналог из схем было здесь и здесь
Вероятно, коллеги подскажут, как быстро получить функциональный эквивалент из исходника императивной программы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Сентябрь, 2015 23:58 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Допустим есть схема:
Вложение:
c++.png
c++.png [ 20.08 КБ | Просмотров: 10198 ]

Эта схема генерирует текст на С++:
Код:
QString ClassA::function1(QString _s)
{
    QString s = "abcd" + _s;
    return s;
}


Само описание схемы в формате fbpro:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<fbstruct version_format="0.1" struct="schema" kind="sbs" start="obj{405f8b34-ec17-4d5a-90df-696219e34477}" start_pos="-157.248 -47.9311" sqty_objv="3">
    <item name="vline">
        <un v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
        <vl_first v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
    </item>
    <item name="begin">
        <un v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
        <kind_object v="vertical"/>
        <bound v="-50 0 100 56"/>
        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">function1</p></body></html>]]></text_icon>
        <text_icon_up><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ClassA</p></body></html>]]></text_icon_up>
        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
        <below v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
        <left v="obj{94d9212a-174e-434f-baff-14d80e191fe7}"/>
        <right v="obj{5f3201e7-688a-4d91-93cb-667fabff7f5c}"/>
        <text_tl><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">C++</p></body></html>]]></text_tl>
    </item>
    <item name="impact">
        <un v="obj{94d9212a-174e-434f-baff-14d80e191fe7}"/>
        <kind_object v="left"/>
        <bound v="0 0 60 28"/>
        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString</p></body></html>]]></text_icon>
        <right_obj v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
    </item>
    <item name="param">
        <un v="obj{5f3201e7-688a-4d91-93cb-667fabff7f5c}"/>
        <kind_object v="right"/>
        <bound v="0 0 80 28"/>
        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString _s</p></body></html>]]></text_icon>
        <left_obj v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
    </item>
    <item name="action">
        <un v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
        <kind_object v="vertical"/>
        <bound v="-78.3182 0 156.636 28"/>
        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString s = &quot;abcd&quot; + _s;</p></body></html>]]></text_icon>
        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
        <above v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
        <below v="obj{166280cd-de4a-49b3-967d-3f88b2787b4e}"/>
    </item>
    <item name="end">
        <un v="obj{166280cd-de4a-49b3-967d-3f88b2787b4e}"/>
        <kind_object v="vertical"/>
        <bound v="-40 0 80 28"/>
        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">return s</p></body></html>]]></text_icon>
        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
        <above v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
        <hidden v="no"/>
    </item>
</fbstruct>


Если утеряется дракон-схема, то восстановить её автоматически будет затруднительно, а её оформление - невозможно.

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

Код:
//.fabula

QString ClassA::function1(QString _s)
{
QString s = "abcd" + _s;
return s;
}

//.fabula
//<?xml version="1.0" encoding="UTF-8"?>
//<fbstruct version_format="0.1" struct="schema" kind="sbs" start="obj{405f8b34-ec17-4d5a-90df-696219e34477}" start_pos="-157.248 -47.9311" sqty_objv="3">
//    <item name="vline">
//        <un v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
//        <vl_first v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
//    </item>
//    <item name="begin">
//        <un v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
//        <kind_object v="vertical"/>
//        <bound v="-50 0 100 56"/>
//        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">function1</p></body></html>]]></text_icon>
//        <text_icon_up><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ClassA</p></body></html>]]></text_icon_up>
//        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
//        <below v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
//        <left v="obj{94d9212a-174e-434f-baff-14d80e191fe7}"/>
//        <right v="obj{5f3201e7-688a-4d91-93cb-667fabff7f5c}"/>
//        <text_tl><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">C++</p></body></html>]]></text_tl>
//    </item>
//    <item name="impact">
//        <un v="obj{94d9212a-174e-434f-baff-14d80e191fe7}"/>
//        <kind_object v="left"/>
//        <bound v="0 0 60 28"/>
//        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString</p></body></html>]]></text_icon>
//        <right_obj v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
//    </item>
//    <item name="param">
//        <un v="obj{5f3201e7-688a-4d91-93cb-667fabff7f5c}"/>
//        <kind_object v="right"/>
//        <bound v="0 0 80 28"/>
//        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString _s</p></body></html>]]></text_icon>
//        <left_obj v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
//    </item>
//    <item name="action">
//        <un v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
//        <kind_object v="vertical"/>
//        <bound v="-78.3182 0 156.636 28"/>
//        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QString s = &quot;abcd&quot; + _s;</p></body></html>]]></text_icon>
//        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
//        <above v="obj{87ada4c6-62a9-458b-a22f-32a8e3de6a19}"/>
//        <below v="obj{166280cd-de4a-49b3-967d-3f88b2787b4e}"/>
//    </item>
//    <item name="end">
//        <un v="obj{166280cd-de4a-49b3-967d-3f88b2787b4e}"/>
//        <kind_object v="vertical"/>
//        <bound v="-40 0 80 28"/>
//        <text_icon><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
//<html><head><meta name="qrichtext" content="1" /><style type="text/css">
//p, li { white-space: pre-wrap; }
//</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; font-weight:400; font-style:normal;">
//<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">return s</p></body></html>]]></text_icon>
//        <vline v="obj{405f8b34-ec17-4d5a-90df-696219e34477}"/>
//        <above v="obj{e7c1668a-0860-47ff-aee3-69ec613b88ee}"/>
//        <hidden v="no"/>
//    </item>
//</fbstruct>


Из плюсов:
- простота реализации практически для любого ЯП и текстовых форматов описания дракон-схем. Например, для ИС Дракон подобная реализация элементарна;
- использование для декодирования описания схемы уже существующих функций;

Из минусов:
- сильно увеличивается объём текста на ЯП;
- нельзя редактировать текст программы в родном редакторе ЯП;

Что плохого и что хорошего ещё может быть в такой реализации?


P.S. Ежели кто подобное предлагал раньше, на первенство не претендую : )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Сентябрь, 2015 07:43 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Ильченко Эдуард писал(а):

- нельзя редактировать текст программы в родном редакторе ЯП;

Что плохого и что хорошего ещё может быть в такой реализации?

Лично для меня, такой минус был бы очень существенным. Лучше в комментах кода разметку делать дополнительно (скажем вносить "в скобки" текст икон), а данные скобки распознавать с учетом схемы в конце. По сути текст из схемы заменяем на ссылки на текст. Хотя между разными скобками в данном случае опять нельзя будет редактировать, но это уже не так критично будет.

К тому же в конце работы, для "облагораживания" текста можно будет заменить ссылки в тексте на позиции начала и конца текста икон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Сентябрь, 2015 07:53 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
И еще, желательно все же убрать лишнюю инфу из описания схемы в конце по максимуму. Может задавать только маршрут, а строить схему автоматом (без позиций, и наверное даже без атрибутов текста, хотя про атрибуты пожалуй уже спорно, или опционально сделать).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Сентябрь, 2015 18:37 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
adva писал(а):
Может задавать только маршрут, а строить схему автоматом (без позиций, и наверное даже без атрибутов текста, хотя про атрибуты пожалуй уже спорно, или опционально сделать).

Хотелось бы схему восстанавливать в первозданном виде ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 22 Апрель, 2016 18:58 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5848
Откуда: Москва
Эдуард, создается впечатление, что начатая Вами тема не завершена.

Жаль, потому что тема важная и интересная.

Если можно, сделайте результирующие выводы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 08 Июнь, 2016 18:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5848
Откуда: Москва
Ильченко Эдуард писал(а):
Если утеряется дракон-схема, то восстановить её автоматически будет затруднительно, а её оформление - невозможно.

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

P.S. Ежели кто подобное предлагал раньше, на первенство не претендую : )
Артем Бразовский изобрел другой способ.
viewtopic.php?p=97193#p97193


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 08 Июнь, 2016 21:29 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Артем Бразовский изобрел другой способ.
viewtopic.php?p=97193#p97193

Описание способа, по указанной ссылке, я найти не смог : (


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Июнь, 2016 08:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5848
Откуда: Москва
Ответить должен сам Артем. Но идея примерно такая.

1. Каждая икона дракон-схемы описывается пятимерным вектором (a b c d е).

2. Производится нумерация всех шампуров веток. Это а.

3. Для каждого шампура ветки нумеруются все подчиненные ему шампуры. Это b.

4. Для каждого шампура нумеруются все горизонтальные уровни (на которых находятся иконы). Это с.

5. Для каждого горизонтального уровня (для данного шампура) нумеруются все иконы слева направо. Это d.

6. В пятой позиции вектора е указывается код — уникальная форма (название) иконы.

7. При нумерации используются не только положительные, но и отрицательные числа.

====================

Что-то я малость перепутал, потому что у Артема, кажется, вектор четырехмерный.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB