## 2.7 data types aliases ``` // signed i8 -> byte // -128 — 127 i16 -> short // -32768 — 32767 i32 -> int // -2147483648 — 2147483647 i64 -> long // -9223372036854775808 — 9223372036854775807 // unsigned u8 -> ubyte // 0 — 255 u16 -> ushort // 0 — 65535 u32 -> uint // 0 — 4294967295 u64 -> ulong // 0 — 18446744073709551615 // 128 not exists // 0 — 340282366920938463463374607431768211455 f32 -> float f64 -> double f128 -> real // up to 128 bit ``` ``` // todo mv to code alias i8 = char; alias i16 = short; alias i32 = int; alias i64 = long; alias u8 = uchar; alias u16 = ushort; alias u32 = uint; alias u64 = ulong; alias f32 = float; alias f64 = double; alias f128 = real; ``` ## 2.8 code between ```dlang``` reserved words translates into target .d file without changes ``` ... dlang // common dlang code here dlang ... ``` ## 2.9 make no needs ; in lines ends ## 2.10 reserved words (keywords) list including https://dlang.org/spec/lex.html#keywords ``` abstract alias align asm assert auto bool break byte case cast catch char class const continue dchar debug default delegate deprecated do double else enum export extern false final finally float for foreach foreach_reverse function goto if immutable import in inout int interface invariant is lazy long macro mixin module new nothrow null out override package pragma private protected public pure real ref return scope shared static struct super switch synchronized template this throw true try typeid typeof ubyte uint ulong union unittest ushort version void wchar while with __FILE__ __FILE_FULL_PATH__ __FUNCTION__ __LINE__ __MODULE__ __PRETTY_FUNCTION__ __gshared __parameters __rvalue __traits __vector __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__ [deprecated keywords] body cdouble cent cfloat creal delete idouble ifloat ireal ucent use as ptn ptns _ ++ *_sw (function name end) main smain wmain dlang (dlang code without changes) ``` todo