{"repo":"maciejhirsz/logos","free":true,"listed":false,"github":"https://github.com/maciejhirsz/logos","clone":"git clone https://github.com/maciejhirsz/logos.git","description":"Create ridiculously fast Lexers","language":"Rust","stars":3548,"topics":["lexer","lexer-generator","rust","parser","parsing"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Logos Create ridiculously fast Lexers. Logos has two goals: + To make it easy to create a Lexer, so you can focus on more complex problems. + To make the generated Lexer faster than anything you'd write by hand. To achieve those, Logos : + Combines all token definitions into a single deterministic state machine. + Optimizes branches into lookup tables or jump tables. + Prevents backtracking inside token definitions. + Unwinds loops, and batches reads to minimize bounds checking. + Does all of that heavy lifting at compile time. Example For more examples and documentation, please refer to the Logos handbook or the crate documentation. How fast? Ridiculously fast! Acknowledgements + Pedrors for the Logos logo. Thank you Logos is very much a labor of love. If you find it useful, consider getting me some coffee. ☕ If you'd like to contribute to Logos, then consider reading the Contributing guide. Contributing Logos welcome any kind of contribution: bug reports, suggestions, or new features! Please use the issues or pull requests tabs, when appropriate. To release a new version, follow the RELEASE-PROCESS License This code is distributed under the terms of both the MIT license and the Apache License (Version 2.0), choose whatever works for you. See LICENSE-APACHE and LICENSE-MIT for details.","default_branch":null,"files":null,"tree":[],"storefront":"/r/maciejhirsz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/maciejhirsz/logos/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}