OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Ноябрь, 2019 00:57

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




Начать новую тему Ответить на тему  [ Сообщений: 131 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 23 Декабрь, 2005 13:14 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
Сергей Губанов писал(а):
Vlad писал(а):
Странслируй на оберон (вручную):
[code]
template <typename T, typename U>

Прошу не удивляться пустоте - ведь кода как такового в исходном примере нет. А приведённый текст после трансляции как раз в пустоту и превратился
:D :D :D


Предположим, что где-то будут объявлены переменные с типом type_list и использованы. Интересно, а на что вы будете ссылаться?

Мне кажется, что это описание оъявления типа нужно перенести в траслируемый код программы. Будем назвать эту структуру неактивной или условно используемой. В машинном коде мы конечно не сможем обнаружить следы этого типа, т.к. не использовали.

Можно вспомнить условную компиляцию #if then else #endif. И эту часть вы предлагаете не транслировать в целевой язык?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 23 Декабрь, 2005 14:40 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
vladfind писал(а):
Предположим, что где-то будут объявлены переменные с типом type_list и использованы. Интересно, а на что вы будете ссылаться?


type_list - это не тип, а шаблон типа. При объявлении переменных, должны будут указаны конкретные типы подставляемые в этот шаблон. Вот тогда по этому шаблону будет сгенерирован сам конкретный тип. Вот этот-то конкретный тип уже можно будет транслировать из С++ в Оберон. На него и буду ссылаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 23 Декабрь, 2005 18:46 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Сергей Губанов писал(а):
Да легко:
Код:
 


А теперь обратно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 02:10 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1026
Илья Ермаков писал(а):
Цитата:
Странслируй на оберон (вручную):

Возражение про умозрительность автоматических переводов синтаксиса я поддерживаю, а вот пример чтой-то не в тему...
Речь-то в ветке и не про Обероны шла.
Меня лично удивляет, где Илья увидел предложение об автоматическом переводе синтаксиса? Говорилось об переводе в промежуточное представление и обратно. От обратного перевода требуется соблюдение целевого синтаксиса. Поправьте, если что не так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 02:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
Насколько я понимаю, vladfind продвигает идею именно автоматической трансляции кодов с одного языка в другой, из другой императивной группы (пусть и через промежуточное представление...). Я не понимаю, какую цель преследуют данные прожекты. Отконвертить коды с Ada на С++ можно, но они будут плохочитабельны для человека, т.к. это разные стили программирования... Коды С++, переведенные в Ada, не станут от этого модульными и строго типизированными, а коды Ada с ее пакетами-модулями по-человечески перевести в С++ тоже нельзя. А с атрибутами и другими фичами Ada как быть?
Зачем огород городить? Сделать, например, Паскаль-коды легко повторно используемыми для С++-программистов и наоборот - невозможно. Это могут быть только повторно используемые компоненты в промежуточном представлении (как в .NET), но никак не исходники.

Что касается преобразований и взаимодействий между языками конкретно взятого Оберон-семейства, то за это я обеими руками за. Так же как и за эксперименты по расширению Оберон-компиляторов. Это конкретная идея, имеющая под собой почву.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 07:49 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Говорилось об переводе в промежуточное представление и обратно. От обратного перевода требуется соблюдение целевого синтаксиса. Поправьте, если что не так.


И какой смысл при такой постановке задачи?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 07:57 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
В Ada, кстати, мне решение нравится - единица параметризации и инстанциирования - пакет.


Что ты понимашь под "единицей параметризации и инстанциирования"?

Илья Ермаков писал(а):
Иногда не так удобно, но более четко и бардака поменее. STL под нее перенесен, кстати.


Интересно. И как будет выглядеть типичный контейнер для какого-то типа?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 08:03 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Сергей Губанов писал(а):
А приведённый текст после трансляции как раз в пустоту и превратился
:D :D :D


На самом деле смешного мало. Язык не позволяет выразать конкретную концепцию, но при этом претендует (по мнению Вирта) на вытеснение языков, которые такие вещи позволяют описывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2005 12:11 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
Под единицей параметризации я понимаю, что в Ada не пишут
template <> class T... и потом T <>,
а пишут
generic ... package ...

а уже потом при импортировании пакета его импортируют с определенным именем и параметрами. Что-то типа ContainersInt = Containers().
Можно, кстати, делать generic без параметров и несколько раз инстанционировать - получим несколько экземпляров модуля.

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

Замечу, что обобщенка была в Ada еще с 1983 года, т.е. она по праву первый язык в этом плане. А то, что Ada - паскалевский язык, никто спорить не будет. И после введения ООП в Ada-95 С++ там просто отдыхает. Так что любителям изобилия ("языков-шкафов", а не "языков-чемоданчиков") у околовиртовской линейки тоже есть, что показать.

Почему в Оберон не включен template на уровень языка? Потому же, почему этого нельзя сделать в Java, например. Потому что в языках с динамически связываемыми модулями этого на уровне самого языка и быть не может. Откуда компилятор возмет исходник соседнего модуля для раскручивания шаблона? А? Это в С++ подход каменного века: #include - сливаем все в один тексовик, а потом компилятор полчаса его жует (если не подавится :-) ) Страуструп, правда, кормил обещаниями компиляции шаблонов в объектный код - но, во-первых, код псевдообъектный, требующий рекурсивного вызова компилятора, а во-вторых, дальше обещаний дело не пошло.

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

Я знаю, что сейчас скажет Влад: "это проблемы компонентных языков...". А что делать-то? Продолжать строить системы в виде 10-метровых экзешников, которые обновляются и расширяются только целиком?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 01:33 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
а уже потом при импортировании пакета его импортируют с определенным именем и параметрами.


И в чем глубокий смысл прописывать эти параметры ручками, когда это может сделать компилятор? В С++ можно явно инстанцировать шаблон и это имеет вполне определенное использование. Делать это всегда - непрактично.

Илья Ермаков писал(а):
Что-то типа ContainersInt = Containers().
Можно, кстати, делать generic без параметров и несколько раз инстанционировать - получим несколько экземпляров модуля.


Нафига?

Илья Ермаков писал(а):
избегаем всякой хитрой магии, на которую в стандарте уходит по три-четыре листа, создатели компиляторов допускают по пять-десять ошибок, а программисты ломают голову, почему оно было истрактовано так, а не иначе.


Не надо ля-ля. Неявное инстанцирование шаблонов вполне интуитивная вещь, можно даже не вникать в суть, а просто писать темплейтный код в .h.

Илья Ермаков писал(а):
Замечу, что обобщенка была в Ada еще с 1983 года, т.е. она по праву первый язык в этом плане. А то, что Ada - паскалевский язык, никто спорить не будет.


Можно ссылку на причастность Вирта к разработке Ады?

Илья Ермаков писал(а):
Почему в Оберон не включен template на уровень языка?


Я прекрасно представляю себе эти трудности. Только это проблема разработчков языков, пусть они ее решают. Просто взять и выкинуть из языка - это не решение.

Илья Ермаков писал(а):
Страуструп, правда, кормил обещаниями компиляции шаблонов в объектный код - но, во-первых, код псевдообъектный, требующий рекурсивного вызова компилятора, а во-вторых, дальше обещаний дело не пошло.


Если ты про экспорт шаблонов, то в некоторых компиляторах это реализавано.

Илья Ермаков писал(а):
Я знаю, что сейчас скажет Влад: "это проблемы компонентных языков...". А что делать-то? Продолжать строить системы в виде 10-метровых экзешников, которые обновляются и расширяются только целиком?


Тут недавно обсуждали идею расширения синтаксиса. Можешь рассматривать шаблоны как один из вариантов реализации этой идеи для компилируемого языка. Хотя бы потому, что они работают исключительно во время компиляции. Тебя бы не удивило, если после изменения гипотетичского "модуля расширения синтакиса" в обероне потребовалась бы перекомпиляция всех модулей его использующих? Только не надо опять начинать про сложность шаблонов - какие бы они не были в С++ они есть, а в обероне - аналогов нет и не предвидется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 01:52 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
Цитата:
Можно ссылку на причастность Вирта к разработке Ады?

Ada была разработана в 1983 году как продолжательница ветки Algol. Вирт принимал в Алголе непосредственное участие как один из ведущих членов комитета. От Алгола пошел Паскаль. Когда в 1983 году американское Минобороны создавало язык, оно пошло тем же путем, что и Вирт (параллельно). Идеи Вирта, конечно же, изучали. до принятия Ada как оборонного стандарта обращались к нему за консультацией. Вирт ответил, что язык хороший, но слишком перегруженный. (Во многом он прав - в Ada синтаксис обширней в 1.3 раза, чем у С++. Правда, там все стройно, красиво, удобно и легко запоминается, в отличие от последнего :P ).
Итого, в 1982-1983 годах ветку Алгол-Паскаль продолжили два достойных языка: Ada и виртовская Модула. Первый получил широкое распространение у американских и европейских военных, второй - у наших.


Последний раз редактировалось Илья Ермаков Понедельник, 26 Декабрь, 2005 02:11, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 01:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
Цитата:
Только не надо опять начинать про сложность шаблонов - какие бы они не были в С++ они есть, а в обероне - аналогов нет и не предвидется.


Временным решением будет спец. препроцессор на уровне среды. Как раз им я сегодня и занимался :-)
Уже есть идейка, как его удобно использовать из кода...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 03:57 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Идеи Вирта, конечно же, изучали.


