Implementierung

Einziges bisher unterstütztes Backend ist derzeit:

Vorgesehen, bisher aber noch nicht implementiert sind Visualisierungsmöglichkeiten mit folgenden Frontends:

Bibliotheken

Folgende Bibliotheken werden zum aktuellen Zeitpunkt benötigt

ICU

International Components for Unicode (ICU) ist ein Open-Source-Projekt zur Unicode-Unterstützung und Internationalisierung, welches ausgereifte C/C++- und Java-Bibliotheken bereitstellt. Im Interlinearisator soll es für den Mustervergleich und für die Sortierung der Datenbanktabellen eingesetzt werden.


Schemata

Konfiguration

   1 {
   2   "boxes" : [
   3     { "collection" : "lug.frzps" },
   4     { "collection" : "lug.frzsf" },
   5     { "collection" : "lug.frz" }
   6   ],
   7 
   8   "rules" : [
   9     { "boxes" : [0],
  10       "copy"  : [1, 2] },
  11 
  12     { "boxes" : [1, 2] }
  13   ]
  14 }

Übersetzungstabellen

TABELLE 1

TABELLE 2

TABELLE 3

(fl)

(br)

(le)

(me)

(le)

(me)

j´avais

je-avoir-ais

lorsque

als

ais

1sIPF; 2sIPF

ans

an-s

je

ich

s

PL; 1sPRES; 2sPRES; IMPs

j´ai

je-avoir-0

avoir

haben

0

1sPRES

   1 { "key" : "fauve", "value" : "Raubtier" }
   2 { "key" : "fauve", "value" : "falb" }

   1 { "key" : "j'avais", "value" : [ "je", "avoir", "ais" ] }

Interlinearversion

Die Interlinearversion eines Textes wird als Ableitungsbaum gespeichert.

Die ersten drei Hierarchie-Ebenen entsprechen hierbei dem gesamten Dokument, in Abschnitte gegliederten Referenzen, sowie auf letzter Ebene einzelnen Worten und Satzzeichen.

Beispiel

ref

u 001

1(tx)

lorsque

j´avais

six

ans

2(mb)

lorsque

je

-

avoir

-

ais

six

an

-

s

3(gl)

als

ich

-

haben

-

1sIMP

sechs

Jahr

-

PL

   1 {
   2   "id" : "document",
   3   "children" : [
   4     {
   5       "id" : "u 001",
   6       "children" : [
   7         {
   8           "id" : "Lorsque"
   9           "children" : [
  10             {
  11               "id" : "lorsque",
  12               "children" : [
  13                 {
  14                   "id" : "als"
  15                 }
  16               ]
  17             }
  18           ]
  19         },
  20         {
  21           "id" : "j'avais"
  22           "children" : [
  23             {
  24               "id" : "je",
  25               "children" : [
  26                 {
  27                   "id" : "ich"
  28                 }
  29               ]
  30             },
  31             {
  32               "id" : "avoir",
  33               "children" : [
  34                 {
  35                   "id" : "haben"
  36                 }
  37               ]
  38             },
  39             {
  40               "id" : "ais",
  41               "children" : [
  42                 {
  43                   "id" : "1sIMP"
  44                 }
  45               ]
  46             },
  47           ]
  48         },
  49         {
  50           "id" : "six",
  51           "children" : [
  52             {
  53               "id" : "six",
  54               "children" : [
  55                 {
  56                   "id" : "sechs"
  57                 }
  58               ]
  59             }
  60           ]
  61         },
  62         {
  63           "id" : "ans",
  64           "children" : [
  65             {
  66               "id" : "an",
  67               "children" : [
  68                 {
  69                   "id" : "Jahr"
  70                 }
  71               ]
  72             },
  73             {
  74               "id" : "s",
  75               "children" : [
  76                 {
  77                   "id" : "PL"
  78                 }
  79               ]
  80             }
  81           ]
  82         }
  83       ]
  84     }
  85   ]
  86 }

lugfrankfurt: Programmierworkshop/projekte/interlinearisator/implementierung (zuletzt geändert am 2012-08-05 00:10:23 durch Bernd)