2010-11-15 16 views

Odpowiedz

2

Rozważmy Google-Diff-Match-Patch - Diff, Match i poprawka bibliotek na zwykły tekst:

„diff Mecz i biblioteki krosowe oferują rozbudowane algorytmy do wykonywania czynności wymaganych do synchronizacji zwykły tekst."

Diff: Porównaj dwa bloki zwykłego tekstu i wydajnie zwróć listę różnic.

Diff Demo Dopasowanie: Biorąc pod uwagę szukany ciąg, znajdź jego najlepsze dopasowanie rozmyte w bloku zwykłego tekstu. Ważony zarówno pod względem dokładności, jak i lokalizacji.

Dopasuj wersję demonstracyjną Poprawka: Zastosuj listę poprawek do zwykłego tekstu. Użyj najlepszego wysiłku, aby zastosować poprawkę, nawet jeśli tekst bazowy nie pasuje.

Patch Demo Obecnie dostępne w języku Java, JavaScript, C++, C#, Objective C, Lua i Python. Niezależnie od języka, każda biblioteka ma ten sam interfejs API i tę samą funkcjonalność. Wszystkie wersje mają również wszechstronne zestawy testowe.

Możesz go znaleźć here.

0

Rozważ Py-infinote.

py-infinote to port Pythona w JInfinote, oferujący wspólny protokół edycji tekstu (adOPTed), który może być używany do pisania edytorów tekstowych współpracujących z wieloma użytkownikami. Py-infinote jest używany w projekcie HWIOS.

https://github.com/sveith/jinfinote

0

OpenCoweb jest popularnym realizacja OT. Istnieje kilka implementacji serwera napisanych w różnych językach.

0

Prosta implementacja referencyjna, którą poprawię w następnych kilku miesiącach, dodając bardziej złożone elementy;

Teraz ma:

  • prostych operacji tekstowych; zachować, wstawianie, usuwanie i ich przemiany ze sobą
  • adnotacji ponad tekstem i przekształceń
  • generacja zmian i stosując je do tekstu

https://github.com/slevental/operational-transformation

Powiązane problemy