А. Ну я так и думал. Т.е., Вирт имел к Аде такое же отношение как и к жабе/С#. Можешь тогда и их называть "паскалевскими языками", я не против.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 04:10 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Временным решением будет спец. препроцессор на уровне среды.


Ну-ну. Изобретаешь то, от чего Страуструп в С++ пытался избавиться (в том числе и с помощью шаблонов).

P.S. Не ехидства ради хотел бы узнать - есть ли у вас конкретные планы (даты) на релиз вашего продукта? Чтобы, так сказать, не терять нить развития пока единственно известного мне "реального" обероновского продукта. В частности хотелось бы проследить в какой степени вы обрастете препроцессорами и прочими расширениями к моменту релиза. Сколько релизов/патчей вы выпустите без CVS и как при этом будет меняться состав команды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 06:18 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1026
Какой смысл спрашиваете? Я конечно не могу точно ручаться за vladfind и не ставлю себе такой задачи (захочет сам ответит) но мне лично будет интересно узнать какие условия надо задать для промежуточного представления для возможности конвертации его в различные языки. Насколько я понимаю идея состоит в этом. Что-то об эргономичности здесь намекали. Но если заранее использовать ненормативную лексику, а потом спрашивать какой смысл - то кто захочет общаться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 08:20 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
Vlad писал(а):
GUEST писал(а):
Говорилось об переводе в промежуточное представление и обратно. От обратного перевода требуется соблюдение целевого синтаксиса. Поправьте, если что не так.


