Crate erl_pp[][src]

Expand description

Erlang source code preprocessor.

Examples

use erl_pp::Preprocessor;
use erl_tokenize::Lexer;

let src = r#"-define(FOO(A), {A, ?LINE}). io:format("Hello: ~p", [?FOO(bar)])."#;
let pp = Preprocessor::new(Lexer::new(src));
let tokens = pp.collect::<Result<Vec<_>, _>>().unwrap();

assert_eq!(tokens.iter().map(|t| t.text()).collect::<Vec<_>>(),
           ["io", ":", "format", "(", r#""Hello: ~p""#, ",",
            "[", "{", "bar", ",", "1", "}", "]", ")", "."]);

References

Modules

Macro directives.

Miscellaneous types.

Structs

Macro call.

Erlang source code preprocessor.

Enums

Macro directive.

Possible errors.

Macro definition.

Type Definitions

This crate specific Result type.