Fast Parse
advent-of-code
Fast Parse | advent-of-code | |
---|---|---|
4 | 14 | |
1,076 | 70 | |
0.2% | - | |
4.6 | 8.5 | |
21 days ago | 5 months ago | |
Scala | JavaScript | |
MIT License | MIT License |
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.
Fast Parse
-
How do I remove the forward reference error in my parser? (20 lines)
Perhaps use Li Haoyi's fastparse instead? https://github.com/com-lihaoyi/fastparse
-
Parse slightly dirty, poorly escaped XML
You might want to adapt Li Haoyi’s XML parser for fastparse.
-
-🎄- 2021 Day 18 Solutions -🎄-
Mostly a mess of pattern matching. I really need to make some generic tree utilities. Haven't been able to find a decent parser combinator that works in Scala 3 (I usually use fastparse which depends heavily on Scala 2 macros, and scala-parser-combinators works in Scala 3, but I've had a lot of trouble getting it to not be too greedy), so I used the state monad from cats to parse at the bottom of the file, which I think turned out fairly nice.
-
Parser generators vs. handwritten parsers: surveying major languages in 2021
Agreed! I would say that parser combinators are the sweet spot and the right choice in most cases.
Scala has them as well, e.g.: https://com-lihaoyi.github.io/fastparse/
And the good thing is, you don't have to learn a completely new language/syntax, you can use the host language's syntax and you have full IDE support as well.
advent-of-code
- [2022] Relevant XKCD: Game AIs
-
-🎄- 2021 Day 24 Solutions -🎄-
For a full write-up, see this repo, and for a non-annotated solution, see:
-
-🎄- 2021 Day 18 Solutions -🎄-
Otherwise, the main way I solved this was with a flat list of tokens rather than a truly nested structure. This was very similar to last year's Day 18, which I also solved in a similar manner.
-
-🎄- 2021 Day 9 Solutions -🎄-
Code can be found in this repo.
-
-🎄- 2021 Day 7 Solutions -🎄-
code
-
-🎄- 2021 Day 5 Solutions -🎄-
First 2D one! Got to reuse my InfiniteGrid class, which made this much easier.
-
How to beat AOC 2019, day 13, part 2?
Mine only took about 2 minutes when I originally recorded it. I've since added some optimizations to my Intcode computer, and re-running my original program with the optimized computer now runs in about 45 seconds. 😁
-
[2015 Day 19 (Part 2)] I don't want specifics, but can someone point me in which direction I should work this problem?
Here is my solution in JS, which also has a long comment explaining the main iterative loop.
-
[2020 - Day 15 - Part 1/2] [JS/Python] - Why is the Javascript solution so much faster?
Your solution is very similar to mine, and I too found that using an Array of a set size was way faster than an ordinary Object. I believe it has to resizing the array / object.
-
2020 Day 13 Solutions
Main code for part two here, with comments, and full code for all parts found here.
What are some alternatives?
Parboiled2 - A macro-based PEG parser generator for Scala 2.10+
AlgorithmProblems - Solutions to Algorithm Problems :chart_with_upwards_trend: :neckbeard:
Scala Parser Combinators - simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module
adventOfCode - Solutions to the 'Advent of Code' (http://adventofcode.com) programming challenges in Elm
atto - friendly little parsers
adventofcode - Advent of code solution programs.
Scopt - command line options parsing for Scala
adventofcode - Advent of Code solutions 2015-2023
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
advent-of-code - Advent of code solutions
decline - A composable command-line parser for Scala.
aoc2017apl - Advent of Code 2017 solutions in APL