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. |
| PredefinedMacros |
Predefined macros. |
| Preprocessor |
Erlang source code preprocessor. |
Enums
| Directive |
Macro directive. |
| ErrorKind |
The list of the possible error kinds |
Type Definitions
| Result |
This crate specific |