Natools

Check-in [41ff0e3319]
Login
Overview
Comment:Update LICENSE and add README
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 41ff0e3319fab7a4b96908d508e96391002dae2a
User & Date: nat on 2014-07-09 17:52:16
Other Links: manifest | tags
Context
2014-07-10
18:27
references: add constructors with user-provided access value, to allow zero-copy initialization of non-limited types check-in: 55bbe4642d user: nat tags: trunk
2014-07-09
17:52
Update LICENSE and add README check-in: 41ff0e3319 user: nat tags: trunk
2014-07-03
18:05
hmac-pinentry: new POSIX-only package to retrieve HMAC key using pinentry protocol check-in: 9b0bfa42ad user: nat tags: trunk
Changes

Modified LICENSE from [2217aef851] to [8425aa3941].

1

2
3
4
5
6
7
8
9
10
11
12
13

1
2
3
4
5
6
7
8
9
10
11
12
13
-
+












Copyright (c) 2011, Natacha Porté
Copyright (c) 2011-2014, Natacha Porté

Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Added README.md version [cd8ba4d754].



















































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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
# Natools

This library gather all reusable packages written by Natasha Kerensikova
that are too small to fit in a project by themselves.

It contains the following package hierarchy:

  - `Accumulators`: an interface for string accumulator objects and stacks
    of accumulators
      - `String_Accumulator_Linked_Lists`: a basic implementation of an
        accumulator stack using a reference accumulator
  - `Chunked_Strings`: an implementation of unbounded strings backed by
    non-contiguous fixed-size chunks of memory
  - `Cron`: a simple low-precision service of periodic events
  - `Getopt_Long`: command-line argument processing similar to C `getopt_long`
  - `GNAT_HMAC`: instances of `HMAC` using GNAT hash primitives
  - `HMAC`: generic HMAC implementation using a formal hash function
  - `Indefinite_Holders`: simple Ada 2005 implementation of the
     Ada 2012 container
  - `References`: generic simple reference-counter implementation
  - `S-expressions`: library for dealing with [S-expressions][1]
      - `Atom_Buffers`: dynamic buffer for S-expression atoms
      - `Atom_Refs`: common reference-counted atoms
      - `Dynamic_Interpreters`: S-expression interpreter with mutable
        commands and callbacks
      - `Encodings`: translators to and from official S-expression encodings
      - `File_Readers`: objects reading a file to an atom or a S-expression
      - `File_Writers`: file-backed S-expression printer
      - `Generic_Caches`: memory container for S-expressions
      - `Interpeter_Loop`: inner loop of S-expression interpreters,
        typically used in static interpreters
      - `Interpreters`: callback-based S-expressions interpreter
      - `Lockable`: interface for S-expressions descriptors that can be
        temporarily restricted to a given nesting level
      - `Parsers`: S-expression descriptor from a byte stream
      - `Printers`: interface for objects to which S-expressions are written
          - `Pretty`: human-friendly S-expression pretty printer
              - `Config`: serialization and deserialization of pretty printer
                parameters to and from S-expressions
  - `Static_Hash_Maps`: code generator around GNAT `Perfect_Hash_Generators`
    to build a static hash map
      - `S_Expressions`: read S-expression description of static hash map
  - `Storage_Pools`: helper objects with dynamic memory management
  - `String_Slices`: objects hold slices of reference-counted shared strings
      - `Slice_Sets`: sets of aforementionned slices
  - `Tests`: very simple test framework
      - `Text_IO`: test output using standard `Ada.Text_IO`


[1]: http://people.csail.mit.edu/rivest/Sexp.txt