Parsing the definition for a struct should be trivial.

Yes the recursion of structs containing structs could be a challenge, but by simply requiring that all structs referenced be defined above you could get past it.