{"id":36745,"date":"2019-10-31T22:13:31","date_gmt":"2019-10-31T19:13:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2\/"},"modified":"2019-10-31T22:13:31","modified_gmt":"2019-10-31T19:13:31","slug":"vypusk-generatora-leksicheskih-analizatorov-re2c-1-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2","title":{"rendered":"Die Ver\u00f6ffentlichung des lexikalischen Analysegenerator re2c 1.2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/releases\/release_notes.html\">Es fand<\/a><\/noindex> Release <noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/\">re2c<\/a><\/noindex>, eines freien Generators f\u00fcr lexikalische Analysatoren in den Programmiersprachen C und C++. Es sei daran erinnert, dass re2c 1993 von Peter Bambulys als experimenteller Generator f\u00fcr extrem schnelle lexikalische Analysatoren entwickelt wurde. Dieser hebt sich durch die Schnelligkeit des generierten Codes und eine au\u00dfergew\u00f6hnlich flexible Benutzeroberfl\u00e4che hervor, die eine einfache und effiziente Integration von Analysatoren in bestehende Codebasen erm\u00f6glicht. Seitdem wird das Projekt von der Gemeinschaft weiterentwickelt und bleibt eine Plattform f\u00fcr Experimente und Forschungen im Bereich formale Grammatiken und endliche Automaten.<\/p>\n<p>Die Vorbereitung des Releases hat fast ein ganzes Jahr in Anspruch genommen. Wie immer ging die meiste Zeit in die Entwicklung der theoretischen Grundlagen und das Schreiben<br \/>\n\u0441\u0442\u0430\u0442\u044c\u0438 &#171;<noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/2019_borsotti_trofimovich_efficient_posix_submatch_extraction_on_nfa.pdf\">Efficient POSIX Submatch Extraction on NFA<\/a><\/noindex>\u201e.<br \/>\nDie in dem Artikel beschriebenen Algorithmen sind in der experimentellen Bibliothek libre2c implementiert<br \/>\n(\u0441\u0431\u043e\u0440\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f configure-\u043e\u043f\u0446\u0438\u0435\u0439 &#171;&#8212;enable-libs&#187;). \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u0430 \u043d\u0435 \u043a\u0430\u043a \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c, \u0442\u0430\u043a\u0438\u043c \u043a\u0430\u043a RE2, \u0430 \u043a\u0430\u043a \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u043e\u0432\u044b\u0445<br \/>\nAlgorithmen, die sp\u00e4ter in re2c oder in anderen Projekten verwendet werden k\u00f6nnen. Dies ist auch praktisch f\u00fcr Tests, Leistungsmetriken und die Erstellung von Bindings zu anderen Sprachen.<\/p>\n<p>Die wichtigsten Neuerungen in Version re2c 1.2:<\/p>\n<ul>\n<li class=\"l\"> \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043d\u0446\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (&#171;EOF rule&#187;). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f &#171;re2c:eof&#187;,<br \/>\n   die es erm\u00f6glicht, ein Terminalsymbol auszuw\u00e4hlen,<br \/>\n   \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e &#171;$&#187;, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0435\u0441\u043b\u0438 \u043b\u0435\u043a\u0441\u0435\u0440<br \/>\n   erfolgreich das Ende der Eingabedaten erreicht.<br \/>\n   Historisch gesehen bietet re2c mehrere M\u00f6glichkeiten zur \u00dcberpr\u00fcfung auf<br \/>\n   das Ende der Eingabedaten, die sich in Begrenztheit, Effizienz und Einfachheit unterscheiden.<br \/>\n   Anwendungen. Eine neue Methode soll das Schreiben von Code vereinfachen und dabei<br \/>\n   effizient und weit verbreitet bleiben. Die alten Methoden<br \/>\n   funktionieren weiterhin und k\u00f6nnen in bestimmten F\u00e4llen bevorzugt werden.<\/p>\n<li class=\"l\"> Die M\u00f6glichkeit, externe Dateien \u00fcber eine Direktive einzuf\u00fcgen, wurde hinzugef\u00fcgt.<br \/>\n   &#171;\/*!include:re2c &#171;file.re&#187; *\/&#187;, \u0433\u0434\u0435 &#171;file.re&#187; &#8212; \u044d\u0442\u043e \u0438\u043c\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0433\u043e \u0444\u0430\u0439\u043b\u0430. Re2c \u0438\u0449\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430,<br \/>\n   \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u0443\u0442\u0435\u0439 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0446\u0438\u0438 &#171;-I&#187;.<br \/>\n   Eingef\u00fcgte Dateien k\u00f6nnen andere Dateien einschlie\u00dfen.<br \/>\n   Re2c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 &#171;\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435&#187; \u0444\u0430\u0439\u043b\u044b \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 &#171;include\/&#187;<br \/>\n   \u043f\u0440\u043e\u0435\u043a\u0442\u0430 &#8212; \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0442\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f<br \/>\n   regul\u00e4re Ausdr\u00fccke gesammelt werden, \u00e4hnlich wie in einer Standardbibliothek.<br \/>\n   Auf Wunsch der Nutzer wurde vorerst eine Datei mit Definitionen f\u00fcr Unicode-Kategorien hinzugef\u00fcgt.<\/p>\n<li class=\"l\"> Es wurde die M\u00f6glichkeit hinzugef\u00fcgt, Header-Dateien mit beliebigem<br \/>\n   \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u043f\u0446\u0438\u0439 &#171;-t &#8212;type-header&#187; (\u0438\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445<br \/>\n   \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439) \u0438 \u043d\u043e\u0432\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432 &#171;\/*!header:re2c:on*\/&#187; \u0438<br \/>\n   &#171;\/*!header:re2c:off*\/&#187;. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u044f\u0445,<br \/>\n   wann re2c Definitionen f\u00fcr Variablen, Strukturen und Makros generieren muss,<br \/>\n   die in anderen \u00dcbersetzungseinheiten verwendet werden.<\/p>\n<li class=\"l\"> Re2c versteht jetzt UTF8-Literale und Zeichensetzungen in regul\u00e4ren Ausdr\u00fccken.<br \/>\n   \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, re2c \u043f\u0430\u0440\u0441\u0438\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0440\u043e\u0434\u0435 &#171;&#8704;x &#8707;y&#187; \u043a\u0430\u043a<br \/>\n   \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c 1-\u0431\u0438\u0442\u043d\u044b\u0445 ASCII-\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 &#171;e2 88 80 78 20 e2 88 83 79&#187;<br \/>\n   (Hex-Codes), und Benutzer m\u00fcssen Unicode-Zeichen manuell escapen:<br \/>\n   &#171;\u2200x \u2203y&#187;. Das ist f\u00fcr viele sehr unpraktisch und \u00fcberraschend.<br \/>\n   was durch st\u00e4ndige Bug-Reports belegt wird. Daher bietet re2c jetzt die Option \u2014input-encoding ,<br \/>\n   re2c bietet die Option &#171;&#8212;input-encoding {ascii | utf8}&#187;,<br \/>\n   die es erm\u00f6glicht, das Verhalten zu \u00e4ndern und &#171;\u2200x \u2203y&#187; zu parsen als<br \/>\n   &#171;2200 78 20 2203 79&#187;.<\/p>\n<li class=\"l\"> Re2c erm\u00f6glicht jetzt die Verwendung regul\u00e4rer re2c-Bl\u00f6cke im &#171;-r &#8212;reuse&#187;-Modus.<br \/>\n   wiederverwendet werden m\u00fcssen.<br \/>\n   Es besteht die M\u00f6glichkeit, das Format von Warnungen und Fehlermeldungen<\/p>\n<li class=\"l\"> mit der neuen Option \u2014location-format  festzulegen. Das GNU-Format wird angezeigt<br \/>\n   mit der neuen Option &#171;&#8212;location-format {gnu | msvc}&#187;. Das GNU-Format wird dargestellt<br \/>\n   als &#171;dateiname:zeile:spalte:&#187;, w\u00e4hrend das MSVC-Format &#8212; als &#171;dateiname(zeile,spalte)&#187;.<br \/>\n   Es wurde auch die Option \u2014verbose hinzugef\u00fcgt, die eine kurze Erfolgsnachricht ausgibt.<br \/>\n   Au\u00dferdem wurde die Option &#171;&#8212;verbose&#187; hinzugef\u00fcgt, die eine kurze Erfolgsmeldung im Falle eines Erfolgs ausgibt.                                                 <\/p>\n<li class=\"l\"> Der &#171;Kompatibilit\u00e4ts&#187; Modus mit flex wurde verbessert &#8212; einige Parsingfehler wurden behoben und<br \/>\n   die Priorit\u00e4t der Operatoren in seltenen F\u00e4llen korrigiert.<br \/>\n   Historisch gesehen erm\u00f6glicht die Option &#171;-F &#8212;flex-support&#187;, Code zu schreiben,<br \/>\n   im Mix aus Flex- und re2c-Stil, was die syntaktische Analyse etwas erschwert.<br \/>\n   Der Kompatibilit\u00e4tsmodus mit Flex wird in neuem Code selten verwendet,<br \/>\n   aber re2c unterst\u00fctzt ihn weiterhin zur R\u00fcckw\u00e4rtskompatibilit\u00e4t.<\/p>\n<li class=\"l\"> Der Operator f\u00fcr den Subtraktionssymbolklassen &#171;\/&#187; wird jetzt angewendet<br \/>\n   vor der Entfaltung der Kodierung, was seine Verwendung in mehr F\u00e4llen erm\u00f6glicht,<br \/>\n   insbesondere wenn eine Kodierung mit variabler Zeichendauer (zum Beispiel UTF8) verwendet wird.<\/p>\n<li class=\"l\"> Die Ausgabedatei wird jetzt atomar erstellt: re2c erstellt zun\u00e4chst eine tempor\u00e4re Datei<br \/>\n   und schreibt das Ergebnis hinein, bevor die tempor\u00e4re Datei in eine Ausgabedatei umbenannt<br \/>\n   wird, und zwar in einem einzigen Schritt.<\/p>\n<li class=\"l\"> Die Dokumentation wurde erg\u00e4nzt und \u00fcberarbeitet; insbesondere wurden neue<br \/>\n   Kapitel \u00fcber <noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual.html#buffer-refilling\">http:\/\/re2c.org\/manual\/manual.html#buffer-refilling Bufferauff\u00fcllung<\/a><\/noindex><br \/>\n   und <noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual.html#eof-handling\">\u00fcber Methoden zur \u00dcberpr\u00fcfung auf das Ende der Eingabedaten.<\/a><\/noindex>.<br \/>\n   Die neue Dokumentation ist zusammengefasst in<br \/>\n   <noindex><a rel=\"nofollow\" href=\"http:\/\/re2c.org\/manual\/manual.html\">ausf\u00fchrliches einseitiges Handbuch<\/a><\/noindex><br \/>\n   mit Beispielen (die gleichen Quellcodes werden sowohl in der man-Seite als auch in der Online-Dokumentation dargestellt).<br \/>\n   Es wurden nur schwache Versuche unternommen, die Lesbarkeit der Website auf Handys zu verbessern.<\/p>\n<li class=\"l\"> Aus Sicht der Entwickler hat re2c ein umfassenderes Debugging-System erhalten.<br \/>\n   Der Debug-Code ist jetzt in den Release-Builds deaktiviert und<br \/>\n   und kann mit der configure-Option &#171;&#8212;enable-debug&#187; aktiviert werden.<\/p>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Quelle: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51209\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 re2c, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \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 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e re2c \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 1993 \u0433\u043e\u0434\u0443 \u041f\u0438\u0442\u0435\u0440\u043e\u043c \u0411\u0430\u043c\u0431\u0443\u043b\u0438\u0441\u043e\u043c \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0433\u0438\u0431\u043a\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u0441\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36745","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 re2c, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \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 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e re2c \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 1993 \u0433\u043e\u0434\u0443 \u041f\u0438\u0442\u0435\u0440\u043e\u043c \u0411\u0430\u043c\u0431\u0443\u043b\u0438\u0441\u043e\u043c \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0433\u0438\u0431\u043a\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u0441\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440\" \/>\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\/novosti-interneta\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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\udd47\u0412\u044b\u043f\u0443\u0441\u043a \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 re2c 1.2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 re2c, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \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 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e re2c \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 1993 \u0433\u043e\u0434\u0443 \u041f\u0438\u0442\u0435\u0440\u043e\u043c \u0411\u0430\u043c\u0431\u0443\u043b\u0438\u0441\u043e\u043c \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0433\u0438\u0431\u043a\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u0441\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2\" \/>\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=\"2019-10-31T19:13:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:31+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\udd47Version 1.2 des Lexikanalysator-Generators re2c | ProHoster","description":"Die Ver\u00f6ffentlichung von re2c, einem freien Generator f\u00fcr lexikalische Analysatoren in C und C++, fand statt. Er wurde 1993 von Peter Bambulis als experimenteller Generator f\u00fcr \u00e4u\u00dferst schnelle lexikalische Analysatoren entwickelt und hebt sich durch die Performance des generierten Codes sowie durch eine ungew\u00f6hnlich flexible Benutzeroberfl\u00e4che hervor, die es erleichtert und effizient macht, Analysatoren in bestehenden Codebasen zu integrieren. Seitdem","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2","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\udd47\u0412\u044b\u043f\u0443\u0441\u043a \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 re2c 1.2 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 re2c, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \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 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e re2c \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 1993 \u0433\u043e\u0434\u0443 \u041f\u0438\u0442\u0435\u0440\u043e\u043c \u0411\u0430\u043c\u0431\u0443\u043b\u0438\u0441\u043e\u043c \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0433\u0438\u0431\u043a\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u0441\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/vypusk-generatora-leksicheskih-analizatorov-re2c-1-2","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":"2019-10-31T19:13:31+00:00","article:modified_time":"2019-10-31T19:13:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36745","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":null,"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-22 04:42:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:39:23","updated":"2026-01-22 04:42:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36745","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=36745"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36745\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}