# All the magics of the system module: # order has been changed! [ 'None', 'Defined', 'Low', 'High', 'SizeOf', 'Is', 'Echo', 'Succ', 'Pred', 'Inc', 'Dec', 'Ord', 'New', 'NewFinalize', 'NewSeq', 'RegisterFinalizer', 'LengthOpenArray', 'LengthStr', 'LengthArray', 'LengthSeq', 'Incl', 'Excl', 'Card', 'Chr', 'GCref', 'GCunref', # binary arithmetic with and without overflow checking: 'AddI', 'SubI', 'MulI', 'DivI', 'ModI', 'AddI64', 'SubI64', 'MulI64', 'DivI64', 'ModI64', # other binary arithmetic operators: 'ShrI', 'ShlI', 'BitandI', 'BitorI', 'BitxorI', 'MinI', 'MaxI', 'ShrI64', 'ShlI64', 'BitandI64', 'BitorI64', 'BitxorI64', 'MinI64', 'MaxI64', 'AddF64', 'SubF64', 'MulF64', 'DivF64', 'MinF64', 'MaxF64', 'AddU', 'SubU', 'MulU', 'DivU', 'ModU', 'AddU64', 'SubU64', 'MulU64', 'DivU64', 'ModU64', # comparison operators: 'EqI', 'LeI', 'LtI', 'EqI64', 'LeI64', 'LtI64', 'EqF64', 'LeF64', 'LtF64', 'LeU', 'LtU', 'LeU64', 'LtU64', 'EqEnum', 'LeEnum', 'LtEnum', 'EqCh', 'LeCh', 'LtCh', 'EqB', 'LeB', 'LtB', 'EqRef', 'EqProc', 'EqUntracedRef', 'LePtr', 'LtPtr', 'EqCString', 'Xor', # unary arithmetic with and without overflow checking: 'UnaryMinusI', 'UnaryMinusI64', 'AbsI', 'AbsI64', # other unary operations: 'Not', 'UnaryPlusI', 'BitnotI', 'UnaryPlusI64', 'BitnotI64', 'UnaryPlusF64', 'UnaryMinusF64', 'AbsF64', 'Ze8ToI', 'Ze8ToI64', 'Ze16ToI', 'Ze16ToI64', 'Ze32ToI64', 'ZeIToI64', 'ToU8', 'ToU16', 'ToU32', 'ToFloat', 'ToBiggestFloat', 'ToInt', 'ToBiggestInt', 'CharToStr', 'BoolToStr', 'IntToStr', # $ for ints 'Int64ToStr', 'FloatToStr', 'CStrToStr', 'StrToStr', 'EnumToStr', # special ones: 'And', 'Or', 'EqStr', 'LeStr', 'LtStr', 'EqSet', 'LeSet', 'LtSet', 'MulSet', 'PlusSet', 'MinusSet', 'SymDiffSet', 'ConStrStr', 'ConArrArr', 'ConArrT', 'ConTArr', 'ConTT', 'Slice', 'AppendStrCh', 'AppendStrStr', 'AppendSeqElem', 'AppendSeqSeq', 'InRange', 'InSet', 'Repr', 'Exit', 'SetLengthStr', 'SetLengthSeq', 'Assert', 'Swap', 'IsNil', 'ArrToSeq', 'CopyStr', 'CopyStrLast', 'NewString', # magic types: 'Array', 'OpenArray', 'Range', 'Set', 'Seq', 'Ordinal', 'Int', 'Int8', 'Int16', 'Int32', 'Int64', 'Float', 'Float32', 'Float64', 'Bool', 'Char', 'String', 'Cstring', 'Pointer', 'EmptySet', 'IntSetBaseType', 'Nil', # magic constants: 'IsMainModule', 'CompileDate', 'CompileTime', 'NimrodVersion', 'NimrodMajor', 'NimrodMinor', 'NimrodPatch', 'CpuEndian', 'HostOS', 'HostCPU', 'NaN', 'Inf', 'NegInf', # magics for modifying the AST (macro support) 'NLen', 'NChild', 'NSetChild', 'NAdd', 'NAddMultiple', 'NDel', 'NKind', 'NIntVal', 'NFloatVal', 'NSymbol', 'NIdent', 'NGetType', 'NStrVal', 'NSetIntVal', 'NSetFloatVal', 'NSetSymbol', 'NSetIdent', 'NSetType', 'NSetStrVal', 'NNewNimNode', 'NCopyNimNode', 'NCopyNimTree', 'StrToIdent', 'IdentToStr', 'EqIdent', 'NHint', 'NWarning', 'NError' ]