# Reserved keywords and tokens

These are the keywords that are reserved by the language, i.e. they can't be used by any script defined identifiers. Remember that the host application may reserve additional keywords that are specific to that application.

`and bool break case cast class const continue default do` | `double else enum false float for from* if import in` | `inout int interface int8 int16 int32 int64 is not null` | `or out return super* switch this* true typedef uint uint8` | `uint16 uint32 uint64 void while xor`

* Not really a reserved keyword, but is recognized by the compiler as a built-in keyword.

These are the non-alphabetical tokens that are also used in the language syntax.

`* / % + - <= < >= > (` | `) == != ? : = += -= = /=` | `= ++ -- & , { } ; | ^` | `~ << >> >>> &= |= ^= <<= >>= >>>=` | `. && || ! [ ] ^^ @ !is ::`

Other than the above tokens there are also numerical, string, identifier, and comment tokens.

    123456789
    123.123e123
    123.123e123f
    0x1234FEDC
    'abc'
    "abc"
    """heredoc"""
    _Abc123
    //
    /*
    */

The characters space (32), tab (9), carriage return (13), line feed (10), and the UTF8 byte-order-mark (U+FEFF) are all recognized as whitespace.