Grammatically distinguish complete commands

This pull request solves an issue resulted from pull request #31. Specifically, `complete_command` non-terminals need to be distinguished grammatically from `compound_list` non-terminals. Indeed, `compound_list` is to be saved for later execution, while `complete_command` is executed immediately.