U računarskoj nauci, podudaranje paterna je čin provere datog niza tokena za prisustvo sastojaka nekog paterna. Za razliku od prepoznavanja paterna, podudaranje obično mora biti precizno: „ili će biti ili neće biti podudaranja“. Paterni uglavnom imaju oblik sekvenci ili struktura stabla. Upotrebe podudaranja paterna uključuju ispisivanje lokacija (ako ih ima) paterna unutar sekvence tokena, da bi se prikazala neka komponenta podudarnog paterna i zamena odgovarajućeg paterna nekom drugom sekvencom tokena (tj. pretraga i zamena).
Paterni niza (npr. tekstualni niz) se često opisuju pomoću regularnih izraza i uparuju pomoću tehnika kao što je bektreking.
Paterni stabla se koriste u nekim programskim jezicima kao opšte sredstvo za obradu podataka na osnovu njihove strukture, npr. C#, F#, Haskel,A Gentle Introduction to Haskell: Patterns ML, Piton, Rubi, Rust, Skala, Svift i simbolički matematički jezik Matematika imaju posebnu sintaksu za izražavanje paterna stabla i jezičku konstrukciju za uslovno izvršenje i pronalaženje vrednosti na osnovu toga.
Reference
Literatura
The Mathematica Book, chapter The Haskell 98 Report, chapter 3.17 Pattern Matching. Python Reference Manual, chapter 6.3 Assignment statements. The Pure Programming Language, chapter Christopher Alexander, Sara Ishikawa, Murray Silverstein (1974). 'A Collection of Patterns which Generate Multi-Service Centres' in Declan and Margrit Kennedy (eds.): The Inner City. Architects Year Book 14, Elek, London. . . . .
Spoljašnje veze
Views: An Extension to Haskell Pattern Matching Nikolaas N. Oosterhof, Philip K. F. Hölzenspies, and Jan Kuper. . A presentation at Trends in Functional Programming, 2005 JMatch: the Java language extended with pattern matching ShowTrend: Online pattern matching for stock prices by Dennis Ritchie - provides the history of regular expressions in computer programs The Implementation of Functional Programming Languages, pages 53–103 Simon Peyton Jones, published by Prentice Hall, 1987. Nemerle, pattern matching. Erlang, pattern matching.
PatMat: a C++ pattern matching library based on SNOBOL/SPITBOL Temur Kutsia. Flat Matching. . Describes in details flat matching in Mathematica. EasyPattern language pattern matching language for non-programmers
Категорија:Алгоритми Категорија:Контрола тока Категорија:Функционално програмирање