Files
Nim/data/magic.yml
Andreas Rumpf 8b2a9401a1 version 0.7.0
2008-11-16 22:08:15 +01:00

246 lines
2.7 KiB
YAML

# All the magics of the system module:
# order has been changed!
[
'None',
'Defined',
'Low',
'High',
'SizeOf',
'Is',
'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',
# 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',
'Asgn',
'Repr',
'Exit',
'SetLengthStr',
'SetLengthSeq',
'Assert',
'Swap',
'IsNil',
'ArrToSeq',
# magic types:
'Array',
'OpenArray',
'Range',
'Set',
'Seq',
'Int',
'Int8',
'Int16',
'Int32',
'Int64',
'Float',
'Float32',
'Float64',
'Bool',
'Char',
'String',
'Cstring',
'Pointer',
'AnyEnum',
'EmptySet',
'IntSetBaseType',
'Nil',
# magic constants:
'IsMainModule',
'CompileDate',
'CompileTime',
'NimrodVersion',
'NimrodMajor',
'NimrodMinor',
'NimrodPatch',
'CpuEndian',
'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'
]