Skip to content

「浮動小数点例外」のツールチップがC++の例外機構の説明になっている件について #1613

@teruyamato0731

Description

@teruyamato0731

現状の課題

ページ内に「浮動小数点例外」という言葉が含まれている箇所で、部分文字列である「例外」が GLOBAL_DEFINED_WORDS.json にマッチしてしまい、以下のようなC++の例外機構(try-catch等)のツールチップが表示されてしまっています。

Image

https://cpprefjp.github.io/reference/cfenv.html

「浮動小数点例外(floating-point exception)」は IEEE 754 等で定義されるFPUの状態フラグのことであり、C++言語の例外機構とは関係がないため、このツールチップが表示されると読者の誤解を招く恐れがあると考えました。

対処案の提案

対処として、新たに「浮動小数点例外」を GLOBAL_DEFINED_WORDS.json に登録するのがよいのではないかと考えています。

例えば、以下のような定義を追加すれば、初学者の誤解も解けるかと思います。

{
  "浮動小数点例外": {
    "yomi": "ふどうしょうすうてんれいがい",
    "desc": "floating-point exception。ゼロ除算やオーバーフロー等の算術的な問題が発生した際に、浮動小数点環境に設定される状態フラグのこと。C++言語機能の例外機構(try-catch)とは異なる。"
  }
}

質問・相談

  1. ツールチップの適用仕様について

    cpprefjpのツールチップ付与スクリプトは、最長一致(長い単語が優先)になっているでしょうか? それともJSONの定義順(前から順)などに適用される形でしょうか?
    「例外」よりも「浮動小数点例外」を優先してマッチさせることができるのであれば、JSONへの追加で解決できると考えておりますが、もしツール側での別の回避策が必要そうであれば、教えていただきたいです。

  2. 用語定義の内容について

    提案した「浮動小数点例外」の定義文(desc)について、内容の正確さに少し自信がない部分があります。
    C++の規格やIEEE 754の文脈として不適切な箇所や、よりわかりやすい表現などがありましたら、ベースにして修正・再構築していただけると大変助かります。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions