There are likely to be post-processing scripts for DMD added in the future. In
anticipation, this patch tweaks DMD's output to be a little more conducive to
machine parsing.
The basic idea is this:
- Lines beginning with '#' are comments and can be ignored, as can blank lines.
- All top level blocks consist of a string ending with '{', and then one or
more indented lines, and then a closing '}' on its own line. Any multi-line
things within a block are themselves enclosed in braces.
The diff for memory/replace/dmd/test-expected.dmd shows what this looks like in
practice.
It's a long way from a formal grammar or anything like that, but that would be
overkill. In this form it's quite easy to parse with simple scripts that just
do line-based regexp matching, rather than proper parsing. And it's still very
readable to humans, so I think it's a reasonable balance overall.
--HG--
extra : rebase_source : 64085babd79de3cce13295aa5f16a34dc3ad7697
DMD used to have "stack trace records" and "stack frame records". Bug 1013011
removed the latter, and now "stack trace record" and |TraceRecord| are a bit
unwieldy. This patch changes them to "heap block record" and |Record|.
--HG--
extra : rebase_source : 1d674db9866221f6a170d0eb05aa77fc9f4a1924