Position Independent Source Code

Update of "esv-parser"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: b8af48e714c4d673f775e3750d14c305993ce687
Page Name:esv-parser
Date: 2017-03-31 04:17:31
Original User: yumaikas
Parent: 2a269fee26a7982246ca28bef85fea609cbcaca8
Content
: parse-ref ( strref -- Book/Chapter/Verse ) 
    " " str-split :v
    $v vec-popback 
    /* The vector and it's rear element \*/
        ":" str-split splat :verse :chapter
        /* Contains the rest of the elements which make up the book name \*/
        " " str-join :book
<dict> $book "$$$" "" str-replace <<-book $chapter <<-chapter $verse <<-verse ;

: load-esv ( -- esv ) "ESV.txt" open-file-reader :r

<vector> :verses <vector> :refs
[ $r .EOF not ] $r .EOF not [ $r .read-line :line $line "$$$" str-contains [ $refs $line parse-ref $verses len 1 - <<-idx vec-append :refs ] $r .read-line :line $line "$$$" str-contains [ $refs $line parse-ref $verses len 1 - <<-idx vec-append :refs [ $verses $line vec-append :verses ] $verses $line vec-append :verses if ] while ;

load-esv