I say lex/yacc specifically because I am doing this in C, and I've learned that it's important to stick to tools thatare made to work together.
I am unfamiliar with File I/O and text processing in C overall, and so writing a parser by hand seems like more work than using BNF grammars that I am already pretty familiar with.