{"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\/de\/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>Am Dienstag, den 19. November, wurde die Ver\u00f6ffentlichung vorgestellt <a rel=\"nofollow\" href=\"http:\/\/re2c.org\">re2c<\/a> &ndash; Generatoren von lexikalischen Analysatoren (auch bekannt als Compiler von regul\u00e4ren Ausdr\u00fccken in Code in der Zielsprache). re2c spezialisiert sich auf die Erzeugung schneller und leicht einbettbarer Lexer. Es unterscheidet sich vom bekannteren Pendant flex durch eine flexible Schnittstelle, die Erzeugung optimierter nicht-tabellarischer Lexer und die Unterst\u00fctzung von Erfassungen (Submatch-Extraktion) auf der Basis von deterministischen endlichen Automaten mit Tags (<a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/2206.01398\">TDFA<\/a>). re2c wird in Projekten eingesetzt, in denen die Geschwindigkeit des Lexers entscheidend ist, zum Beispiel in Ninja und in PHP.<\/p>\n<p><\/noindex><\/noindex>  <noindex><\/p>\n<p>In der Version 4.0 wurde das Codegenerierungssystem grundlegend \u00fcberarbeitet, was die Unterst\u00fctzung von acht neuen Sprachen (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) zus\u00e4tzlich zu den bereits unterst\u00fctzten (C\/C++, Go, Rust) erm\u00f6glichte, sowie einen allgemeinen Mechanismus zur Hinzuf\u00fcgung neuer Sprachen \u00fcber Konfigurationsdateien. Der Codegenerator ist verantwortlich f\u00fcr die \u00dcbersetzung des bereits erstellten und optimierten endlichen Automaten in Code, das hei\u00dft, seine Aufgabe ist es, geeignete Kontrollen, Datentypen, das allgemeine Programmmodell usw. f\u00fcr die Zielsprache auszuw\u00e4hlen. Fr\u00fcher war diese gesamte Logik Teil des Sourcecodes von re2c, und um sie zu \u00e4ndern oder eine neue Sprache hinzuzuf\u00fcgen, musste der Sourcecode gepatcht und re2c neu kompiliert werden. Solche Patches wurden im Haupt-Repository nicht akzeptiert, ohne dass eine Standardreihe von Beispielen und Tests implementiert wurde, was den gesamten Prozess zus\u00e4tzlich komplizierte. Jetzt wurde diese gesamte Logik in <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual_c.html#syntax-files\">Syntax-Dateien<\/a> &ndash; textbasierte Konfigurationsdateien, die vom Benutzer bereitgestellt werden k\u00f6nnen (standardm\u00e4\u00dfig verwendet re2c die Standarddateien). Der Sourcecode von re2c ist vollst\u00e4ndig frei von Details einer bestimmten Sprache und st\u00fctzt sich ausschlie\u00dflich auf die Syntaxdatei. Der Benutzer kann die vorhandene Syntaxdatei teilweise \u00fcberschreiben oder eine neue von Grund auf neu schreiben. F\u00fcr alle offiziell unterst\u00fctzten Sprachen gibt es <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual.html\">vollst\u00e4ndige Dokumentation mit Beispielen<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00dcbrigens entstand die Idee der Syntaxdateien dank <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/16759268?cid=16762667\">einem Kommentar im LOR<\/a>, daf\u00fcr vielen Dank an <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>In der Ver\u00f6ffentlichung sind viele weitere \u00c4nderungen zur Vereinfachung der Benutzeroberfl\u00e4che, zur Verbesserung der Arbeit mit fassenden Gruppen (capturing groups) sowie eine Online-Umgebung zum Bearbeiten und Kompilieren von Beispielen hinzugekommen: <a rel=\"nofollow\" href=\"http:\/\/re2c.org\/playground\">http:\/\/re2c.org\/playground<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Quelle: <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.1.1 - 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\/de\/blog\/news\/re2c-4-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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":"Am Dienstag, den 19. November, wurde die Ver\u00f6ffentlichung von re2c \u2013 dem Generator f\u00fcr lexikalische Analysewerkzeuge (auch als Kompiler f\u00fcr regul\u00e4re Ausdr\u00fccke in Code f\u00fcr die Zielsprache bekannt) \u2013 vorgestellt.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/re2c-4-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/120643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=120643"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/120643\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/120644"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=120643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=120643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=120643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}