What languages does Understand support?
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 and JIPSE MIL-STD-1750A.
- 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 and C++14 are also supported using the strict parser.
- C#: Understand supports all versions up to and including 4.0.
- Cobol: Understand supports COBOL 85.
- FORTRAN: Understand supports FORTRAN 77, FORTRAN 90, FORTRAN 95, and FORTRAN 2003 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 most of JDK 1.3, 1.4, 5, 6, 7 and 8.
- 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] (Beta): VB 2002 through 2013 are supported. Limitations: the parser currently doesn’t handle overload resolution on function calls. Also, while the use of generics types doesn’t cause syntax errors, generic instantiations aren’t being done yet, so referencing a component of a generic field or value returned from a generic function call could result in an unknown entity.