Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
3-24310
Silla
2003-08-17 13:57
2003.09.08
Отчет в Excel


3-24350
Алексей Петухов
2003-08-17 12:23
2003.09.08
Insufficient memory for this operation


7-24720
qwerty335@yandex.ru
2003-06-24 14:48
2003.09.08
Запретить доступ к Floppy диску


7-24712
ruslanyd
2003-06-26 17:05
2003.09.08
Beep на спикер


14-24692
Dimaxx
2003-08-11 23:38
2003.09.08
Чёт странно...