MODULE Test;
-IMPORT Out;
+IMPORT Files;
+
+TYPE
+ String = POINTER TO ARRAY OF CHAR;
+ R* = RECORD ch : CHAR END;
+
+VAR
+ f : Files.File;
+ r : Files.Rider;
+ m : R;
+ s : String;
BEGIN
- Out.String("A");
- Out.Char("A");
- Out.Ln;
- ASSERT("A" = 041X);
- ASSERT(041X = "A");
- ASSERT(ORD("A") = 041H);
- ASSERT(041H = ORD("A"));
- ASSERT("A" = "A");
+ f := Files.Old("Test.obn");
+ ASSERT(f # NIL);
+ Files.Set(r, f, 0);
+
+ Files.Read(r, m.ch);
+
+ ASSERT(s = NIL);
END Test.
/* совпадают с параметрами Tv. */
/* Доп: Tv - символ, е - строковая константа из одного символа */
- /* SYSTEM: переменным типа BYTE можно присваивать значения переменных типа CHAR или SHORTINT. */
+ /* SYSTEM: Ð\9fеременным типа BYTE можно присваивать значения переменных типа CHAR или SHORTINT. */
/* SYSTEM: Переменным типа PTR могут быть присвоены значения переменных-указателей любого типа. */
oberon_type_t * Te = e -> result;
{
return true;
}
- else if((oberon_is_nil_type(a) || oberon_is_pointer_to_record(a) || oberon_is_procedure_type(a))
- && (oberon_is_nil_type(b) || oberon_is_pointer_to_record(b) || oberon_is_procedure_type(b)))
+ else if((oberon_is_nil_type(a) || oberon_is_pointer_type(a) || oberon_is_procedure_type(a))
+ && (oberon_is_nil_type(b) || oberon_is_pointer_type(b) || oberon_is_procedure_type(b)))
{
return true;
}
return oberon_is_some_types(Tf, Ta)
|| (oberon_is_record_type(Tf) && oberon_extension_of(Ta, Tf))
+ || (oberon_is_system_byte_type(Tf) && (oberon_is_char_type(Ta) || oberon_is_byte_type(Ta)))
|| (oberon_is_array_of_system_byte_type(Tf))
|| (oberon_is_system_ptr_type(Tf));
}