Parsing command line arguments using a finite state machine and backtracking | Dark Hacker News