steps
- 1. run configure
- 2. add your bifs to erts/emulator/beam/bif.tab
bif re:grep/2 bif re:compile/1
- 3. create a C file
erts/emulator/beam/erl_bif_re.c
- 4. add your C file to erts/emulator/<arch>/Makefile
RUN_OBJS = $(OBJDIR)/erl_bif_re.o \
- 5. implement your bifs by stealing bits from existing erl_bif_*.c files
1 2 3 4 5 | BIF_RETTYPE re_grep_2( BIF_ALIST_2 ){ Eterm result; result = magic_function(); BIF_RET (result); } |
- 6. run make; make install
notes
- steps 0-3 need only be done once.
- note that if you add
1 | bif re:grep /2 |
to bif.tab there should be a erl_bif_re.c that implements
1 | BIF_RETTYPE re_grep_2( BIF_ALIST_2 ); |
from: https://erlangcentral.org/wiki/index.php/Adding_my_own_BIF
happy hackin'