diff options
author | Joshua Bakita <bakitajoshua@gmail.com> | 2019-10-07 19:13:39 -0400 |
---|---|---|
committer | Joshua Bakita <bakitajoshua@gmail.com> | 2019-10-07 19:13:39 -0400 |
commit | 386b7d3366f1359a265da207a9cafa3edf553b64 (patch) | |
tree | c76120c2c138faed822e4ae386be6ef22a738a78 /all_pairs/source/ammunition/README | |
parent | 54a3f7091a2146b29c73a6fdc4b62a5c4ad7a3d8 (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/README | 86 |
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 @@ | |||
1 | This 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 | ||
77 | corresponding names and extension `.tst'. Documentation of the | ||
78 | reusable 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 | |||
84 | Please send bug reports and comments to vmakarov@fnmail.com | ||
85 | |||
86 | Vladimir Makarov | ||