Navodnici, utvrda koju valja osvojiti

subota, 12. rujna 2026.

Naizgled, nema jednostavnije stvari u tekstu od navodnika. Otvoriš ga kad netko progovori, zatvoriš ga kad zašuti. No, kada se bavite obradom i standardizacijom teksta opsega i složenosti jedne Biblije, taj bezazleni interpunkcijski znak pretvara se u pravu inženjersku noćnu moru.

Biblijski je tekst specifičan po svojoj slojevitoj strukturi ugniježđenog govora. Imate naratora, koji citira proroka, koji prenosi što mu je Bog rekao, a unutar tog govora se često citira i narod. Prema strogim tipografskim pravilima koja primjenjujemo, prva razina je glavni govor ("), druga je citat unutar govora ('), a treća citat unutar citata ("). Susretnu li se isti znakovi na dvije susjedne razine (poput "" ili ''), struktura se urušava.

Ljudsko oko u ovakvom tekstu kapitulira nakon tri pročitane stranice. Mozak počne automatski zatvarati navodnike koji fizički ne postoje. Zato smo na projektu biblija.hr ovaj naizgled humanistički problem prepustili čistoj matematici i bazama podataka.

Umjesto beskonačnog čitanja, oslanjamo se na rekurzivne SQL upite (WITH RECURSIVE). Naš algoritam parsira svaki stih, izdvaja svaki pojedini navodnik i izračunava "dubinu" teksta. Svaki otvarajući znak podiže razinu, svaki zatvarajući je spušta. Matematika je neumoljiva: na kraju svakog poglavlja, bilanca dubine mora biti točno nula. Ako nam baza izbaci dubinu 1, 2 ili 3, znamo da je negdje u tekstu ostao "otvoren prozor".

Zvuči kao savršen tehnički proces, ali praksa je uvijek kaotičnija od koda. Ponekad nam algoritam prijavi masovnu grešku, a zapravo se radi o govoru koji prelazi granice poglavlja (poput Mojsijeva govora u Ponovljenom zakonu koji počinje u 1,6, a završava tek u 4,40). Ponekad govor završi točno usred stiha, pa zatvarajući navodnik ne smije ići na kraj retka jer narator preuzima radnju.

A najveći izazov? Domino-efekt. Kada SQL-om ispravite samo jedan zaboravljeni navodnik, mijenjate bilancu svih tisuća stihova koji dolaze nakon njega. Svaki ispravak zahtijeva novu iteraciju cijelog algoritma, sve dok se dubina potpuno ne izravna. Uz to, moramo loviti i "nevidljive" zamke koje strukturalni kod ne vidi: preostale tipografske navodnike („ " «) iz starih prijeloma ili situacije gdje je narator stavio dvotočku, ali je početni navodnik potpuno ispario.

Zašto ulažemo ovoliki trud u "samo jedan znak"? Zato što je nevidljiva arhitektura teksta temelj povjerenja čitatelja. Kada otvorite biblija.hr, ne trebate zapinjati na interpunkciji niti gubiti nit tko tu koga zapravo citira. Iza svakog glatko pročitanog stiha stoje sati analitike, rekurzivnih petlji i iterativnog rudarenja po podacima, jer je najbolji tekst uvijek onaj u kojem čitatelj ni ne sluti tehnički napor koji stoji iza njega.

Objavite svoj komentar
*
*