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. Objective C, Objective C++, C++11, C++14, C++17, and C++20 are also supported using the strict parser.
  • C#: Understand supports all versions up to and including C#11.
  • 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
  • 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.
  • 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.
  • Web Languages: Understand supports PHP, HTML, CSS, JavaScript, Typescript and XML.

Understand can also analyze projects consisting of multiple languages and combine their analysis.