From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,725c488db548f6c5 X-Google-Attributes: gid103376,public From: schwarza@gdls.com (Art Schwarz) Subject: Re: reverse engineering Date: 1996/11/07 Message-ID: <55ss6k$6c9@mill.gdls.com>#1/1 X-Deja-AN: 195101280 distribution: inet references: <55ndb9$t02@news1.mnsinc.com> organization: General Dynamics, Land Systems Div reply-to: schwarza@gdls.com newsgroups: comp.lang.ada Date: 1996-11-07T00:00:00+00:00 List-Id: In article <55ndb9$t02@news1.mnsinc.com>, wfrye@mnsinc.com (William Frye) writes: >I am currently interested in doing reverse engineering on a sizable system, >does anyone know of a program that enables one to pull off the logical >constructs (if-then else, case etc.) from an Ada program and write them to >a test case matrix? Can YAC or Bison be used for this purpose? With respect to YACC(Bison)/LEX: It is possible to construct a parser for Ada and pick out the constructs desired. There are copies of the Ada syntax in various repositories - tho' I don't have their names. However, it is probably 'cheaper' to look towards an existing toolset for this capability. As a start, there is a Ada Static Code Analyser at "Home of the Brave Ada Programmers" at http://www.adahome.com. You can modify the code (I think that it's available) and change the reporting requirements from an 'analysis' to whatever you want. The rationale behind suggesting that a static code analyser be used is that these analysers typically construct flow-graphs of programs and these flow-graphs naturally partition using branch statements (goto's, conditionals, case statements, looping constructs, etc.). It would then seem to be a good fit for your application. art schwarz schwarza@gdls.com