- bool handle_command(Position& pos, const string& command);
- void set_option(UCIParser& uip);
- void set_position(Position& pos, UCIParser& uip);
- bool go(Position& pos, UCIParser& uip);
- void perft(Position& pos, UCIParser& uip);
-}
-
-
-////
-//// Functions
-////
-
-/// uci_main_loop() is the only global function in this file. It is
-/// called immediately after the program has finished initializing.
-/// The program remains in this loop until it receives the "quit" UCI
-/// command. It waits for a command from the user, and passes this
-/// command to handle_command() and also intercepts EOF from stdin,
-/// by translating EOF to the "quit" command. This ensures that Stockfish
-/// exits gracefully if the GUI dies unexpectedly.
-
-void uci_main_loop() {
-
- Position pos(StartPositionFEN, 0); // The root position
- string command;
-
- do {
- // Wait for a command from stdin
- if (!getline(cin, command))
- command = "quit";
-
- } while (handle_command(pos, command));
+ void set_option(UCIParser& up);
+ void set_position(Position& pos, UCIParser& up);
+ bool go(Position& pos, UCIParser& up);
+ void perft(Position& pos, UCIParser& up);