{"id":120643,"date":"2024-11-21T01:09:45","date_gmt":"2024-11-20T23:09:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/re2c-4-0"},"modified":"2024-11-21T01:09:45","modified_gmt":"2024-11-20T23:09:45","slug":"re2c-4-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/news\/re2c-4-0","title":{"rendered":"re2c 4.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p>V torek, 19. novembra, je bila predstavljena izdaja <a rel=\"nofollow\" href=\"http:\/\/re2c.org\">re2c<\/a> &ndash; generator l\u00ebksikask\u00eb analizator\u00ebve (ai po ashtu \u00ebsht\u00eb kompilator i shprehjeve t\u00eb rregullta n\u00eb kod n\u00eb gjuh\u00ebn e programimit t\u00eb synuar). re2c specializohet n\u00eb gjenerimin e leksereve t\u00eb shpejt\u00eb dhe leht\u00ebsisht t\u00eb integrueshme. Ai dallon nga analog\u00ebt m\u00eb t\u00eb njohur si flex me nj\u00eb nd\u00ebrfaqe fleksibile, gjenerimin e leksereve optimizuar pa tabela dhe mb\u00ebshtetje p\u00ebr kapje (submatch extraction) q\u00eb bazohet n\u00eb automatet fundore deterministe me ethe.<a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/2206.01398\">TDFA<\/a>). re2c se uporablja v projektih, kjer je hitrost delovanja lekserskega analitzorja pomembna, na primer v Ninja in v PHP-ju.<\/p>\n<p><\/noindex><\/noindex>  <noindex><\/p>\n<p>N\u00eb versionin 4.0, sistemi i gjenerimit t\u00eb kodit \u00ebsht\u00eb riparuar thell\u00ebsisht, \u00e7ka e mund\u00ebsoi shtimin e mb\u00ebshtetjes p\u00ebr tet\u00eb gjuh\u00eb t\u00eb reja (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) p\u00ebrve\u00e7 atyre q\u00eb tashm\u00eb mb\u00ebshteteshin (C\/C++, Go, Rust), si dhe nj\u00eb mekaniz\u00ebm t\u00eb p\u00ebrgjithsh\u00ebm p\u00ebr shtimin e gjuh\u00ebve t\u00eb reja n\u00ebp\u00ebrmjet skedar\u00ebve t\u00eb konfigurimit. Gjeneruesi i kodit \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr translacionin e automat\u00ebve fundor\u00eb t\u00eb nd\u00ebrtuar dhe optimizuar n\u00eb kod, dmth detyra e tij \u00ebsht\u00eb t\u00eb zgjedh\u00eb konstrukcionet e p\u00ebrshtatshme p\u00ebr gjuh\u00ebn e synuar, tipet e t\u00eb dh\u00ebnave, modelin e p\u00ebrgjithsh\u00ebm t\u00eb programit, etj. M\u00eb par\u00eb, e gjith\u00eb kjo logjik\u00eb ishte pjes\u00eb e kodit burimor t\u00eb re2c, dhe p\u00ebr ta ndryshuar at\u00eb ose p\u00ebr t\u00eb shtuar nj\u00eb gjuh\u00eb t\u00eb re, duhej t\u00eb ndryshohej kodi burimor dhe t\u00eb rind\u00ebrtohej re2c. Patch-e t\u00eb tilla nuk pranoheshin n\u00eb depozit\u00ebn kryesore pa implementimin e nj\u00eb seti standard t\u00eb shembujve dhe testeve, gj\u00eb q\u00eb e komplikuarsoi edhe m\u00eb shum\u00eb procesin. Tani e gjith\u00eb kjo logjik\u00eb \u00ebsht\u00eb transferuar n\u00eb <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual_c.html#syntax-files\">sintakti\u010dne datoteke<\/a> &ndash; skedar\u00eb konfigurimi tekstual\u00eb, t\u00eb cilat mund t\u00eb ofrohen nga p\u00ebrdoruesi (si parazgjedhje re2c p\u00ebrdor standardet). Kodi burimor i re2c \u00ebsht\u00eb plot\u00ebsisht i liruar nga detajet e gjuh\u00ebve specifike dhe mb\u00ebshtetet vet\u00ebm n\u00eb skedarin sintaksor. P\u00ebrdoruesi mund t\u00eb rishikoj\u00eb pjes\u00ebrisht skedarin ekzistues t\u00eb sintaks\u00ebs apo t\u00eb shkruaj\u00eb nj\u00eb t\u00eb ri nga fillimi. P\u00ebr t\u00eb gjitha gjuh\u00ebt zyrtarisht t\u00eb mb\u00ebshtetura jan\u00eb <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual.html\">popolna dokumentacija s primeri<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Mimogrede, sama ideja sintakti\u010dnih datotek se je pojavila zaradi <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/16759268?cid=16762667\">enega komentarja na LOR-u<\/a>, za kar se zahvaljujemo <img decoding=\"async\" alt=\"re2c 4.0\" src=\"\/wp-content\/uploads\/2024\/11\/2baa1e4f47df390d8591518a6bacc0da.png\" style=\"display:block;margin: 0 auto;\" \/><a rel=\"nofollow\" style=\"text-decoration: none\" href=\"https:\/\/www.linux.org.ru\/people\/the_coder\/profile\">the_coder<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>V izdaji je bilo veliko drugih sprememb za poenostavitev uporabni\u0161kega vmesnika, izbolj\u0161anje dela z izbirnimi skupinami (capturing groups), prav tako je bila dodana spletna okolja za urejanje in kompilacijo primerov: <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/playground\">http:\/\/re2c.org\/playground<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Izvor: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/17798640\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e \u0432\u0442\u043e\u0440\u043d\u0438\u043a, 19 \u043d\u043e\u044f\u0431\u0440\u044f, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 re2c &ndash; \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 (\u043e\u043d \u0436\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f). re2c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u0438 \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043b\u0435\u043a\u0441\u0435\u0440\u043e\u0432. \u041e\u043d \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0430 flex \u0433\u0438\u0431\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u043b\u0435\u043a\u0441\u0435\u0440\u043e\u0432 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0437\u0430\u0445\u0432\u0430\u0442\u043e\u0432 (submatch extraction) \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":120644,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043d\u0438\u043a, 19 \u043d\u043e\u044f\u0431\u0440\u044f, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 re2c \u2013 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 (\u043e\u043d \u0436\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sl\/blog\/news\/re2c-4-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47re2c 4.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043d\u0438\u043a, 19 \u043d\u043e\u044f\u0431\u0440\u044f, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 re2c \u2013 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 (\u043e\u043d \u0436\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/news\/re2c-4-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-11-20T23:09:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-20T23:09:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47re2c 4.0 | ProHoster","description":"V torek, 19. novembra, je iz\u0161la razli\u010dica re2c \u2013 generatorja leksikalnih analizatorjev (tudi prevajalnik regularnih izrazov v kodo ciljnem jeziku).","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/re2c-4-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47re2c 4.0 | ProHoster","og:description":"\u0412\u043e \u0432\u0442\u043e\u0440\u043d\u0438\u043a, 19 \u043d\u043e\u044f\u0431\u0440\u044f, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 re2c \u2013 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 (\u043e\u043d \u0436\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435.","og:url":"https:\/\/prohoster.info\/sl\/blog\/news\/re2c-4-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-11-20T23:09:45+00:00","article:modified_time":"2024-11-20T23:09:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120643","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 08:11:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:11:19","updated":"2026-01-23 08:11:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/120643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=120643"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/120643\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/120644"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=120643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=120643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=120643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}