Fast Parse
adventofcode
Fast Parse | adventofcode | |
---|---|---|
4 | 86 | |
1,076 | 16 | |
0.2% | - | |
4.6 | 7.3 | |
21 days ago | 4 months ago | |
Scala | TypeScript | |
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.
adventofcode
- -❄️- 2023 Day 10 Solutions -❄️-
- -❄️- 2023 Day 9 Solutions -❄️-
- -❄️- 2023 Day 8 Solutions -❄️-
-
-❄️- 2023 Day 7 Solutions -❄️-
The only code differs for two parts is as follows - https://github.com/bhosale-ajay/adventofcode/blob/master/2023/ts/D07.test.ts - under 80 lines.
-
-❄️- 2023 Day 6 Solutions -❄️-
Easy day TypeScript, P1 - Brute Force, P2 - Formula
- -❄️- 2023 Day 5 Solutions -❄️-
-
-❄️- 2023 Day 4 Solutions -❄️-
[LANGUAGE: TypeScript] Github - Under 40 lines, all parts running under 8ms.
-
-❄️- 2023 Day 1 Solutions -❄️-
[LANGUAGE: TypeScript] TypeScript - Running under 30ms (both parts)
-
-🎄- 2022 Day 25 Solutions -🎄-
F# This year I solved puzzles using TypeScript as well as F# - Day 18, 19, and 22 TBD
-
-🎄- 2022 Day 24 Solutions -🎄-
F# - After looking at some Python solution calculated the position of blizzard for nth time instead of maintaining the grid, which makes it easier with F#.
What are some alternatives?
Parboiled2 - A macro-based PEG parser generator for Scala 2.10+
AoC - my personal repo for the advent of code yearly challenge
Scala Parser Combinators - simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
atto - friendly little parsers
adventofcode - Advent of Code challenge solutions
Scopt - command line options parsing for Scala
advent-of-code-go - All 8 years of adventofcode.com solutions in Go/Golang; 2015 2016 2017 2018 2019 2020 2021 2022
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
decline - A composable command-line parser for Scala.
advent-of-code