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 7d3cd79f35 Use fbrp_parse and FbrpReference 3 weeks ago
.gitignore Code cleanup 1 year ago
LICENSE Update MIT license 11 months ago
README.md Markdown things 1 month ago
fbrp.c Use fbrp_parse and FbrpReference 3 weeks ago
fbrp.h Use fbrp_parse and FbrpReference 3 weeks ago
test.c Use fbrp_parse and FbrpReference 3 weeks ago

README.md

FBRP

“Flexible Bible Reference Parser”
A tiny Bible reference parser written in C99. It parses references like

2 Kings 1, 3-5:2-4, 3-6, 1-2

and parses it into structures like:

Book: 2Kings
Chapter: [1]-[1]
Chapter: [3]-[5]
Verse: [2]-[4]
Verse: [3]-[6]
Verse: [1]-[2]

Features

  • No dependencies or even standard C headers
  • One C file, one header file, no complex build system needed
  • Tiny and flexible

Cannot Parse:

By design, it cannot parse references like:

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

Testing:

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

How it works:

Like a lexer/parser, it parses the string into a tokens.
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.