Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Вниз

---|Ветка была без названия|---   Найти похожие ветки 

 
Skier   (2003-08-25 12:52) [0]

Как "собирать" (имеется в виду порядок сборки) два модуля чтобы они "видели" друг друга ? (Сразу оговорюсь что под "сборкой" я
здесь понимаю пробразование исходного текста программы в свою промежуточную форму для последующего испольнения. Так что просьба "не хватать за язык" :) )

В книге Дракона я этой темы не нашёл, поэтому пришлось доходить
самому, но не уверен что правильно.
Просьба посмотреть и указать на ошибки (если есть)

Итак имеем два модуля :

1)

Unit Test1;

interface

uses Test2;

var
B : Integer;

implementation

initialization
A := 10;

End.

2)
Unit Test2;

interface

var
A : Integer;

implementation

uses Test1;

initialization
B := 10;

end.

А вот мой вариант порядка их обработки :

а) Начинаем собирать Test1
б) Натыкаемся на uses Test2 и начинаем
собирать интерфейсную часть Test2
в) Дособираем Test1 (всё что осталось после uses
Test2
)
г) Дособираем Test2 (т.е. собираем implementation-часть)

Таким образом (я думаю) Test1 "увидит" A и Test2 "увидит" B

Нет ли ошибки ?


 
Юрий Федоров   (2003-08-25 13:02) [1]

Если не ошибкаюсь, в Delphi компилятор двухпроходный, наверно имеет смысл сделать аналогично ?


 
Skier   (2003-08-25 13:09) [2]

>Юрий Федоров © (25.08.03 13:02) [1]
Это не Delphi, а мой собственный интерпретатор, который "похож" на Delphi :)

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


 
Skier   (2003-08-25 15:22) [3]

Up


 
Skier   (2003-08-25 16:08) [4]

Счаз заплачу ! :)


 
Юрий Федоров   (2003-08-25 16:10) [5]

заплАчу или заплачУ ? :-)))


 
Skier   (2003-08-25 16:12) [6]

>Юрий Федоров © (25.08.03 16:10) [5]
:)) Классный каламбур ! :)
Но всё ж таки запл Ачу :(


 
Smithson   (2003-08-25 16:28) [7]

Понятие видели несколько ратяжимо.
Если модуль обявлен в interface, на него можно ссылаться из интерфесной части (типы использовать, например).
Если модуль обявлен в implementation, то только оттуда. Но это стандарт Delphi. Если ты ваяешь что-то свое, кто мешает сформулировать правила видимости и их реализовать? Так что не очень понятно, про что спрос...


 
Skier   (2003-08-25 16:30) [8]


> Но это стандарт Delphi.

Его я и использую.


 
handra   (2003-08-25 16:52) [9]

Юрий Федоров © (25.08.03 13:02) [1]
Если не ошибкаюсь, в Delphi компилятор двухпроходный, наверно имеет смысл сделать аналогично ?

Все-таки в отличии от Це однопроходный...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
8-24568
Stexen
2003-04-29 23:58
2003.09.08
Что-то вроде паинт!!


6-24594
Jao
2003-07-02 14:58
2003.09.08
Indy. TidTCPClient - где ошибка?


1-24532
¤ZDima¤
2003-08-21 23:02
2003.09.08
Проблемы с TThread 2...


1-24436
MadGhost
2003-08-25 18:28
2003.09.08
Как в Memo1 добавлять строку?


14-24660
nikkie
2003-08-20 14:02
2003.09.08
не так давно тут мишек обсуждали





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский