ppx 0.1.2

C-style pre-processor library
Documentation
# PPX

Small C-style macro expansion library.

## Example

```rust
let result = ppx::parse_string(
    "
    #param A
    #define B hello
    #define fn(name), name!
    
    B A fn(John)
    ",
    base_dir,
    ["world"].into_iter()
);
// result = "hello world, John!"
```

More examples in the [tests folder](tests/).

## Features

- `#param`: A parameter that can be passed when including the file, or from the
  `parse*` functions.
- `#define`: Define a simple substition, or a function-like macro
- `#include`: Include another file and parse it as well. Optionally accepts
  parameters which will be used for substituting the names specified by `#param`.

- Macros `include_ppx!` and `include_ppx_string!`: Parse a template at compile time
  instead of at runtime. Enable macros with feature `macros` or `macros-stable`.

**planned**
- `#if`

## Development

### Running tests

```sh
cargo test --workspace
```

## License

MIT or Apache-2.0.