[−][src]Crate erl_pp
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 |