Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rosie
-
I created a library for parsing text in Kotlin. Better than regular expressions. What do you think?
I think you'd be better served to try to port Rosie Pattern Language (https://gitlab.com/rosie-pattern-language/rosie) to Kotlin than to try to roll your own. There are definite corner cases in RegEx (sounds like you've already hit some) where the asympototic performance is so large that the code is practically unrunnable. Rosie addresses several of those cases.
-
Is the regex crate a bottleneck in your program? If so, can you share the details?
I had to spend a lot of time clicking through links to finally find an example: https://gitlab.com/rosie-pattern-language/rosie/blob/master/rpl/date.rpl
-
Ask HN: What small library or tool do you want that doesn’t exist?
Something could be based on the "Rosie Pattern Language"[0]. There is already a parser for en_US/en_EU dates[1], which should be simple to extend to date ranges.
[0]: https://gitlab.com/rosie-pattern-language/rosie/-/blob/maste...
[1]: https://gitlab.com/rosie-pattern-language/rosie/blob/master/...
-
Parsing Tools
Maybe something like Rosie?
langs
- How does the compiler know that an already typedefed ident is meant to be a new declarator?
- Compiler Case Study
- Making Simple Concepts Hard
- What makes a language easy for writing a parser?
-
Resources to understand mojo and compilers
The code is here. Note that the input filename is hardcoded in the source code.
- Automatic import of C headers —how to deal with macros?
- How does preprocessing work in a one pass compiler?
- 'Table Data' and 'X-Macros'
- Register Window in a Stack VM Interpreter
- My New IL
What are some alternatives?
alass - "Automatic Language-Agnostic Subtitle Synchronization"
prolog-to-minizinc - A Prolog-to-MiniZinc translator
instaparse
rakudo - 🦋 Rakudo – Raku on MoarVM, JVM, and JS
elder_launcher - A Launcher focused on simplicity and legibility.
vox - Vox language compiler. AOT / JIT / Linker. Zero dependencies
snapdrop - A Progressive Web App for local file sharing
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
once - Collect and deduplicate stories (RSS, Hacker News, Lobsters or Reddit) and look at them once.
wabt - The WebAssembly Binary Toolkit
KotlinSpirit - Lightweight library for parsing text in Kotlin, inspired by C++ boost spirit library.
factor - Factor programming language