A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (1): [1]   

> Без описания
BohdanT Администратор
Отправлено: 04 Ноября, 2008 - 19:09:30
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Оказвается есть такая штука! Ну описаний ни где нету... но вот пример:
		PROCEDURE SafelyDoOperation(test:LONGINT) : BOOLEAN;
VAR trap, opened : BOOLEAN; res : LONGINT; temp: ARRAY 256 OF CHAR;
BEGIN
trap:=FALSE;
test:=test DIV test;
FINALLY
IF trap THEN KernelLog.String("TRAP");KernelLog.Ln END;
RETURN ~trap;
(* trap will be set in case a trap occurs in the block above *)
END SafelyDoOperation;

Переменная trap=TRUE когда произошел трап. Вот такая загогулина, понимаиш...
 
 Top
BohdanT Администратор
Отправлено: 07 Ноября, 2008 - 17:21:10
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Нашел где появляется переменная trap.
Модуль Traps содержит следующую проце-дурку:
PROCEDURE SetTrapVariable(pc, fp: SYSTEM.ADDRESS);
VAR
varadr: SYSTEM.ADDRESS;
BEGIN
varadr := GetVariableAdr(pc, fp, "trap");
IF varadr # -1 THEN
SYSTEM.PUT8(varadr, 1)
END
END SetTrapVariable;
 
 Top
Wlad
Отправлено: 19 Декабря, 2008 - 22:58:03
Post Id


Newbie


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  
Откуда: Харьков. Украина
Репутация: 0




BohdanT пишет:
Переменная trap=TRUE когда произошел трап

ШИКАРНАЯ вещь!

ЗЫ Когда ж они отладчик-то приторочат-таки? Улыбка

-----
У России только два союзника: её Армия и Флот.
 
 Top
BohdanT Администратор
Отправлено: 21 Декабря, 2008 - 11:21:01
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Wlad пишет:
BohdanT пишет:
Переменная trap=TRUE когда произошел трап

ШИКАРНАЯ вещь!

Мне понравилось как это реализовано. Ведь это сделано не на уровне компилятора, а на уровне библиотеки Подмигивание

Wlad пишет:
ЗЫ Когда ж они отладчик-то приторочат-таки? Улыбка


Скорее всего никогда. Недавно нарвался на такую ошибку, что отладчик бы не помешал Недовольство, огорчение
И делать его не сложно, но времени сейчас нет абсолютно
 
 Top
Wlad
Отправлено: 22 Декабря, 2008 - 00:59:27
Post Id


Newbie


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  
Откуда: Харьков. Украина
Репутация: 0




BohdanT пишет:
сделано не на уровне компилятора, а на уровне библиотеки

Скорее ни то, ни - другое.Это - рефлекшн какой-то...
Точнее - его правильное и красивое применение...

(Отредактировано автором: 22 Декабря, 2008 - 01:01:23)

-----
У России только два союзника: её Армия и Флот.

 
 Top
BohdanT Администратор
Отправлено: 22 Декабря, 2008 - 09:06:16
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Да рефлекшен, а это разве не уровень библиотеки?
http://a2os.org.ua/forums/topic....71270#1226071270
 
 Top
Wlad
Отправлено: 22 Декабря, 2008 - 21:59:39
Post Id


Newbie


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2008  
Откуда: Харьков. Украина
Репутация: 0




BohdanT пишет:
Да рефлекшен, а это разве не уровень библиотеки?
Сначала хотел категорично: "ну конечно же - нет!"...
Потом решил спокойнее: "Ну, конечно же - нет."
Радость
Дело в том, что "рефлекшн", он может ВЫРАЖАТЬСЯ теми или иными (что авторы реализовали) средствами конкретной библиотеки, но это это - НЕ часть библиотеки. По сути своей оно, как бы, и является одновременно "побочным продуктом" компилятора (в тех частях, что непосредственно НЕ часть интеллисенса... ( Улыбка )...
По сути это нечто метаязыковое. Надязыковое.
И это - гут. В смысле гибкости восприятия и работы с программой, как набором лбъектов и элементов метаязыковости и описания текста...

Ну, и - т.д. ... Короче, дерево и мысль в вялотекущем режиме.... Ниндзя

-----
У России только два союзника: её Армия и Флот.
 
 Top
BohdanT Администратор
Отправлено: 10 Марта, 2009 - 18:20:28
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Если есть в процедуре RETURN, то FINALLY не катит Однако
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« ActiveOberon »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0245]     [ Gzipped ]