Процесс, о котором вы говорите, называется синтаксическим анализом. Есть несколько вариантов сделать это. Вы можете использовать такой инструмент, как YACC, чтобы выполнить синтаксический анализ за вас, или вы можете реализовать свой собственный анализатор. Популярный синтаксический анализатор, который хорошо используется, является Парсером Рекурсивного спуска. Вы найдете много информации об этом в Интернете, и в Википедии также есть хороший пример кода.