Supported character sets

Character encodings supported for source code analysis, and what happens to unsupported characters

Overview

This page lists the languages and character encodings that CAST Imaging supports when analyzing source code, and explains what happens when the delivered source code contains a character that is not supported.

Supported languages with Unicode for analysis

The following languages are supported with Unicode:

  • Albanian
  • Belarusian
  • Bosnian
  • Bulgarian
  • Catalan
  • Chinese
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Estonian
  • Faroese
  • Finnish
  • French
  • German
  • Greek
  • Greenlandic Inuktitut
  • Hungarian
  • Icelandic
  • Irish
  • Italian
  • Japanese - EUC-JPexternal link and ISO_2022_JP_3 are not supported
  • Latvian
  • Lithuanian
  • Luxembourgish
  • Macedonian
  • Maltese
  • Moldovan
  • Norwegian
  • Polish
  • Portuguese
  • Romanian
  • Russian
  • Serbian
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Turkish
  • Ukrainian

What happens to unsupported characters

Any character that is not supported, but is present in a source code file encoded with one of the supported encodings, is converted by CAST to an arbitrary supported character. The impact of this conversion on the analysis results depends on where the conversion occurs and on the character that results from it, so the impact is unpredictable in a general way. For example:

  • If the conversion occurs only in source code comments, there is no impact on the analysis results.
  • If the conversion occurs inside an identifier and the converted identifier is no longer unique as a result, resolution errors can occur.

Code page equivalence for Unicode character sets

The language of the code page used by the operating system on the analysis node must be the same as the language used in the source code that needs to be analyzed. For example, on an operating system in Turkish you must analyze source code that is Unicode encoded for the Turkish language.

Encoding support

The following encodings are supported:

  • UTF-8 without BOM
  • UTF-8 with BOM
  • UTF-16 with BOM
  • GB 18030 (standard Chinese character set)
  • BIG5 (Chinese character set for Taiwan, Hong Kong and Macau)

These encodings are supported by the components listed below.

PostgreSQL and the CAST schemas

PostgreSQL can be used to store analysis results of Unicode encoded source files provided the files use one of the encodings listed above. The Dashboard, Analysis, Management and Measurement schemas support the same encodings.

Analyzers

  • C/C++
  • .NET
  • ASP
  • Visual Basic
  • Universal Analyzer/Universal Importer
  • JEE Analyzer extension (including EJB, Web Services and CAST Script)
  • Mainframe
  • ABAP
  • PL/SQL
  • T-SQL
  • SQL Analyzer extension

Other components