Handles debug [on/off] command by setting the proper flag.
Handles non-standard fen command by printing FEN of the current position.
Handles go [parameters] command by running a new search for a position which was set using position command. Supported parameters:
Handles isready command by printing response as fast as possible.
Handles ponderhit command by setting abort and ponder flags, which should switch a search mode from the ponder to the regular one.
Handles position ... command with the following variants:
Handles quit command by terminating engine process.
Handles setoption [name] value [value] command by creating or overwriting a name option with the specified value.
Recreates tables if Hash or Clear Hash options are modified.
Handles stop command by setting abort flag, which should stop ongoing search as fast as possible.
Handles ucinewgame command by resetting a board state, recreating abort flag and clearing tables.
Recreates transposition table, pawn hashtable, killers table and history table.
Entry point of the UCI (Universal Chess Interface) and command loop.