When extracting a table or materialized view with defined synonyms TOAD puts the synonym DDL in the beginning of the script which is wrong, because later we will drop and recreate the table/mv and this will leave the synonym as INVALID according to the dba_objects. The proper position for this object type is at the end of the script after the grants.
2nd minor issue with the synonyms DDL, is the use of DROP SYNONYM even when we use CREATE OR REPLACE SYNONYM
Amend script accordingly
Waiting for fix in a future release of Toad for Oracle