Подударање патерна
У рачунарској науци, подударање патерна је чин провере датог низа токена за присуство састојака неког патерна. За разлику од препознавања патерна, подударање обично мора бити прецизно: „или ће бити или неће бити подударања“. Патерни углавном имају облик секвенци или структура стабла. Употребе подударања патерна укључују исписивање локација (ако их има) патерна унутар секвенце токена, да би се приказала нека компонента подударног патерна и замена одговарајућег патерна неком другом секвенцом токена (тј. претрага и замена[1][2][3]).
Патерни низа (нпр. текстуални низ) се често описују помоћу регуларних израза и упарују помоћу техника као што је бектрекинг.
Патерни стабла се користе у неким програмским језицима као опште средство за обраду података на основу њихове структуре, нпр. C#,[4] Ф#,[5] Хаскел,[6] ML, Питон,[7] Руби,[8] Руст,[9] Скала,[10] Свифт[11] и симболички математички језик Математика имају посебну синтаксу за изражавање патерна стабла и језичку конструкцију за условно извршење и проналажење вредности на основу тога.
Референце
[уреди | уреди извор]- ^ Гоyваертс, Јан. „Регулар Еxпрессион Туториал - Леарн Хоw то Усе Регулар Еxпрессионс”. Регулар-Еxпрессионс.инфо. Архивирано из оригинала 2016-11-01. г. Приступљено 2016-10-31.
- ^ Митков, Руслан (2003). Тхе Оxфорд Хандбоок оф Цомпутатионал Лингуистицс. Оxфорд Университy Пресс. стр. 754. ИСБН 978-0-19-927634-9. Архивирано из оригинала 2017-02-28. г. Приступљено 2016-07-25.
- ^ Лаwсон, Марк V. (17. 9. 2003). Фините Аутомата. ЦРЦ Пресс. стр. 98—100. ИСБН 978-1-58488-255-8. Архивирано из оригинала 27. 2. 2017. г. Приступљено 25. 7. 2016.
- ^ „Паттерн Матцхинг - C# Гуиде”.
- ^ „Паттерн Матцхинг - Ф# Гуиде”.
- ^ А Гентле Интродуцтион то Хаскелл: Паттернс
- ^ „Wхат'с Неw Ин Пyтхон 3.10 — Пyтхон 3.10.0б3 доцументатион”. доцс.пyтхон.орг. Приступљено 2021-07-06.
- ^ „паттерн_матцхинг - Доцументатион фор Рубy 3.0.0”. доцс.рубy-ланг.орг. Приступљено 2021-07-06.
- ^ „Паттерн Сyнтаx - Тхе Руст Программинг Лангуаге”.
- ^ „Паттерн Матцхинг”. Сцала Доцументатион. Приступљено 2021-01-17.
- ^ „Паттернс — Тхе Сwифт Программинг Лангуаге (Сwифт 5.1)”.
Литература
[уреди | уреди извор]- Тхе Матхематица Боок, цхаптер Сецтион 2.3: Паттернс
- Тхе Хаскелл 98 Репорт, цхаптер 3.17 Паттерн Матцхинг.
- Пyтхон Референце Мануал, цхаптер 6.3 Ассигнмент статементс.
- Тхе Пуре Программинг Лангуаге, цхаптер 4.3: Паттернс
- Цхристопхер Алеxандер, Сара Исхикаwа, Мурраy Силверстеин (1974). 'А Цоллецтион оф Паттернс wхицх Генерате Мулти-Сервице Центрес' ин Децлан анд Маргрит Кеннедy (едс.): Тхе Иннер Цитy. Арцхитецтс Yеар Боок 14, Елек, Лондон. ISBN 0 236 15431 1.
- Алеxандер, C (1977). А Паттерн Лангуаге: Тоwнс, Буилдингс, Цонструцтион. УСА: Оxфорд Университy Пресс. ИСБН 978-0-19-501919-3..
- Алеxандер, C (1979). Тхе Тимелесс Wаy оф Буилдинг. УСА: Оxфорд Университy Пресс. ИСБН 978-0-19-502402-9..
- Сцхулер, D (2008). Либератинг Воицес: А Паттерн Лангуаге фор Цоммуницатион Револутион. УСА: МИТ Пресс. ИСБН 978-0-262-69366-0..
- Леитнер, Хелмут (2015): Паттерн Тхеорy: Интродуцтион анд Перспецтивес он тхе Трацкс оф Цхристопхер Алеxандер. ISBN 1505637430.
- Fincher, Sally (септембар 1999). „Analysis of design: an exploration of patterns and pattern languages for pedagogy”. Journal of Computers in Mathematics and Science Teaching. 18 (3): 331—348.
- Cloutier, Robert J.; Verma, Dinesh (јун 2007). „Applying the concept of patterns to systems architecture”. Systems Engineering. 10 (2): 138—154. S2CID 16218191. doi:10.1002/sys.20066.
- Cloutier, Robert J.; Muller, Gerrit; Verma, Dinesh; Nilchiani, Roshanak; Hole, Eirik; Bone, Mary (март 2010). „The concept of reference architectures”. Systems Engineering. 13 (1): 14—27. S2CID 10835558. doi:10.1002/sys.20129.
- „Liberating Voices Pattern Language”. publicsphereproject.org. Приступљено 6. 3. 2017.
- „Group Pattern Language Project”. groupworksdeck.org. Приступљено 6. 3. 2017.
- Jacke, Dave; Toensmeier, Eric (2005). „A Forest Garden Pattern Language”. Edible Forest Gardens, Volume II: Ecological Design And Practice for Temperate-Climate Permaculture. White River Junction, VT: Chelsea Green Publishing. стр. 63—139. ISBN 1-931498-80-6.
- Cunningham, Ward; Mehaffy, Michael W. (2013). „Wiki as pattern language”. Proceedings of the 20th Conference on Pattern Languages of Programs, October 23–26, 2013, Monticello, Illinois. PLoP '13. Corryton, TN: The Hillside Group. стр. 32:1—32:14. ISBN 9781941652008.
Spoljašnje veze
[уреди | уреди извор]- Views: An Extension to Haskell Pattern Matching
- Nikolaas N. Oosterhof, Philip K. F. Hölzenspies, and Jan Kuper. Application patterns. A presentation at Trends in Functional Programming, 2005
- JMatch: the Java language extended with pattern matching
- ShowTrend: Online pattern matching for stock prices
- An incomplete history of the QED Text Editor 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.
- Prop: a C++ based pattern matching language, 1999
- PatMat: a C++ pattern matching library based on SNOBOL/SPITBOL
- Temur Kutsia. Flat Matching. Journal of Symbolic Computation 43(12): 858–873. Describes in details flat matching in Mathematica.
- EasyPattern language pattern matching language for non-programmers