GOALS.txt 1.4 KB

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