summaryrefslogtreecommitdiffstats
path: root/all_pairs/source/ammunition/README
diff options
context:
space:
mode:
authorJoshua Bakita <bakitajoshua@gmail.com>2019-10-07 19:13:39 -0400
committerJoshua Bakita <bakitajoshua@gmail.com>2019-10-07 19:13:39 -0400
commit386b7d3366f1359a265da207a9cafa3edf553b64 (patch)
treec76120c2c138faed822e4ae386be6ef22a738a78 /all_pairs/source/ammunition/README
parent54a3f7091a2146b29c73a6fdc4b62a5c4ad7a3d8 (diff)
Reorganize and commit all the modified TACLeBench code and run scripts
Diffstat (limited to 'all_pairs/source/ammunition/README')
-rw-r--r--all_pairs/source/ammunition/README86
1 files changed, 86 insertions, 0 deletions
diff --git a/all_pairs/source/ammunition/README b/all_pairs/source/ammunition/README
new file mode 100644
index 0000000..8caddf4
--- /dev/null
+++ b/all_pairs/source/ammunition/README
@@ -0,0 +1,86 @@
1This directory AMMUNITION contains reusable packages on C/C++:
2`allocate', `vlobject', `objstack', `hashtab', `commline', `ticker',
3`position', `errors', `bits', `arithm', `IEEE':
4 o allocate
5 Allocating and freeing memory with automatic fixing some
6 allocation errors.
7 o vlobject
8 Work with variable length objects (VLO). Any number of bytes
9 may be added to and removed from the end of VLO. If it is
10 needed the memory allocated for storing variable length object
11 may be expanded possibly with changing the object place. But
12 between any additions of the bytes (or tailoring) the object
13 place is not changed. To decrease number of changes of the
14 object place the memory being allocated for the object is
15 longer than the current object length.
16 o objstack
17 Work with stacks of objects (OS). Work with the object on the
18 stack top is analogous to one with a variable length object.
19 One motivation for the package is the problem of growing char
20 strings in symbol tables. Memory for OS is allocated by
21 segments. A segment may contain more one objects. The most
22 recently allocated segment contains object on the top of OS.
23 If there is not sufficient free memory for the top object than
24 new segment is created and the top object is transferred into
25 the new segment, i.e. there is not any memory reallocation.
26 Therefore the top object may change its address. But other
27 objects never change address.
28 o hashtab
29 Work with hash tables. The package permits to work
30 simultaneously with several expandable hash tables. Besides
31 insertion and search of elements the elements from the hash
32 tables can be also removed. The table element can be only a
33 pointer. The size of hash tables is not fixed. The hash
34 table will be automatically expanded when its occupancy will
35 became big.
36 o position
37 Work with source code positions. The package serves to
38 support information about source positions of compiled files
39 taking all included files into account.
40 o errors
41 Output of compiler messages. The package serves output
42 one-pass or multi-pass compiler messages of various modes
43 (errors, warnings, fatal, system errors and appended messages)
44 in Unix style or for traditional listing. The package also
45 permits adequate error reporting for included files.
46 o commline
47 Work with command line. The package implements features
48 analogous to ones of public domain function `getopt'. The
49 goal of the package creation is to use more readable language
50 of command line description and to use command line
51 description as help output of program.
52 o ticker
53 Simultaneous work with several tickers (timers).
54 o bits
55 Work with bit strings (copying, moving, setting, testing,
56 comparison).
57 o arithm
58 Implementing host machine-independently arbitrary precision
59 integer numbers arithmetic. The implementation of the package
60 functions are not sufficiently efficient in order to use for
61 run-time. The package functions are oriented to implement
62 constant-folding in compilers, cross-compilers.
63 o IEEE
64 Implementing host machine-independently IEEE floating point
65 arithmetic. The implementation of the package functions are
66 not sufficiently efficient in order to use for run-time. The
67 package functions are oriented to implement constant-folding
68 in compilers, cross-compilers.
69
70 There are files with corresponding names and extensions `.h'
71(interface file for C/C++), `.c' (implementation file on C), and
72`.cpp' (implementation file on C++).
73
74 To install AMMUNITION see file INSTALL in the current directory.
75
76 There are also shell scripts for testing the package with
77corresponding names and extension `.tst'. Documentation of the
78reusable packages is in files `ammunition.txt', `ammunition.dvi',
79`ammunition.ps', `ammunition.info*', `ammunition*.html',
80`ammunition*.rtf' for C and `ammunition++.txt', `ammunition++.dvi',
81`ammunition++.ps', `ammunition++.info*', `ammunition++*.html',
82`ammunition++*.rtf'.
83
84Please send bug reports and comments to vmakarov@fnmail.com
85
86Vladimir Makarov