3 releases
0.1.2 | Nov 27, 2023 |
---|---|
0.1.1 | Nov 27, 2023 |
0.1.0 | Nov 27, 2023 |
#225 in Build Utils
2,826 downloads per month
26KB
728 lines
Lossless parser for Makefiles
This crate provides a lossless parser for makefiles, creating a modifiable CST.
Example:
let mf = Makefile::read("Makefile").unwrap();
println!("Rules in the makefile: {:?}", mf.rules().map(|r| r.targets().join(" ")).collect::<Vec<_>>());
lib.rs
:
A lossless parser for Makefiles
Example:
use std::io::Read;
let contents = r#"PYTHON = python3
.PHONY: all
all: build
build:
$(PYTHON) setup.py build
"#;
let makefile: makefile_lossless::Makefile = contents.parse().unwrap();
assert_eq!(makefile.rules().count(), 3);
Dependencies
~1MB
~15K SLoC