Io farei un parser (formato da un tokenizer e un lexer), per maggiori info cerca su WikiPedia: http://en.wikipedia.org/wiki/Lexical_analysis