(Translated by https://www.hiragana.jp/)
パターンマッチング - Wikipedia コンテンツにスキップ

パターンマッチング

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

パターンマッチングえい: Pattern matching、パターン照合しょうごう)とは、データを検索けんさくする場合ばあい特定とくていのパターンが出現しゅつげんするかどうか、またどこに出現しゅつげんするかを特定とくていする手法しゅほうのことである。

文字もじれつのパターンマッチングには、固定こていされたパターンの検索けんさくではKMPほうBMほうなど各種かくしゅ文字もじれつ探索たんさくアルゴリズムがある。また正規せいき表現ひょうげん利用りようする手法しゅほう多数たすう提案ていあんされている。

いくつかの高水準こうすいじゅんプログラミング言語げんごには、分岐ぶんき一種いっしゅで、場合ばあいけと同時どうじ構成こうせい要素ようそしのできる言語げんご機能きのうがあり、パターンマッチとばれている。Haskellでのれいしめす。

listSumCase lst =
  case lst of
    []       -> 0
    (x : xs) -> x + listSumCase xs

listSumPtn []       = 0
listSumPtn (x : xs) = x + listSumPtn xs

なお、このれいlistSumCase は expression style、listSumPtn は declaration style である[1]

歴史れきし

[編集へんしゅう]

パターンマッチング構造こうぞうそなえた初期しょきのプログラミング言語げんごには、COMIT (1957)、SNOBOL (1962)、Refal (1968)、ツリーベースのパターンマッチング、Prolog (1972)、 SASL (1976)、NPL (1977)、およびKRC (1981)がある。

おおくのテキストエディタはさまざまな種類しゅるいのパターンマッチングをサポートしている。QEDエディタ正規せいき表現ひょうげん検索けんさくをサポートし、一部いちぶのバージョンのTECOでは、検索けんさくでOR演算えんざんをサポートしている。

数式すうしき処理しょりシステム通常つうじょう代数だいすうしきのパターンマッチングをサポートしている。[2]

ちゅう

[編集へんしゅう]
  1. ^ https://wiki.haskell.org/Declaration_vs._expression_style
  2. ^ Joel Moses, "Symbolic Integration", MIT Project MAC MAC-TR-47, December 1967

参考さんこう文献ぶんけん

[編集へんしゅう]
  • 『Analytic Pattern Matching: From DNA to Twitter』 Philippe Jacquet・Wojciech Szpankowski、Cambridge University Press、2015ねんISBN 9780521876087

関連かんれん項目こうもく

[編集へんしゅう]