Skip to content

A library that allows proc_macro function-like macros to be parsed using the combine parser combinator crate.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

kestred/combine-proc-macro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

combine-proc-macro

combine-proc-macro on docs.rs

A library that allows proc_macro function-like macros to be parsed using the combine parser combinator crate.

Usage

Put this in your Cargo.toml:

[dependencies]
combine-proc-macro = "0.3.1"

And this in your crate root:

extern crate combine_proc_macro;

To learn how the library is used, see some examples:

Motivation

When writing a #[proc_macro_derive] the input is Rust source code which is well supported by the syn crate. However, when writing a #[proc_macro] macro, it is common to want to define a custom domain specific language.

This crate allows you to write a parser for your DSL using the combine parser combinator library. It also preserves the source span information in the parsed result such that rustc can provide correct source locations for identifiers and literals that are re-used in the output.

License

This library is licensed under the terms of both the MIT license and the Apache License (Version 2.0), and may include packages written by third parties which carry their own copyright notices and license terms.

See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.

About

A library that allows proc_macro function-like macros to be parsed using the combine parser combinator crate.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages