The following list provides a brief overview of the language versions and/or compilers supported:
- Ada: Understand supports Ada83, Ada95, Ada05 and Ada2012 code separately, or in combination.
- Assembly: Understand supports Coldfire 68k, JIPSE MIL-STD-1750A, and IBM System 370.
- C/C++: Understand analyzes K&R or ANSI C source code and most constructs of the C++ language. Understand works with any C compiler, and has been tested with most of the popular ones. Note that C++ templates are now supported using the strict parser in Understand. Objective C, Objective C++, C++11, C++14, and C++ 17 are also supported using the strict parser.
- C#: Understand supports all versions up to and including 9.
- Cobol: Understand supports COBOL 85.
- FORTRAN: Understand supports FORTRAN 77, FORTRAN 90, FORTRAN 95, FORTRAN 2003 and FORTRAN 2008 in both free and fixed format. Extensions supported include Harris FORTRAN and DEC FORTRAN. We often expand Understand to support common compiler extensions. If you find that the compiler extensions you are using are not currently supported, contact us at email@example.com.
- Java: Understand supports up though Java 18.
- JOVIAL: JOVIAL73 and JOVIAL3 are supported.
- Delphi/Pascal: Understand supports all versions of Embarcadero’s Delphi language and Embarcadero’s Turbo Pascal language. It also supports ISO 7185: 1990 (also known as Unextended Pascal) with HP Pascal extensions. You can also enable support for Ingres embedded SQL statements.
- PL/M: The standard version for PL/M 80/86 is supported.
- Python: Understand supports Python Version 2 and Python Version 3.
- VHDL: We support VHDL-87, VHDL-93, and VHDL-2001.
- Visual Basic[.NET]: VB 2002 through 2015 are supported.
Understand can also analyze projects consisting of multiple languages and combine their analysis.