blob: 1ed9037db0a2e9b917655371a9c2cf157d275f71 (
plain) (
blame)
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
|
== Requirements ==
(1) URI parser fully conforming to the
latest URI RFC. Currently this is RFC 3986:
http://tools.ietf.org/html/rfc3986
(2) Based on an LL(1) grammar, at least mainly.
Not using a jump table but one function per
rule instead.
(3) Library licensed under "New BSD license".
http://www.opensource.org/licenses/bsd-license.php
Test suite code licensed under LGPL.
http://www.opensource.org/licenses/lgpl-license.php
(4) Written in ANSI/ISO C.
(5) Portable. Must compile with GCC, MinGW,
Visual Studio 200[35].
(6) "OOP-C" -> thread safe, no shared globals
between two parser "instances"
(7) Support for <char> and <wchar_t> without internal
conversion. Two versions of all functions
from the public interface.
(8) Doxygen Code documentation at least for all
interface functions and structures.
http://www.stack.nl/~dimitri/doxygen/index.html
(9) Sun Java code conventions for all C/C++ code.
http://java.sun.com/docs/codeconv/
(10) #include "xxx" for files in same folder.
#include <xxx> for files from include folders.
(11) Use GoogleTest for unit testing.
https://github.com/google/googletest
(12) Implement algorithm for reference resolution
(13) Implement algorithm for normalization and
comparison
== Optional goals ==
(A) C++ Wrapper classes (uriparser++?)
|