Crate erl_pp [−] [src]
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
directives |
Macro directives. |
types |
Miscellaneous types. |
Structs
Error |
This crate specific error type. |
MacroCall |
Macro call. |
Preprocessor |
Erlang source code preprocessor. |
Enums
Directive |
Macro directive. |
ErrorKind |
The list of the possible error kinds |
MacroDef |
Macro Definition. |
Type Definitions
Result |
This crate specific |