Код: Выделить всё
DeclareTypeR(system.characterType,"CHAR","сим8",system.globalScope);
DeclareTypeR(system.rangeType,"RANGE","отрезокЦелых",system.globalScope);
DeclareTypeR(system.integerType,"INTEGER","системноЗависимоеЦел",system.globalScope);
DeclareTypeR(system.longIntegerType,"LONGINTEGER","длинноеСистемноЗависимоеЦел",system.globalScope);
DeclareTypeR(system.integerSetType,"INTEGERSET","мнвоНаБитахРазмераСистЗавЦел",system.globalScope);
DeclareTypeR(Signed8, "SIGNED8", "цел8", system.globalScope);
DeclareTypeR(Signed16, "SIGNED16", "цел16", system.globalScope);
DeclareTypeR(Signed32, "SIGNED32", "цел32", system.globalScope);
DeclareTypeR(Signed64, "SIGNED64", "цел64", system.globalScope);
DeclareTypeR(Unsigned8, "UNSIGNED8", "бцел8", system.globalScope);
DeclareTypeR(Unsigned16, "UNSIGNED16", "бцел16", system.globalScope);
DeclareTypeR(Unsigned32, "UNSIGNED32", "бцел32", system.globalScope);
DeclareTypeR(Unsigned64, "UNSIGNED64", "бцел64", system.globalScope);
DeclareTypeR(Float32, "FLOAT32", "вещ32",system.globalScope);
DeclareTypeR(Float64, "FLOAT64", "вещ64",system.globalScope);
DeclareTypeR(Complex32, "COMPLEX32", "компл32", system.globalScope);
DeclareTypeR(Complex64, "COMPLEX64", "компл64", system.globalScope);
DeclareTypeR(system.realType,"REAL","машинноЗависимоеВещ", system.globalScope);
DeclareTypeR(system.complexType,"COMPLEX","машинноЗависимоеКомпл", system.globalScope);
DeclareTypeR(system.booleanType,"BOOLEAN","лог",system.globalScope);
DeclareTypeR(system.setTypeA,"SET","мнвоНаБитахРазмеромСАдрес",system.globalScope);
DeclareTypeR(system.anyType,"ANY","динамическиТипизированныйУкль",system.globalScope);
DeclareTypeR(system.objectType,"OBJECT","окласс",system.globalScope);
DeclareTypeR(Set8, "SET8", "мнвоНаБитах8", system.globalScope);
DeclareTypeR(Set16, "SET16", "мнвоНаБитах16", system.globalScope);
DeclareTypeR(Set32, "SET32", "мнвоНаБитах32", system.globalScope);
DeclareTypeR(Set64, "SET64", "мнвоНаБитах64", system.globalScope);
(* глобальные функции. Если меняешь тут, ищи в другом месте вызовы NewBuiltinIdentifier *)
NewBuiltinR(Abs,"ABS","abs",system.globalScope,TRUE); (* prospero78/Oberon07ru. в КуМире - abs *)
NewBuiltinR(Ash,"ASH","арифмСдвиг",system.globalScope,TRUE);
NewBuiltinR(Cap,"CAP","ASCII_вЗаглавную", system.globalScope,TRUE);
NewBuiltinR(Chr,"CHR","Сим8ИзКода",system.globalScope,TRUE); (* И21 - нет, Глагол - ВЗНАК, 1С - Симв, Oberon07ru = ВЛИТ *)
NewBuiltinR(Entier,"ENTIER","округлиВниз",system.globalScope,TRUE); (* 1С - Цел, КуМир - int, Русская википедия - "пол", Excel - ОКРВНИЗ *)
(* NewBuiltin(Entier,"FLOOR","",system.globalScope,TRUE); (* дублирует ENTIER и не входит в стандарт *) *)
NewBuiltinR(EntierH,"ENTIERH","округлиВниз64",system.globalScope,TRUE); (* в A2 рекомендуется цел64(плавающееЗначение) *)
NewBuiltinR(Len,"LEN","длина",system.globalScope,TRUE); (* из Глагола; переделать в псевдо-метод *)
NewBuiltinR(Long,"LONG","устарПреобразуйКБолееШирокомуЦел",system.globalScope,TRUE);
NewBuiltinR(Max,"MAX","max",system.globalScope,TRUE);
NewBuiltinR(Min,"MIN","min",system.globalScope,TRUE);
NewBuiltinR(Odd,"ODD","нечётноеЛи¿",system.globalScope,TRUE); (* Глагол *)
NewBuiltinR(Ord,"ORD","КодСим8",system.globalScope,TRUE); (* И21 - НОМЕР, Глагол - ВЦЕЛ, Oberon07ru - НЛИТ, 1С - КодСимвола. Не забываем про перечисления! Сейчас они получаются
преобразованием типов! *)
(* нигде не используется
NewBuiltin(Ord32,"ORD32",system.globalScope,TRUE);
*)
NewBuiltinR(Lsh,"LSH","логСдвиг",system.globalScope,TRUE);
NewBuiltinR(Rot,"ROT","вращБит",system.globalScope,TRUE);
NewBuiltinR(Ror,"ROR","вращВправоБит", system.globalScope,TRUE);
NewBuiltin(Rol,"ROL","вращВлевоБит", system.globalScope,TRUE);
NewBuiltinR(Shl,"SHL","логИлиАрифмСдвигВлево", system.globalScope,TRUE);
NewBuiltinR(Shr,"SHR","логИлиАрифмСдвигВправо", system.globalScope,TRUE);
NewBuiltinR(Incr,"INCR","увел",system.globalScope,TRUE);
NewBuiltinR(Short,"SHORT","устарПреобразуйКБолееУзкомуЦел",system.globalScope,TRUE);
NewBuiltin(Sum,"SUM",system.globalScope,TRUE);
NewBuiltin(Dim,"DIM",system.globalScope,TRUE);
NewBuiltin(Cas,"CAS",system.globalScope,TRUE);
NewBuiltin(First,"FIRST",system.globalScope,TRUE);
NewBuiltin(Last,"LAST",system.globalScope,TRUE);
NewBuiltin(Step,"STEP",system.globalScope,TRUE);
NewBuiltinR(Re,"RE","Re",system.globalScope,TRUE); (* КуМир - переделать в псевдо-метод *)
NewBuiltinR(Im,"IM","Im",system.globalScope,TRUE);
NewBuiltin(systemAdr,"ADDRESSOF",system.globalScope,TRUE);
NewBuiltin(systemSize,"SIZEOF",system.globalScope,TRUE);
(* global proper procedures *)
NewBuiltinR(Assert,"ASSERT","утв",system.globalScope,TRUE); (* КуМир *)
NewBuiltin(Copy,"COPY",system.globalScope,TRUE);
NewBuiltinR(Dec,"DEC","умень",system.globalScope,TRUE);
NewBuiltin(Excl,"EXCL",system.globalScope,TRUE);
NewBuiltin(Halt,"HALT",system.globalScope,TRUE);
NewBuiltinR(Inc,"INC","увел",system.globalScope,TRUE);
NewBuiltin(Incl,"INCL",system.globalScope,TRUE);
NewBuiltinR(New,"NEW","нов",system.globalScope,FALSE);