Skip to content
Alternative Erlang Pre-Processor
Erlang
Find file
Pull request Compare This branch is 5 commits ahead, 49 commits behind ErlyORM:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src
Emakefile
Makefile
README.markdown

README.markdown

Aleppo: ALternative Erlang Pre-ProcessOr

Aleppo is an alternative to epp(3erl), and is mainly intended for Erlang compiler hackers.

erl_scan -> *aleppo* -> erl_parse -> compile

Features

  • Token-oriented API. Pass in tokens returned by erl_scan, receive a list of erl_scan-compatible tokens after preprocessor macros have been applied. No parsing of Erlang code is performed!

  • Support for -define, -undef, -ifdef, -ifndef, -else, -endif, -include, -include_lib

  • Preprocessor directives can be used inside functions

  • Virtual file system support via custom read_file function for included files

API

aleppo:process_file(FileName) -> {ok, Tokens} | {error, Error}

aleppo:process_tokens(Tokens) -> {ok, NewTokens} | {error, Error}

aleppo:process_tokens(Tokens, Options) -> {ok, NewTokens} | {error, Error}

    Options = [{file, FileName}, {expand_file, fun(FileName, IncludeDirs) -> {AbsFileName, FileData}}]
Something went wrong with that request. Please try again.