ソース解析コード

ソース解析コードは、UI スクリプト、DLL、および DAL などのスクリプトでユーザ定義チェックを実行するために使用します。

各ソース解析コードは、式テキストと警告メッセージにリンクされています。式テキストには、エラーの検索に使用される検索パターンが含まれています。

エラーが見つかった場合、VSC警告を生成します。警告には、特にエラーが見つかったスクリプトの名前と行番号、およびソース解析コードにリンクされている警告メッセージのテキストが含まれています。

一部のソース解析コードは、DLL にリンクされています。この DLL は、複雑な検索アクションの実行に使用されます。

各ソース解析コードには、次の特徴があります。

  • メッセージ ID と規則 ID があります。
  • 分類 (例: ツールの一貫性、アプリケーション設計、パフォーマンス) に属しています。
  • 優先度 (高、通常、不明、低) があります。

ソース解析コードは、ソース解析コード (tlvsc3511m000) セッションでメンテナンスできます。詳細については、このセッションのヘルプを参照してください。

ソース解析コードの式で定義されたチェックが確実に実行されるようにするには、ソース解析コードを 1 つ以上の検証フィルタにリンクする必要があります。詳細については、VSC を構成するにはを参照してください。

式テキストの検索パターンは、開始式、終了式、および検索式で構成されています。

次の点に注意します。

  • 式は正規表現です。
  • 式は、複数の式で構成できます。開始式は、1 つの式にする必要があります。
  • 終了式に複数の式がある場合、パイプ記号 (|) で個々の式を区切る必要があります。
  • 検索式に複数の式がある場合、パイプ記号 (|) またはアンパサンド記号 (&) で個々の式を区切る必要があります。1 つの検索式で両方の記号を使用することはできません。
  • パイプ記号 (|) で区切った 2 つの式を入力した場合、必ず両方の式ではなくどちらか一方の式が検出されます。
  • アンパサンド記号 (&) で区切った 2 つの式を入力した場合、必ず両方の式が検出されます。
検索メカニズム

ソース解析コードに定義されたチェックを実行するため、VSC は次の処理を実行します。

  1. VSC は、開始式に一致するソースコードの検索を開始します。
  2. 一致するコードを検出した場合、VSC は終了式に適合するソースコードを検索します。VSC が開始式と終了式を検出した位置はそれぞれ、実際の検索の開始位置と終了位置になります。
  3. 検索式は、開始位置と終了位置の間を検索します。結果は、true または false (見つかるか、見つからないか) です。
  4. エラーが見つかった場合、ソース解析コードに割り当てられた分類および優先度とともに VSC 警告が生成されます。
例 - DLL のないソース解析コード

VSC は、次のソース解析コードを実行します。

ソース解析コードapp_start
警告メッセージ関数 「app_start」 は LN UI ではサポートされていません
式テキスト
maxlen		:sourcelinelen
pattern	:[ =<>,(){]app_start[ ]*[(]

 

式は、「app_start」 関数が存在する行を検索します。検索結果について、VSC は警告を生成します。警告には、エラーが見つかったスクリプトの名前と行番号、および警告メッセージのテキスト (「関数 「app_start」 は LN UI ではサポートされていません」) などが含まれています。

例 - DLL があるソース解析コード

VSC は、次のソース解析コードを実行します。

ソース解析コードmessage_args
警告メッセージ関数 message() にリテラルテキストを渡しています
DLLotlvscdll4009
式テキスト
maxlen			:512
start			:[ ,:(]message[ ]*[(]
end			:~[)]
pattern_log		:end_start-start_end

 

式は、「message」 関数が存在する行を検索します。その後、「otlvscdll4009」 DLL はメッセージ引数をチェックします。メッセージ呼出にメッセージコードではなくプレーンテキストが含まれている場合、VSC は警告を生成します。警告には、特にエラーが見つかったスクリプトの名前と行番号、および警告メッセージのテキスト (関数 message() 内のテキスト) が含まれています。