Command-line argument parser