Flexible Bible Reference Parser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel 890e624ed6 Update 'README.md' 1 month ago
.gitignore Code cleanup 9 months ago
LICENSE Update MIT license 8 months ago
README.md Update 'README.md' 1 month ago
fbrp.c Refamiliarize myself with the code, a few minimal changes 1 month ago
fbrp.h Include the header file once only 1 month ago
test.c more small changes 3 months ago



“Flexible Bible Reference Parser”


  • No Regex or any other libraries
  • Tiny and flexible
  • One C file, one header file, no complex build system needed.

Can Parse:

  • “John 3 16”
  • “2 John 3 16-17”
  • “2 Kings 1, 3-5:2-4, 3-6, 1-2”

Cannot Parse:

By design, it cannot parse references like:

  • “John 3 16, John 3 17”
  • “John 3, Hebrews 4”
  • “John 3 16, KJV”


cc test.c fbrp.c && ./a.out

How it works:

Like a typical compiler, it parses the string into a “token”
tree. Then, it uses that to run through each token and figure out
exactly what they all mean.
There is currently no algorithm specification, but feel free to
ask if you need any clarification.