Added some initial documentation.
[gedcom-parse.git] / README
1 The Gedcom parser library (release @VERSION@)
2 -------------------------
3 The Gedcom parser library is a C library that provides an API to applications
4 to parse and process arbitrary genealogy files in the standard gedcom format.
5
6 Its main features are:
7
8  - strict callback-based parser written in C (using lex/yacc)
9
10  - supports the Gedcom 5.5 standard fully
11
12  - supports the standard encoding formats (ASCII, ANSEL, UNICODE), but
13    extensible (via a configuration file) to other encoding formats; by
14    default ANSI is also supported.
15
16  - all strings passed from callbacks to the using program are in UTF-8 format
17
18  - internationalization of the error and warning messages
19
20  - specific parsing of date values to a calendar-neutral date system (Julian
21    days aka serial day numbers); the date parser can be called separately
22
23  - provisions for "compatibility-mode" parsing, to allow for not-exactly-
24    standard syntaxes used by other genealogy programs (only the hooks are
25    in at the moment, not the actual compatibility)
26
27 NOTE:
28  - NO BACKWARD COMPATIBILITY is guaranteed for 0.x releases !
29
30 To do list:
31  - specific parsing and checking of cross-references
32  - specific parsing of other special values
33  - C++ interface
34  - compatibility with other genealogy programs
35  - older/newer Gedcom standards ?
36  - ...
37
38 For more information, refer to the documentation in the doc subdirectory,
39 or to the SourceForge project web site and summary page:
40   http://gedcom-parse.sourceforge.net
41   http://sourceforge.net/projects/gedcom-parse
42
43 Also, have a look at the 'Genes' program, from which this library is a
44 spin-off, and which intends to use this library:
45   http://genes.sourceforge.net
46   http://sourceforge.net/projects/genes
47
48
49 Requirements:
50 ------------
51  - glibc 2.2 or higher
52
53 To build from sources, you'll also need:
54  - gcc
55  - autoconf
56  - automake
57  - flex
58  - bison (won't work with plain yacc)
59
60 It is possible that it also runs on other platforms than Linux (and that the
61 glibc version requirement can be loosened), however, I can only support Linux
62 because that is the only platform I have...
63
64
65 Installation:
66 ------------
67 This is simply:
68
69   ./configure
70   make
71   make install
72
73 You can also run some tests via:
74   make check
75
76
77 ###############################################################################
78 # $Id$
79 # $Name$