|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.05.2016, 14:08 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Структура программной единицы
Хочу реализовать подключение программных модулей, взяв за основу паскалевские юниты. Представлять программу частями:
Параметры - там подключать юниты, длл-ки, может еще чего (типа директивы работы, например, указание диалекта, как в Racket). Интерфейс - там показывать все функции и типы доступные для других юнитов. Пока под вопросом - юнит будет позволять вложенные функции. Реализация - собственно описания самих функций. Какие есть идеи и предложения?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
31.05.2016, 14:45 | #2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Чем принципиальное отличие от программ с системой плагинов?
|
31.05.2016, 14:56 | #3 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 31.05.2016 в 15:01. |
|
31.05.2016, 15:02 | #4 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Надо бинарики распространять или исходники таким способом?
|
31.05.2016, 15:07 | #5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Это интерпретатор. В одном исходнике все пихать утомительно, потому там будет ссылка на другие исходники. И второе - чтобы язык развивался и мог решать задачи, изначально не предусмотренные, предполагается подключать системные библиотеки (то есть бинарники). Для программиста подключение библиотеки (бинарника) будет означать появление новых встроенных в язык функций. Ну например в Паскале по дефолту коннектится System.pas. А во Free Pascal это не просто дань традции, а изменение режима работы компилятора.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
31.05.2016, 15:10 | #6 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Предлагаю изучить модель языка Ruby, там можно подключать модули написанные на языке С. И вообще там многое учтено.
Последний раз редактировалось rpy3uH; 31.05.2016 в 15:15. |
31.05.2016, 15:21 | #7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я хочу просто библиотеку. Неважно на каком языке. Конечно стандарт какой-то надо, но язык не принципиален для бинарника.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
31.05.2016, 15:47 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
31.05.2016, 15:55 | #9 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Нет языка лучше Си#. Посмотрите как там сделано.
Паскалевские юниты хорошие. Но как только вы начинаете работать с интерфейсами, то появляется вопрос. Как сделать интерфейсы в разных модулях? Паскаль, Delphi запрещают циклические ссылки на интерфейсные отрывки. Из-за этого недостатка приходятся разные классы с одним общим интерфейсом кидать в один модуль. Например, откройте модуль Classes. В Си это решается при помощи NameSpace . Но! Это противоположная крайность. Невозможно поменять namespace простым переименованием модуля. Из-за чего вся ценность namespace теряется! Если вдруг у разных разработчиков совпадут названия namespace, то вы очень долго будете править исходники. Только вчера вылез из недр Tasm. Так вот там есть такая вещь как сегменты и группы сегментов. Так вот у сегментов может быть общий псевдоним. Пишется он после public Код:
'_Text' - его псевдоним. А вот сборка сегментов из разных модулей можно управлять через групповой сегмент. Более лучше это сделано ilink (инкрементный сборщик) там можно управлять тем какие сегменты(модули) с чем группировать. Правда пока не нашел как diff'ы делать. Т.е. ручного труда прибавляется не мало. PS. Цитата:
PPS. А вы свой компилятор делать не пробовали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
31.05.2016, 16:00 | #10 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация программной части доски объявлений | fronde | Фриланс | 0 | 20.05.2016 18:18 |
Требуется сррочная помошь по Delphy и программной инженерии | Stink5 | Фриланс | 1 | 14.05.2012 10:08 |
Работа с программной средой Visual Basic | Пяtnышк0 | Помощь студентам | 0 | 18.04.2012 18:39 |
Проблема при программной вставке столбца | makfromkz | Microsoft Office Excel | 2 | 10.11.2011 09:32 |
Единый Стандарт Программной Документации | Izhic | Обсуждение статей | 1 | 02.11.2009 21:54 |