;;;; This file is part of Ellinika
;;;; Copyright (C) 2004 Sergey Poznyakoff
;;;;
;;;; Ellinika is free software; you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
;;;; the Free Software Foundation; either version 2 of the License, or
;;;; (at your option) any later version.
;;;;
;;;; Ellinika is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with Ellinika; if not, write to the Free Software
;;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;;;;
;;;; Dictionary structure
;;;; Internal representation:
;;;;
;;;; * Each dictionary entry is represented as a vector:
;;;;
;;;; #(KEY FORMS XREF P-LIST)
;;;;
;;;; KEY is list of strings
;;;;
;;;; * FORMS is either #f or a string describing forms of the key if they
;;;; are formed in an irregular manner.
;;;;
;;;; * XREF is a list of cross-references
;;;;
;;;; * P-LIST is a list of P-ARTICLES. Each P-ARTICLE is a vector:
;;;;
;;;; #(POS ARTICLE AREF XREF TOPIC)
;;;;
;;;; Member Type Meaning
;;;; POS string part of speech
;;;; ARTICLE list(string) Dictionary article associated with this key/pos
;;;; AREF list(string) List of antonyms
;;;; XREF list(string) List of cross-references
;;;; TOPIC list(string) List of topics this item pertains to
;;;;
;;;;
;;;; External representation (XML):
;;;;
;;;;
;;;; string+
;;;; [string]
;;;;
+
;;;; string*
;;;;
;;;;
;;;; If only one P entry is present, the following alternative forms
;;;; are understood:
;;;;
;;;;
;;;; string+
;;;; [string]
;;;;