Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > IDL Code > Reverse engineering legacy IDL code > Concepts > IDL Code Reverser user interface (IDL code)
  
IDL Code Reverser user interface (IDL code)
The Reverser has a wizard style interface that guides you through the process of reverse engineering code.
The Reverser prompts you for the following information:
Model - the Model you want to reverse engineer to.
Root Object - the Model or a Package in the Model. Model items are created in the root object and its sub-Packages.
Root Directory - the folder in which the application code resides. The root directory is used when initially searching for code files to reverse engineer.
Model Settings File- you must create or select a Model Settings File, and then optionally save your Reverser settings to that file on exiting the Reverser. A Model Settings File sets up default settings on the Reverser pages.
Files to reverse engineer- you can select multiple files through wildcard searches, or select individual files.
Compiler search paths - so that the code files can be correctly parsed. You can optionally reverse engineer used files in the search paths.
Before reverse engineering any code, the Reverser provides a summary of the options you have set on the Task Summary page, so that you can confirm the options before reverse engineering any code. If you want to change an option, use the Back button to find the appropriate page.
The Reverser parses the selected code files and reports any parsing errors on the Processing Complete page. If there are parsing errors, you should resolve these errors before reverse engineering any code. Your source code should compile cleanly. You can parse the selected code files again by clicking the Back button, and then the Next button. When resolving errors, resolve #include errors first, by updating the #includes list on the Reverse Engineering Options 3 page.
After the reverse engineering of code, the Reverser displays a completion summary.