From 386b7d3366f1359a265da207a9cafa3edf553b64 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Mon, 7 Oct 2019 19:13:39 -0400 Subject: Reorganize and commit all the modified TACLeBench code and run scripts --- all_pairs/source/ammunition/README | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 all_pairs/source/ammunition/README (limited to 'all_pairs/source/ammunition/README') 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 @@ +This directory AMMUNITION contains reusable packages on C/C++: +`allocate', `vlobject', `objstack', `hashtab', `commline', `ticker', +`position', `errors', `bits', `arithm', `IEEE': + o allocate + Allocating and freeing memory with automatic fixing some + allocation errors. + o vlobject + Work with variable length objects (VLO). Any number of bytes + may be added to and removed from the end of VLO. If it is + needed the memory allocated for storing variable length object + may be expanded possibly with changing the object place. But + between any additions of the bytes (or tailoring) the object + place is not changed. To decrease number of changes of the + object place the memory being allocated for the object is + longer than the current object length. + o objstack + Work with stacks of objects (OS). Work with the object on the + stack top is analogous to one with a variable length object. + One motivation for the package is the problem of growing char + strings in symbol tables. Memory for OS is allocated by + segments. A segment may contain more one objects. The most + recently allocated segment contains object on the top of OS. + If there is not sufficient free memory for the top object than + new segment is created and the top object is transferred into + the new segment, i.e. there is not any memory reallocation. + Therefore the top object may change its address. But other + objects never change address. + o hashtab + Work with hash tables. The package permits to work + simultaneously with several expandable hash tables. Besides + insertion and search of elements the elements from the hash + tables can be also removed. The table element can be only a + pointer. The size of hash tables is not fixed. The hash + table will be automatically expanded when its occupancy will + became big. + o position + Work with source code positions. The package serves to + support information about source positions of compiled files + taking all included files into account. + o errors + Output of compiler messages. The package serves output + one-pass or multi-pass compiler messages of various modes + (errors, warnings, fatal, system errors and appended messages) + in Unix style or for traditional listing. The package also + permits adequate error reporting for included files. + o commline + Work with command line. The package implements features + analogous to ones of public domain function `getopt'. The + goal of the package creation is to use more readable language + of command line description and to use command line + description as help output of program. + o ticker + Simultaneous work with several tickers (timers). + o bits + Work with bit strings (copying, moving, setting, testing, + comparison). + o arithm + Implementing host machine-independently arbitrary precision + integer numbers arithmetic. The implementation of the package + functions are not sufficiently efficient in order to use for + run-time. The package functions are oriented to implement + constant-folding in compilers, cross-compilers. + o IEEE + Implementing host machine-independently IEEE floating point + arithmetic. The implementation of the package functions are + not sufficiently efficient in order to use for run-time. The + package functions are oriented to implement constant-folding + in compilers, cross-compilers. + + There are files with corresponding names and extensions `.h' +(interface file for C/C++), `.c' (implementation file on C), and +`.cpp' (implementation file on C++). + + To install AMMUNITION see file INSTALL in the current directory. + + There are also shell scripts for testing the package with +corresponding names and extension `.tst'. Documentation of the +reusable packages is in files `ammunition.txt', `ammunition.dvi', +`ammunition.ps', `ammunition.info*', `ammunition*.html', +`ammunition*.rtf' for C and `ammunition++.txt', `ammunition++.dvi', +`ammunition++.ps', `ammunition++.info*', `ammunition++*.html', +`ammunition++*.rtf'. + +Please send bug reports and comments to vmakarov@fnmail.com + +Vladimir Makarov -- cgit v1.2.2