summaryrefslogtreecommitdiff
path: root/README
blob: e0049acf4857f2336d33556c0322404914a27102 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
LibParserUtils -- a utility library for parser building
=======================================================

Overview
--------

  LibParserUtils provides various pieces of functionality that are useful
  when writing parsers.

Requirements
------------

  LibParserUtils requires the following tools:

    + A C99 capable C compiler
    + GNU make or compatible
    + Perl (for the testcases)
    + Pkg-config (for the testcases)
    + doxygen (for the API documentation)

  For enhanced charset support, LibParserUtils may also be configured to use
  an iconv() implementation, see the "Enabling iconv() support" section, below.

Compilation
-----------

  If necessary, modify the toolchain settings in the Makefile.
  Invoke make:
  		$ make

Verification
------------

  To verify that the parser is working, it is necessary to specify a 
  different makefile target than that used for normal compilation, thus:
  
  		$ make test

API documentation
-----------------

  Currently, there is none. However, the code is well commented and the 
  public API may be found in the "include" directory. The testcase sources 
  may also be of use in working out how to use it.

  Additionally, you can use doxygen to auto-generate API documentation, thus:

  		$ make docs

  Then open the build/docs/html/index.html file in a web browser.

Enabling iconv() support
------------------------

  By default, libparserutils only supports the following character sets:

    + UTF-16 (platform-native endian)
    + UTF-8
    + ISO-8859-n
    + Windows-125n
    + US-ASCII

  Support for more character sets may be enabled through the use of iconv().
  To enable iconv() support in libparserutils, do the following:

  		$ echo "CFLAGS += -DWITH_ICONV_FILTER" \
				>build/Makefile.config.override

  Then build libparserutils as normal.

A note on character set aliases
-------------------------------

  Libparserutils uses an external mapping file to encode relationships between
  character set names. This is the "Aliases" file. A copy may be found at
  test/data/Aliases. The path to this file is required when calling
  parserutils_initialise().