I work on a NASA project where we have defined a Test Control Language
(TCL) to control testing of flight software in a test environment. The
language parser was implemented in the form of a hand-written,
recursive-descent style parser.

How can I (or should I) convince management that we should be using
compiler tools. The code is written in Ada. We have access to Aracdia's
AYACC and ALEX and AFLEX.

Does anyone have any advice?

My concern is that with each successive release, the system grows
increasingly obtuse--difficult to maintain and more fragile.
[The main advantages of yacc are that your source is about 1/4 the size it
would be in C, hence 1/4 the bugs, and it validates the grammar, i.e., if
yacc produces a parser without conflicts, it's guaranteed to parse exactly
the language specified by the grammar and diagnose anything else as an error.
A reasonably designed yacc parser is also easy to tweak to add syntactic
sugar, with little chance of a tweak screwing up the rest of the parser
without you knowing about it. -John]
--