เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ” re2c lexer 4.0

เบเบฒเบ™เบ›เปˆเบญเบเบ‚เบญเบ‡ re2c 4.0 เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ - เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ lexical (aka compiler of regular expressions into code in the target programming language). Re2c เบกเบตเบ„เบงเบฒเบกเบŠเปˆเบฝเบงเบŠเบฒเบ™เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ” lexers เป„เบงเปเบฅเบฐเบ‡เปˆเบฒเบเปƒเบ™เป€เบชเบฑเป‰เบ™เปเบฅเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบ„เบนเปˆเบฎเปˆเบงเบกเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบชเบฝเบ‡ Flex เบ‚เบญเบ‡เบ•เบปเบ™เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบ‚เบญเบ‡เบกเบฑเบ™, เบเบฒเบ™เบœเบฐเบฅเบดเบ” lexers เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”, เปเบฅเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเบฐเบเบฑเบ”เป€เบญเบปเบฒ submatch เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ tagged deterministic finite automata (TDFA). re2c เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡ lexer เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™ Ninja เปเบฅเบฐ PHP.

เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ 4.0, เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเปเบ›เบ”เบžเบฒเบชเบฒเปƒเบซเบกเปˆ (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปเบฅเป‰เบง (C. /C++, Go, Rust), เปเบฅเบฐเบเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบปเบ™เป„เบเบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบžเบฒเบชเบฒเปƒเบซเบกเปˆเป‚เบ”เบเบœเปˆเบฒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เป€เบ„เบทเปˆเบญเบ‡เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเปƒเบ™เบเบฒเบ™เปเบ›เป€เบ„เบทเปˆเบญเบ‡เบฅเบฑเบ”เบ—เบตเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เปเบฅเป‰เบงเปเบฅเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ—เบตเปˆเบชเบธเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบเบฒเบ™เป€เบฅเบทเบญเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ„เบงเบšเบ„เบธเบก, เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™, เบฎเบนเบšเปเบšเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบปเปˆเบงเป„เบ›, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบžเบฒเบชเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบซเบ”เบœเบปเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ re2c, เปเบฅเบฐเป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เบกเบฑเบ™เบซเบผเบทเป€เบžเบตเปˆเบกเบžเบฒเบชเบฒเปƒเบซเบกเปˆ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเป‰เป„เบ‚เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปเบฅเบฐเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ re2c. patches เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ repository เบ•เบปเป‰เบ™เบ•เปเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŠเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฑเบšเบชเบปเบ™เบ•เบทเปˆเบกเบญเบตเบ.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เป„เบŸเบฅเปŒ syntax - เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰ (re2c เปƒเบŠเป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™). เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ re2c เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบžเบฒเบชเบฒ เปเบฅเบฐเบญเบฒเป„เบชเบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒ syntax เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ” override เบšเบฒเบ‡เบชเปˆเบงเบ™เป„เบŸเบฅเปŒ syntax เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบซเบผเบทเบ‚เบฝเบ™เปƒเบซเบกเปˆเบˆเบฒเบเบ•เบปเป‰เบ™. เบ—เบธเบเป†เบžเบฒเบชเบฒเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบกเบตเป€เบญเบเบฐเบชเบฒเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡.

เบเบฒเบ™เบ›เปˆเบญเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบ‡เปˆเบฒเบเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบšเบžเบฒเบš. เป€เบžเบตเปˆเบกเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบญเบญเบ™เป„เบฅเบ™เปŒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เปเบฅเบฐเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ•เบปเบงเบขเปˆเบฒเบ‡.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster