<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Universal Analyzer language packages on Documentation - V2</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/</link><description>Recent content in Universal Analyzer language packages on Documentation - V2</description><generator>Hugo</generator><language>en</language><atom:link href="https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/index.xml" rel="self" type="application/rss+xml"/><item><title>Configuring an external plugin to enrich the results for your Universal Analyzer language</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/configuring-an-external-plugin-to-enrich-the-results-for-your-universal-analyzer-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/configuring-an-external-plugin-to-enrich-the-results-for-your-universal-analyzer-language/</guid><description>&lt;p&gt;If the language you are targeting in the Universal Analyzer has a complementary third party tool that can analyze source code and generate Quality Rule data, then you can integrate this tool into the Language Package as a &amp;ldquo;plugin&amp;rdquo; and execute it during the Universal Analyzer analysis. This section describes the process for configuring a plugin and how to integrate it into your language pack.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Languages not already covered by CAST AI¨P (via a dedicated CAST Analyzer) can be analyzed using the Universal Analyzer and a custom Language Package specifically for your language. If the technology that you are targeting has a third party tool or application that can provide Quality Rule data as a complement to the source code analysis data generated during the analysis, then you can integrate this tool into the Language Package as a &amp;ldquo;plugin&amp;rdquo; and automate its execution. The tool(s) in the plugin will be executed &lt;strong&gt;after the analysis&lt;/strong&gt; (if a snapshot is generated, which includes an analysis, then the plugin will be executed after the analysis) and data will be displayed in the Engineering Dashboard/Health Dashboard as with any other language supported as standard by CAST AIP.&lt;/p&gt;</description></item><item><title>Configuring code pre-processing for your Universal Analyzer language</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/configuring-code-pre-processing-for-your-universal-analyzer-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/configuring-code-pre-processing-for-your-universal-analyzer-language/</guid><description>&lt;p&gt;If the language you are targeting in the Universal Analyzer requires some pre-processing prior to analysis, CAST has provided a method for automating this. This section describes the process for configuring language pre-processing and how to integrate it into your language pack.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Some languages supported as standard by CAST with their own dedicated CAST Analyzer (such as Cobol or C++) require that the source code is pre-processed prior to analysis. This pre-processing phase is built in to the CAST Analyzer and is executed seamlessly before the analysis takes place without the end-user having to do anything. In previous versions of CAST, although the Universal Analyzer was able to analyze any language not supported by CAST (via a dedicated analyzer) provided that a language package was correctly defined for the target language, the pre-processing phase (if the language required it to meet the configuration provided in the language pack) had to be carried out manually before the source code files were analyzed. This added an extra step in the analysis/configuration process.&lt;/p&gt;</description></item><item><title>How to configure a language for the CAST Engineering Dashboard</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/how-to-configure-a-language-for-the-cast-engineering-dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/how-to-configure-a-language-for-the-cast-engineering-dashboard/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The procedure below explains how to configure a Universal Language in the CAST Engineering Dashboard. This procedure will be illustrated with the PHP language.&lt;/p&gt;
&lt;h2 id="category-for-the-technology-and-the-module"&gt;Category for the technology and the module&lt;/h2&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Info&lt;/div&gt;
&lt;p&gt;This section describes changes that must be made to the &lt;a href="https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxmetamodel-xml-file/"&gt;xxxMetaModel.xml file&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;First of all, you must select a category for an existing APM technology or create a new one. This category achieves two goals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;identifies the technology name (in the &lt;em&gt;description&lt;/em&gt; tag of the category)&lt;/li&gt;
&lt;li&gt;associates the modules with the technology&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To create a new category, please insert it before the GrepTag called &amp;ldquo;GrepTag:APM_next_language&amp;rdquo;. For example, for PHP, a new category &amp;ldquo;PHP&amp;rdquo; technology has been created:&lt;/p&gt;</description></item><item><title>xxxCastMetrics.xml - defining new metrics for a UA language</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxcastmetrics-xml-defining-new-metrics-for-a-ua-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxcastmetrics-xml-defining-new-metrics-for-a-ua-language/</guid><description>&lt;p&gt;CAST provides the possibility to extend the standard set of metrics provided by default. This extension of the &amp;ldquo;out of the box&amp;rdquo; configuration can be defined using an XML file called &lt;strong&gt;XXXCastMetrics.xm****l&lt;/strong&gt;. For each technology on which you want to define custom metrics, one corresponding file must be created.&lt;/p&gt;
&lt;p&gt;Custom metrics can be defined for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;standard &lt;strong&gt;CAST supported technologies&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;custom technologies&lt;/strong&gt; configured via the &lt;strong&gt;CAST Universal Analyzer&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Custom metrics are grep based metrics that use regular expressions to generate the required data. They are not based on the technology&amp;rsquo;s grammar - if, indeed there is any.&lt;/p&gt;</description></item><item><title>xxxInformationTracking.xml file</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxinformationtracking-xml-file/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxinformationtracking-xml-file/</guid><description>&lt;p&gt;The &lt;strong&gt;xxxInformationTracking.xml&lt;/strong&gt; file is an optional file that can be included in a Language Package. The file is used to reduce the number of incorrect links that may be detected when you run the CAST Universal Analyzer on your newly defined language. I.e. it allows you to refine the link search scope.&lt;/p&gt;
&lt;h2 id="technical-background"&gt;Technical background&lt;/h2&gt;
&lt;p&gt;Currently, the link creation mechanism in the Universal Analyzer is based on the link itself - for each link, we need to define the caller or callee status of each object involved (see &lt;strong&gt;Parameterization of links between objects&lt;/strong&gt; in &lt;a href="https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxmetamodel-xml-file/defining-a-new-language/"&gt;Defining a new language&lt;/a&gt;). This definition enables you to restrict the number of caller and callee objects for each link, but it does not allow you to define where to search for the called object when a link is detected.&lt;/p&gt;</description></item><item><title>xxxLanguagePattern.xml - defining how to analyze a language</title><link>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxlanguagepattern-xml-defining-how-to-analyze-a-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxlanguagepattern-xml-defining-how-to-analyze-a-language/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you want to use the Universal Analyzer to analyze a language, or you want to use the &lt;strong&gt;Universal Importer&lt;/strong&gt; tool to import data generated by an external analyzer, in addition to defining the objects that can exist in a given language (see &lt;a href="https://doc.castsoftware.com/export-v2/extend/create-a-new-extension/creating-or-modifying-a-custom-extension-using-the-cast-universal-analyzer-framework/universal-analyzer-language-packages/xxxmetamodel-xml-file/defining-a-new-language/"&gt;Defining a new language&lt;/a&gt; ), you also need to describe how to actually analyze the language. To define how to analyze a language, you need to define the following elements in the &lt;strong&gt;xxxLanguagePattern.xml&lt;/strong&gt; file:&lt;/p&gt;</description></item></channel></rss>