ref_token.bend checks
raw source on the hub · import 0x165c100ad73c506a5905a4a8273884a3/ref_token.bend as Ref_token
REFERENCE_TOKEN-shaped scanners (grab-bcv share.ts / bible-linkify spirit). Pure Bend — helper-pair style, Nat-fuel where looping, no @unsafe.
1 import
import Base
Types
type TkPh source · line 52 · raw
Data
--- take alphas / digits / alnum ---
TkCheckTkPh
TkDec@ok:Bool -> TkPh
TkTakeTkPh
type UrlPh source · line 547 · raw
Data
--- URL token ---
UrlCheckUrlPh
UrlDec@stop:Bool -> UrlPh
UrlTakeUrlPh
Definitions
def char1 source · line 5 · raw
@+c:Char -> String
def is_alnum source · line 8 · raw
@+c:Char -> Bool
def is_book_num source · line 11 · raw
@+c:Char -> Bool
def drop_head source · line 17 · raw
@+s:String -> String
def longer_tok_go source · line 24 · raw
@ge:Bool -> @+a:String -> @+b:String -> String
def longer_tok source · line 31 · raw
@+a:String -> @+b:String -> String
def pick_nonempty_b source · line 34 · raw
@b_empty:Bool -> @+a:String -> @+b:String -> String
def pick_nonempty_a source · line 41 · raw
@a_empty:Bool -> @+a:String -> @+b:String -> String
def pick_nonempty source · line 48 · raw
@+a:String -> @+b:String -> String
def take_alphas_go source · line 57 · raw
@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)
def take_alphas source · line 82 · raw
@+s:String -> Pair(String, String)
def take_digits_go source · line 85 · raw
@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)
def take_digits source · line 110 · raw
@+s:String -> Pair(String, String)
def take_alnum_go source · line 113 · raw
@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)
def take_alnum source · line 138 · raw
@+s:String -> Pair(String, String)
def space_pair source · line 141 · raw
@sp:Bool -> @+t:String -> @+orig:String -> Pair(Bool, String)
def drop_one_space source · line 148 · raw
@+s:String -> Pair(Bool, String)
def char_eq_head source · line 155 · raw
@+s:String -> @+c:Char -> Bool
def dig_head source · line 162 · raw
@+s:String -> Bool
def alpha_head source · line 169 · raw
@+s:String -> Bool
def hu_fail source · line 179 · raw
String
def hu_finish source · line 182 · raw
@+tok:String -> String
def hu_range_empty source · line 185 · raw
@empty:Bool -> @+pre:String -> @+ed:String -> String
def hu_range_pair source · line 192 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def hu_range source · line 197 · raw
@+pre:String -> @+rest:String -> String
def hu_after_verse_dash source · line 200 · raw
@dash:Bool -> @+pre:String -> @+rest:String -> String
def hu_after_verse source · line 207 · raw
@+pre:String -> @+rest:String -> String
def hu_verse_empty source · line 210 · raw
@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String
def hu_verse_pair source · line 217 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def hu_verse source · line 222 · raw
@+pre:String -> @+rest:String -> String
def hu_cv_space_dig source · line 225 · raw
@dig:Bool -> @+pre:String -> @+rest:String -> String
def hu_cv_space source · line 232 · raw
@+pre:String -> @+rest:String -> String
def hu_cv_colon source · line 235 · raw
@colon:Bool -> @space:Bool -> @+pre:String -> @+rest:String -> String
def hu_cv_heads source · line 246 · raw
@+pre:String -> @+rest:String -> @+h:Char -> String
def hu_after_chap source · line 249 · raw
@+pre:String -> @+rest:String -> String
def hu_chap_empty source · line 256 · raw
@empty:Bool -> @+pre:String -> @+ch:String -> @+rest:String -> String
def hu_chap_pair source · line 263 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def hu_chap source · line 268 · raw
@+pre:String -> @+rest:String -> String
def hu_need_chap_sp_go source · line 271 · raw
@sp:Bool -> @+pre:String -> @+rest:String -> String
def hu_need_chap_sp source · line 278 · raw
@+pre:String -> @pair:Pair(Bool, String) -> String
def hu_of_book_empty source · line 283 · raw
@empty:Bool -> @+pre:String -> @+b2:String -> @+rest:String -> String
def hu_of_book_pair source · line 290 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def hu_of_book source · line 295 · raw
@+pre:String -> @+rest:String -> String
def hu_of_sp2_go source · line 298 · raw
@sp:Bool -> @+pre:String -> @+rest:String -> String
def hu_of_sp2 source · line 305 · raw
@+pre:String -> @pair:Pair(Bool, String) -> String
def hu_after_of source · line 310 · raw
@+pre:String -> @+rest:String -> String
def hu_of_word_go source · line 313 · raw
@is_of:Bool -> @+pre:String -> @+rest:String -> String
def hu_of_word source · line 320 · raw
@+pre:String -> @+rest:String -> String
def hu_of_sp_go source · line 323 · raw
@sp:Bool -> @+pre:String -> @+rest:String -> String
def hu_of_sp source · line 330 · raw
@+pre:String -> @pair:Pair(Bool, String) -> String
def hu_after_dot source · line 335 · raw
@+pre:String -> @+rest:String -> String
def hu_dot_go source · line 338 · raw
@dotted:Bool -> @+pre:String -> @+rest:String -> String
def hu_after_book source · line 345 · raw
@+pre:String -> @+rest:String -> String
def hu_book_empty source · line 348 · raw
@empty:Bool -> @+pre:String -> @+book:String -> @+rest:String -> String
def hu_book_pair source · line 355 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def hu_book source · line 360 · raw
@+pre:String -> @+rest:String -> String
def hu_num_sp_go source · line 363 · raw
@sp:Bool -> @+pre:String -> @+rest:String -> String
def hu_num_sp source · line 370 · raw
@+pre:String -> @pair:Pair(Bool, String) -> String
def hu_start_num source · line 375 · raw
@num:Bool -> @+h:Char -> @+t:String -> @+rest:String -> String
def match_human source · line 382 · raw
@+s:String -> String
def os_fail source · line 392 · raw
String
def os_finish source · line 395 · raw
@+tok:String -> String
def suf_ok source · line 398 · raw
@+suf:String -> Bool
def os_suf_body_go source · line 404 · raw
@ok:Bool -> @+pre:String -> @+suf:String -> String
def os_suf_body_pair source · line 411 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def os_suf_body source · line 416 · raw
@+pre:String -> @+rest:String -> String
def os_suf_go source · line 419 · raw
@dotted:Bool -> @+pre:String -> @+rest:String -> String
def os_suf source · line 426 · raw
@+pre:String -> @+rest:String -> String
def os_range_dig_pair source · line 429 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def os_range_dig source · line 434 · raw
@+pre:String -> @+rest:String -> String
def os_range_go source · line 437 · raw
@dig:Bool -> @+pre:String -> @+rest:String -> String
def os_after_dash source · line 444 · raw
@+pre:String -> @+rest:String -> String
def os_dash_go source · line 447 · raw
@dash:Bool -> @+pre:String -> @+rest:String -> String
def os_after_verse source · line 454 · raw
@+pre:String -> @+rest:String -> String
def os_verse_empty source · line 457 · raw
@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String
def os_verse_pair source · line 464 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def os_verse source · line 469 · raw
@+pre:String -> @+rest:String -> String
def os_vdot_go source · line 472 · raw
@dotted:Bool -> @+pre:String -> @+rest:String -> String
def os_after_chap source · line 479 · raw
@+pre:String -> @+rest:String -> String
def os_chap_empty source · line 482 · raw
@empty:Bool -> @+pre:String -> @+ch:String -> @+rest:String -> String
def os_chap_pair source · line 489 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def os_chap source · line 494 · raw
@+pre:String -> @+rest:String -> String
def os_dot_go source · line 497 · raw
@dotted:Bool -> @+pre:String -> @+rest:String -> String
def os_after_book source · line 504 · raw
@+pre:String -> @+rest:String -> String
def os_book_short source · line 507 · raw
@short:Bool -> @+pre:String -> @+book:String -> @+rest:String -> String
def os_book_pair source · line 514 · raw
@+pre:String -> @pair:Pair(String, String) -> String
def os_book source · line 519 · raw
@+pre:String -> @+rest:String -> String
def os_num_alpha_go source · line 522 · raw
@alpha:Bool -> @+pre:String -> @+rest:String -> @+full:String -> String
def os_start_num source · line 529 · raw
@num:Bool -> @+h:Char -> @+t:String -> @+rest:String -> String
def match_osis source · line 536 · raw
@+s:String -> String
def match_ref_token source · line 543 · raw
@+s:String -> String
def is_url_stop source · line 552 · raw
@+c:Char -> Bool
def take_url_go source · line 558 · raw
@fuel:Nat -> @ph:UrlPh -> @rest:String -> @acc:String -> String
def starts_url source · line 583 · raw
@+s:String -> Bool
def match_url_token_go source · line 592 · raw
@yes:Bool -> @+s:String -> String
def match_url_token source · line 604 · raw
@+s:String -> String
def boundary_ok source · line 607 · raw
@prev_alnum:Bool -> Bool