И какой смысл при такой постановке задачи?


Простая задача. Есть синтаксис диалекта языка, скажем Lang_1 и Lang_2 с единственным отличием в оформлении комментарией.

LANG_1
1) <Начало_комментария> ::= ('/*') или ('//')
2) <Конец_комментария> ::= ('*/') или ('0x13'0x10')

LANG_2
1) <Начало_комментария> ::= ('(*') или ('**')
2) <Конец_комментария> ::= ('*)') или ('0x13'0x10')

Задача: Нужно написать текстовый препроцессор, который автоматически в исходном файле программы заменит написание комментариев.

Решал эту задачу.
Нужно иметь ввиду, что в тексте могут быть вложенные комментарии и символьные строки, например str=" /* Пример */ ".
Если код программы был задан в промежуточном представлении, тогда решение элементарное. :) В обычном виде нужно построить код, клон компилятора, который правильно бы разобрал разнообразные вариаты написания комментариев и выделил активные и пассивные комбинации начало-конец комментария.

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

Первые простые задачи.
1. Найти в тексте программы конструкции языка "Комментарий".
2. Найти в тексте программы конструкции языка "Отступ".

Оказалось не все так просто. Первые правила в базу знаний программиста работали успешно. Но есть "хитрый" текстовый файл программы где я сам долго задумался.
/////
а) Тривиальный тест №1:
Комментарий в строке начинается и заканчивается:
/* Тест1. Одна строка. Простой комментарий */
б) Уже сложнее тест №2:
/* Тест2. Первая строка (за закрытой кругвой скобкой разрыв строки)
Вторая строка. Финал. */
в) Усложняем тест №3:
/* Тест3. В комментарии вложен комментарий /* */. Финал. */
г) Сложный тест №4:
/* Тест4. Комментарии простой. */
<...> /* Фрагмент кода. Начало. */
IF (strTest # '/*') OR ('*/') THEN
<...> /* Фрагмент кода. Конец. */
/////
Вот и получается, что конструкцию "Комментарий" необходимо рассматривать в контексте других конструкций.


Привожу наглядный пример, когда синтаксический анализатор O2M (версия 1.8.35) не смог правильно разобрать код программы. С cайта загрузил пример 'PrintSelf.o2m' и добавил код:
///
Out.Char (";") (*
Out.String ("*)") *)
__________^ ERROR Commans not closed

Пример, когда синтаксический анализатор Странника (версия 21) правильно разобрал код программы с комментариями.
///
// STRANNIK Modula-C-Pascal for Win32
// Demo program (Use Win32)
if arr[1] = arr[1] then /* Тест5 есть комбинация как строка '*','/'
lstrcpy(s,"*/"); */
lstrcpy(s,"*/");
MessageBox(0,s,"test3:",0);
end;
___________ Ok'


Последний раз редактировалось vladfind Понедельник, 26 Декабрь, 2005 09:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 09:05 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
GUEST писал(а):
но мне лично будет интересно узнать какие условия надо задать для промежуточного представления для возможности конвертации его в различные языки. Насколько я понимаю идея состоит в этом.


1. На данном этапе реконструирую исходный код программы язык FASM на язык GenTee (так удобней). Это будет клон ассемблера, реализованный на языке высокого уровня (диалек С++) , но только с подробным описанием и анализом всех модулей.

2. Предусловия. FASM умеет создавать объектный код для DOS, Win 16, Win 32, Linux. Программа реализует несколько языков (фактически, можно дискуссировать):
  • язык коммандной строки
  • язык препроцессора
  • язык ассемблера
Дополнительно необходимо явно задавать модель процессора x86. Наборы кодов процессора эволюционно добавляются и расширяются.

3. Тестирование. Я не нашёл на форумах (наверное плохо искал :) ) полное исследование поведения FASM для разнообразных условий применения.

