Ad

InggrisPerancisSpanyol

Editor online gratis | DOC > | XLS > | PPT >


favorit OffiDocs

Pengecekan Tata Bahasa komponen Lingu

OffiDocs menyediakan OpenOffice online sehingga kami tertarik dengan Lingucomponent Grammar Checking yang bertujuan untuk merancang, mengembangkan, dan menerapkan pemeriksa Grammar untuk bahasa Inggris dan bahasa lain yang didukung. API pemeriksa tata bahasa telah tersedia di OpenOffice.org sejak versi 3.0.

Pemeriksaan tata bahasa dipandang sebagai implementasi tertentu dari iterasi teks dan proses markup, proses iterasi/markup lainnya seperti pemeriksaan ejaan atau penandaan cerdas pada dasarnya dapat bekerja dengan cara yang sama (meskipun saat ini tidak diterapkan seperti ini). Jika pemeriksaan tata bahasa disebutkan dalam dokumentasi berikut, ini dapat dilihat sebagai pengganti untuk tugas markup teks yang lebih umum. Karena objek yang melakukan iterasi teks menyadari proses markup tertentu yang digunakan untuk itu, pada dasarnya memungkinkan untuk menyempurnakan iterasi untuk kebutuhan proses itu.

Proses pemeriksaan tata bahasa terdiri dari

- satu atau lebih dokumen yang akan diperiksa

- satu atau lebih implementasi pemeriksa tata bahasa, masing-masing mendukung setidaknya satu bahasa.

- satu atau lebih dialog pemeriksaan tata bahasa (paling banyak satu contoh per dokumen)

- satu menu konteks saat mengklik teks yang ditandai sebagai salah

- iterator pemeriksaan tata bahasa global (umum untuk semua dokumen) diimplementasikan sebagai singleton, memeriksa satu kalimat (dari dokumen arbitrer) pada satu waktu.

- satu objek utas per pemeriksa tata bahasa yang digunakan untuk melakukan pemeriksaan tanpa memblokir GUI

- objek mengulang melalui teks dokumen, satu objek yang mewakili satu tugas pemeriksaan tata bahasa yang diminta

- objek yang mewakili blok teks dalam dokumen teks ("paragraf datar") yang abstrak dari struktur beton dokumen dan menyediakan akses ke teks dengan string teks sederhana dan nilai integer yang menjelaskan posisi dan panjang sub string.

 

Objek dan antarmuka mereka

Kami memiliki tiga bagian yang bekerja bersama. Bagian pertama berasal dari dokumen yang diperiksa dan merupakan implementasi yang dikhususkan untuk jenis dokumen tertentu (misalnya Writer atau Calc). Ini merangkum akses ke teks dokumen. Dokumen yang ingin diperiksa kesalahan tata bahasanya harus mendukung antarmuka com.sun.star.text.XFlatParagraphIteratorProvider. Melalui antarmuka ini ia harus dapat menyediakan objek yang mengimplementasikan com.sun.star.text.XFlatParagraphIterator yang dengan sendirinya mengembalikan objek yang mengimplementasikan com.sun.star.text.XFlatParagraph. Antarmuka terakhir berasal dari com.sun.star.text.XTextMarkup. Berikut ini kami akan menyebut objek ini "iterator paragraf datar" (FPIterator) dan "paragraf datar" (FP). Jika kata "paragraf" digunakan, ini juga akan menunjukkan "FP", bukan paragraf asli dalam dokumen karena keduanya tidak selalu sama.

Sebuah FP belum tentu paragraf seperti dalam konteks dokumen, itu bisa menjadi kumpulan dari mereka (misalnya daftar) dan tidak hanya berisi teks aliran tetapi juga konten teks lainnya seperti bingkai teks, header dan footer dll. inti dokumen dapat menangani objek objek FP seperti itu secara efisien. Ini adalah implementasi khusus dokumen. FP tidak mengungkapkan struktur teks internal lengkap atau atributnya, isinya hanya dapat diakses sebagai string yang berisi blok teks lengkap.

FPIterator adalah objek yang memungkinkan untuk beralih melalui semua objek FP yang bersama-sama membentuk konten teks dokumen. Urutan iterasi paragraf bersifat arbitrer dan merupakan detail implementasi dari FPIterator. Konten teks "reguler" biasanya harus disediakan dalam arah membaca, tetapi bagaimana teks lain seperti header dan footer (yang hanya ada sekali tetapi diulang pada setiap halaman) atau bingkai teks (yang dapat disematkan ke dalam teks aliran) adalah tidak ditentukan sebelumnya. Iterasi melalui teks selalu ditugaskan untuk proses markup teks yang akan memperlakukan seluruh dokumen. Dengan demikian iterasi akan membungkus di akhir dokumen dan tidak akan berakhir sebelum semua paragraf ditandai sebagai "diperiksa" untuk proses markup tertentu (seperti pemeriksaan tata bahasa). Paragraf yang ditandai sebagai "dicentang" akan dilewati dalam iterasi. Jadi untuk klien FPIterator, mudah untuk menggunakannya: minta objek FP baru sampai tidak ada yang dikembalikan dan tidak peduli tentang bagaimana penerapannya.

Bagian kedua adalah pemeriksa tata bahasa. Pemeriksa tata bahasa adalah komponen yang mengimplementasikan antarmuka com.sun.star.linguistic2.XGrammarChecker. Untuk setiap bahasa mungkin ada komponen tertentu yang mampu memeriksa kesalahan tata bahasa dalam bahasa tersebut. Konfigurasi akan memberi tahu komponen mana yang bertanggung jawab atas bahasa apa. Implementasi com.sun.star.linguistic2.XGrammarChecker yang mewakili komponen tertentu akan merangkum API "pribadi" dari komponen pemeriksaan tata bahasa ini. Private API ini bisa berbasis UNO atau Java murni, antarmuka CLI atau COM, C API, dll., segala sesuatu yang dapat digunakan atau dijembatani ke dalam implementasi antarmuka UNO. Karena antarmukanya cukup kecil, seharusnya tidak terlalu rumit untuk membungkus pemeriksa tata bahasa yang ada untuk menggunakannya di OpenOffice.org.

Di tengah terletak komponen ketiga, yang menengahi antara dua lainnya. Ini mengimplementasikan "logika" dari proses pemeriksaan tata bahasa. Saat berbicara dengan dua bagian lainnya dengan API UNO yang ditentukan, hanya bagian tengah ini yang independen dari jenis dokumen tertentu atau komponen pemeriksaan tata bahasa. Layanan UNO bernama com.sun.star.linguistic2.GrammarCheckingIterator adalah komponen yang benar-benar melakukan proses pemeriksaan tata bahasa untuk semua skenario yang didukung. Ini adalah singleton yang mengontrol semua proses pemeriksaan tata bahasa yang sedang berjalan dan dengan demikian juga mengetahui semua komponen pemeriksaan tata bahasa yang ada. Ini mengimplementasikan antarmuka com.sun.star.linguistic2.XGrammarCheckingIterator dan juga menyediakan objek yang mengimplementasikan com.sun.star.linguistic2.XGrammarCheckingResultListener. Berikut objek ini akan disebut GCIterator.


Run Chrome Extensions

Ad