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[1][2][3]).

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#,[4] F#,[5] Haskel,[6] ML, Piton,[7] Rubi,[8] Rust,[9] Skala,[10] Svift[11] 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

уреди
  1. ^ Goyvaerts, Jan. „Regular Expression Tutorial - Learn How to Use Regular Expressions”. Regular-Expressions.info. Архивирано из оригинала 2016-11-01. г. Приступљено 2016-10-31. 
  2. ^ Mitkov, Ruslan (2003). The Oxford Handbook of Computational Linguistics. Oxford University Press. стр. 754. ISBN 978-0-19-927634-9. Архивирано из оригинала 2017-02-28. г. Приступљено 2016-07-25. 
  3. ^ Lawson, Mark V. (17. 9. 2003). Finite Automata. CRC Press. стр. 98—100. ISBN 978-1-58488-255-8. Архивирано из оригинала 27. 2. 2017. г. Приступљено 25. 7. 2016. 
  4. ^ „Pattern Matching - C# Guide”. 
  5. ^ „Pattern Matching - F# Guide”. 
  6. ^ A Gentle Introduction to Haskell: Patterns
  7. ^ „What's New In Python 3.10 — Python 3.10.0b3 documentation”. docs.python.org. Приступљено 2021-07-06. 
  8. ^ „pattern_matching - Documentation for Ruby 3.0.0”. docs.ruby-lang.org. Приступљено 2021-07-06. 
  9. ^ „Pattern Syntax - The Rust Programming Language”. 
  10. ^ „Pattern Matching”. Scala Documentation. Приступљено 2021-01-17. 
  11. ^ „Patterns — The Swift Programming Language (Swift 5.1)”. 

Literatura

уреди

Spoljašnje veze

уреди