Crates.io | lip |
lib.rs | lip |
version | 8.1.2 |
source | src |
created_at | 2020-03-24 21:30:31.649134 |
updated_at | 2023-06-25 21:20:13.691895 |
description | Lip provides powerful parser combinators for creating reusable and flexible parsers. |
homepage | |
repository | https://github.com/AlienKevin/lip |
max_upload_size | |
id | 222451 |
size | 2,122,253 |
Lip provides powerful parser combinators for creating reusable and flexible parsers.
// Parse an (x, y) position pair
use lip::*;
let position = succeed!(|x, y| (x, y))
.keep(int())
.skip(token(","))
.keep(int())
.run("2,3", ()); // run this parser on string "2,3" without extra states
// when parsing finished, position == (2, 3)
Reading the parser combinator by Bodil is an excellent way to know how parser combinators work.
MIT
Based on Bodil's Parser Combinator Tutorial and Evan's elm/paser.