String-parsing in Nix
String parsers
Some string parsers written in Nix
yaml
toml
xml
yarn.lock
Lockfile for yarn, a package manager for JavaScript
- https://github.com/nix-community/dream2nix/blob/main/src/subsystems/nodejs/translators/yarn-lock/parser.nix
- https://github.com/nix-community/npmlock2nix/pull/29
- https://github.com/nprindle/nix-parsec/pull/3
mix.lock
Lockfile for mix, a package manager for Erlang
Lisp
- https://github.com/utdemir/nixlisp/blob/main/nix/parser.nix
- https://github.com/nprindle/nix-parsec/pull/4
arithmetic
cabal.project.freeze
Lockfile for cabal, a package manager for Haskell
IPv4 address
UUID
Linux kernel config
Python setup.cfg
PureScript
Parser combinators
Build complex parsers from many small parsers
- https://github.com/nprindle/nix-parsec - API is similar to megaparsec in Haskell
Grammars
- antlr https://github.com/antlr/grammars-v4
- tree-sitter https://github.com/search?q=tree-sitter+grammar
See also
- Add an Earley parser builtin (nix#1491)
- purenix - compile PureScript to Nix
- String parsing in other Functional Programming Languages
- String parsing in Haskell (google)