 |
Администратор |
 |
Сообщения: 273 Откуда: Россия
|
А использование получилось само собой! Я ничего больше не дописывал, но обнаружил, что Код: "OBERON" MODULE Unsigned; (*$MAIN*) IMPORT SYSTEM, P := Platform, B := Basic; TYPE TheClocks = ARRAY 23 OF INTEGER; CONST AnimClockData = TheClocks (00400, 00070, 00000,17, 00100, 00380, 00000, 00700, 03008, 00099, 100, 00170, 00010,12, 00103, 0030, 00300, 00400, 031, 00019,1,2,3); AnimClockData1 = TheClocks(00402, 00070, 00000,17, 00100, 00380, 00000, 00700, 03008, 00990, 100, 00170, 00010,12, 00103, 0030, 00300, 00400, 031, 00019,5,6,7); VAR i: INTEGER; BEGIN i:= AnimClockData [1]; B.PRWORD(i); END Unsigned.
уже транслируется в Код: "C" /* Ofront 1.2 -xtspkaem */ #include "SYSTEM.h" #include "Basic.h" #include "Platform.h" typedef INTEGER Unsigned_TheClocks[23]; const Unsigned_TheClocks Unsigned_AnimClockData = {400,70,0,17,100,380,0,700,3008,99, 100,170,10,12,103,30,300,400,31,19, 1,2,3}; const Unsigned_TheClocks Unsigned_AnimClockData1 = {402,70,0,17,100,380,0,700,3008,990, 100,170,10,12,103,30,300,400,31,19, 5,6,7}; static INTEGER Unsigned_i; /*============================================================================*/ export main(int argc, char **argv) { __INIT(argc, argv); __IMPORT(Basic__init); __IMPORT(Platform__init); __REGMAIN("Unsigned", 0); /* BEGIN */ Unsigned_i = Unsigned_AnimClockData[1]; Basic_PRWORD(Unsigned_i); __FINI; } Но при этом Код: "OBERON" тоже допускается, т.е. похоже для Ofront это обычная переменная-массив. Необходимо где-то задать ограничение на допустимость присваивания (например, как для IN-параметра).
|
|