GNU Dico Manual Version 2.10, 4 September 2020
Total Page:16
File Type:pdf, Size:1020Kb
GNU Dico Manual version 2.10, 4 September 2020 Sergey Poznyakoff. Published by the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Copyright c 2008–2020 Sergey Poznyakoff Permission is granted to copy, distribute and/or modify this document un- der the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover, and no Back-Cover texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. D´edi´e`ala m´emoire de Jacques Brel. i Short Contents Preface ................................................. 1 1 Overview ............................................ 3 2 Introduction to GNU Dico .............................. 5 3 Building the Package .................................. 7 4 The dicod daemon. ................................... 9 5 Modules ............................................ 43 6 Dico Module Interface ................................ 71 7 Dico — a client program. .............................. 81 8 GCIDER ........................................... 99 9 How to Report a Bug ................................ 101 A Available Strategies ................................. 103 B Dictionary Server Protocol ............................ 105 C Time and Date Formats .............................. 113 D The Libdico Library ................................. 117 E GNU Free Documentation License ...................... 133 Concept Index ......................................... 143 iii Table of Contents Preface .............................................. 1 1 Overview ........................................ 3 2 Introduction to GNU Dico..................... 5 3 Building the Package ........................... 7 3.1 Default Preprocessor ........................................... 7 3.2 Default Server ................................................. 7 3.3 Guile Support.................................................. 8 3.4 Python Support ................................................ 8 3.5 Other Configure Settings ....................................... 8 4 The dicod daemon. ............................. 9 4.1 Daemon Operation Mode....................................... 9 4.2 Inetd Operation Mode.......................................... 9 4.3 Configuration ................................................. 10 4.3.1 Configuration File Syntax ................................ 10 4.3.1.1 Comments .......................................... 10 4.3.1.2 Pragmatic Comments................................ 10 4.3.1.3 Statements .......................................... 11 4.3.2 Server Settings ........................................... 14 4.3.3 Authentication ........................................... 16 4.3.3.1 Text Authentication Database ....................... 18 4.3.3.2 LDAP Databases. ................................... 19 4.3.4 SASL Authentication..................................... 20 4.3.5 Access Control Lists...................................... 21 4.3.6 Security Settings ......................................... 23 4.3.7 Logging and Debugging .................................. 24 4.3.8 Access Log ............................................... 24 4.3.9 General Settings ......................................... 26 4.3.10 Server Capabilities ...................................... 28 4.3.11 Database Modules and Handlers......................... 28 4.3.12 Databases............................................... 30 4.3.12.1 Database Visibility ................................. 32 4.3.12.2 Virtual Databases .................................. 33 4.3.13 Strategies and Default Searches ......................... 35 4.3.14 Tuning.................................................. 36 4.3.15 Command Aliases ....................................... 36 4.3.16 Using Preprocessor to Improve the Configuration. ....... 37 iv GNU Dico Manual 4.4 Dicod Exit Codes ............................................. 38 4.5 Dicod Invocation.............................................. 39 4.5.1 Dicod Operation Mode ................................... 39 4.5.2 Informational Options .................................... 40 4.5.3 Modifier Options ......................................... 40 4.5.4 Preprocessor Control ..................................... 41 4.5.5 Debugging Options ....................................... 41 5 Modules ........................................ 43 5.1 Outline ...................................................... 43 5.2 Dictorg ...................................................... 44 5.3 Gcide......................................................... 45 5.3.1 idxgcide ................................................ 46 5.4 Wordnet ...................................................... 47 5.5 Guile......................................................... 50 5.5.1 Virtual Functions ........................................ 51 5.5.2 Guile Initialization ....................................... 52 5.5.3 Guile API................................................ 52 5.5.4 Dico Scheme Primitives .................................. 55 5.5.5 Example Module ......................................... 56 5.6 Python ....................................................... 59 5.6.1 Python Dictionary Class ................................. 60 5.6.2 Dico Python Primitives .................................. 61 5.6.2.1 The DicoSelectionKey class ........................ 62 5.6.2.2 The DicoStrategy class ............................. 62 5.6.3 Python Example ......................................... 62 5.7 Stratall ..................................................... 66 5.8 Substr ....................................................... 66 5.9 Word .......................................................... 66 5.10 Nprefix ..................................................... 67 5.11 metaphone2.................................................. 67 5.12 Pcre......................................................... 68 5.13 Ldap......................................................... 68 5.14 pam .......................................................... 68 6 Dico Module Interface ........................ 71 6.1 dico database module ......................................... 71 6.2 Strategies ..................................................... 74 6.2.1 Search Key Structure..................................... 75 6.2.2 Strategy Selectors ........................................ 76 6.3 Output ....................................................... 77 6.4 Module Unit Testing .......................................... 78 v 7 Dico — a client program. ..................... 81 7.1 Single Query Mode............................................ 81 7.1.1 Dico Command Line Options ............................. 81 7.1.2 DICT URL .............................................. 82 7.2 Interactive Mode .............................................. 83 7.2.1 Server Commands ........................................ 84 7.2.2 Database and Strategy ................................... 85 7.2.3 Informational Commands................................. 86 7.2.4 History Commands....................................... 86 7.2.5 Pager .................................................... 87 7.2.6 Program Settings......................................... 87 7.2.7 Session Transcript ........................................ 88 7.2.8 Other Commands ........................................ 89 7.2.9 Dico Command Summary ................................ 89 7.3 Initialization File.............................................. 91 7.4 Autologin ..................................................... 92 7.5 Dico invocation ............................................... 94 8 GCIDER ....................................... 99 9 How to Report a Bug........................ 101 Appendix A Available Strategies ............. 103 Appendix B Dictionary Server Protocol ..... 105 B.1 Initial Reply................................................. 105 B.2 Standard Commands ........................................ 105 B.2.1 The DEFINE Command ................................ 105 B.2.2 The MATCH Command ................................ 106 B.2.3 The SHOW Command.................................. 107 B.2.4 The OPTION Command ............................... 108 B.2.5 The AUTH Command .................................. 109 B.2.6 The CLIENT Command ................................ 109 B.2.7 The STATUS Command ................................ 109 B.2.8 The HELP Command .................................. 109 B.2.9 The QUIT Command ................................... 110 B.3 Extended Commands ........................................ 110 Appendix C Time and Date Formats ........ 113 vi GNU Dico Manual Appendix D The Libdico Library ............ 117 D.1 Strategies ................................................... 117 D.2 argcv........................................................ 117 D.3 Lists ........................................................ 118 D.4 Associative lists ............................................. 120 D.5 Diagnostics Functions ....................................... 120 D.6 Filter ....................................................... 121 D.7 parseopt .................................................... 122 D.8 stream ...................................................... 123 D.9 url .......................................................... 125 D.10 UTF-8 ..................................................... 126 D.10.1