-
Notifications
You must be signed in to change notification settings - Fork 407
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert README.cords to Markdown format
* CMakeLists.txt [enable_docs] (FILES): Install `cords.md` instead of `README.cords`. * Makefile.am (docdocsdir): Replace `README.cords` to `cords.md`. * README.md (Overview): Likewise. * docs/overview.md (Some Collector Details, Documentation files): Likewise. * docs/README.cords: rename to `cords.md`; convert file contents from text to Markdown format.
- Loading branch information
Showing
6 changed files
with
48 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Cords package | ||
|
||
Cords package (also known as "cord library") is a string package that uses | ||
a tree-based representation. | ||
|
||
See `cord.h` for a description of the basic functions provided. And, `ec.h` | ||
describes "extensible cords", those are essentially output streams that write | ||
to a cord; these allow for efficient construction of cords without requiring | ||
a bound on the size of a cord. | ||
|
||
The `cord` library is built along with `gc` library by default unless manually | ||
disabled (e.g., in case of cmake-based build, unless `-Dbuild_cord=OFF` option | ||
is passed to `cmake`). | ||
|
||
More details on the data structure can be found in: | ||
|
||
|
||
Boehm, Atkinson, and Plass, "Ropes: An Alternative to Strings", | ||
Software Practice and Experience 25, 12, December 1995, pp. 1315-1330. | ||
|
||
|
||
A fundamentally similar "rope" data structure is also part of SGI's standard | ||
template library implementation, and its descendants, which include the | ||
GNU C++ library. That uses reference counting by default. There is a short | ||
description of that data structure in | ||
[Rope Implementation Overview](http://www.sgi.com/tech/stl/ropeimpl.html). | ||
|
||
All of these are descendants of the "ropes" in Xerox Cedar. | ||
|
||
`cord/tests/de.c` is a very dumb text editor that illustrates the use of | ||
cords. It maintains a list of file versions. Each version is simply a cord | ||
representing the file contents. Nonetheless, standard editing operations are | ||
efficient, even on very large files. (Its 3-line "user manual" can be | ||
obtained by invoking it without arguments. Note that `^R^N` and `^R^P` move | ||
the cursor by almost a screen. It does not understand tabs, which will show | ||
up as highlighted "I"s. Use the UNIX `expand` program first.) To build the | ||
editor, type `make de` in the bdwgc root directory. | ||
|
||
Note that `CORD_printf` and friends use C functions with variable numbers | ||
of arguments in non-standard-conforming ways. This code is known to break on | ||
some platforms, notably PowerPC. It should be possible to build the remainder | ||
of the library (everything but `cordprnt.c`) on any platform that supports the | ||
collector. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters