> How did you solve the parsing of arbitrarily nested structures?
Write a recursive descent parser, or use a parser generator.
Or, more realistically, use one of the many libraries available for parsing it (pretty much every language has one at this point).
Hope one of these helps with your problem:
It doesn't matter how sensible a format is, those tools are simply not appropriate to write a parser in.
AWK is a language designed for data parsing and processing. That is what it is designed to do.
How did you solve the parsing of arbitrarily nested structures?