Начнём с коммандной строки. Мы видим, что нужно роботу-программисту корректно определиться в текущей аппаратно-программной среде (не полная анкета):
а) Это файловая система FAT?
б) Это файловая система VFAT?
в) Это файловая система NTFS?
г) Это файловая система ext2?
Зачем? Чтобы "по-умному" просмотреть имя файла и уже на этом этапе отказаться от дальнейших действий.

Хочется получить следующие свойства клона FASM:
  • Автоматически определиться с предусловиями использования FASM.
  • Предложить вариант промежуточного описания фрагментов кода на ассемблере.
  • Клонировать TEXT из Blackbox и использовать для управления проектирования (например на чистом ASM-е). Единое пространство описание проекта, справочной информации, исходного кода на языке программирования, встраиваемые модули тестирования фрагментов кода, раскрытие макросов, получение листинга с раскрынием всех макросов, раскрытие директив препроцессора, конечно, компиляция в код в машинные коды процессора. Далее модуль работы с экспертом-программистом: система вопрос-ответ, накопление статистической информации из исходных файлов, доступ пользователю к оценке качества фрагмента кода программы - всё это и будет инженерная база знаний программиста робота "Ванюши".
  • Заменить простой ассемблер в диалекте "Странника" на макроассемблер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 15:34 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
Цитата:
Т.е., Вирт имел к Аде такое же отношение как и к жабе/С#. Можешь тогда и их называть "паскалевскими языками", я не против.


Жабу и С# не трогаем, это новое поколение.
В старом поколении в ветке Алгола и Паскаля были только два основных языка - Ада и Модула. Хочешь - назову алголовским, это возражений не вызовет, надеюсь? А алгол развивали только две ветки - виртовская и Ада. Остальные типа С наклали на все аксиомы Дейкстры, Хоара, Вирты, Кнута и продолжали пропагандировать корявый полумашинный подход.

Тот, кто писал на Паскалях (Дельфи, например), переходит на Ада за 1-2 недели - проверено (к нашему самолету-амфибии Бе-200 было рещено писать на Ада. По воспоминаниям разработчиков, включились в полноценную работу на новом языке именно за этот срок.)
Сишники же открывают для себя столько новых концепций и столько новых "преград для творчества" (типа архистрогой типизации), что начинают биться головой об стену и вопить, что Ада - невыносимо сложный язык... А потом, отчаявшись, убегают обратно в свои прерии :-)

Цитата:
Не ехидства ради хотел бы узнать - есть ли у вас конкретные планы (даты) на релиз вашего продукта?

Что касается фирмы - с января начинаем писать систему бизнес-планирования, прототип думаем получить к середины весны. Параллельно (частично под нее) будем делать одну интересную штуку - нечто среднее между СУБД и распределенной объектной моделью. За это время и будем "обрастать" билиотеками и прочим. Авторг (учет и финансы) ставим под конкретные вещи в малом бизнесе и раскручивать до больших вещей пока не будем, т.к. тягаться с 1С смысла нет.
Команда у нас небольшая (6 человек, при том из них 2 - на веб-программировании) и расширять ее пока не будем. Такая вот картина.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 22:04 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
Цитата:
Авторг (учет и финансы) ставим под конкретные вещи в малом бизнесе и раскручивать до больших вещей пока не будем, т.к. тягаться с 1С смысла нет.
Команда у нас небольшая (6 человек, при том из них 2 - на веб-программировании) и расширять ее пока не будем. Такая вот картина.


Опыт 1С и освоенный рынок обязательно нужно использовать! Вам нужно оттолкнуться от решенных бизнес-процессов на платформе 1С и предложить компонентный паскаль. И смысл здесь даже очень есть.
Очень рад за вас! Вы в команде, налаживаете дело. Мечтаю поучаствовать в коллективной работе и строить большие информационные системы. Будете расширятся, увеличится объем работы - обращайтесь. (А это обязательно произойдет, т.к. для меня большой секрет в том, как вы увеличите производительность отдельного программиста. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Декабрь, 2005 22:28 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9157
Откуда: Россия, Орёл
:-) Спасибо на добром слове!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 131 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

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


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

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


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

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