getopt implementacao