Topic: boolean values, binary numbers, and bit strings
Topic: constants
Topic: continuation lines
Topic: immutable files and data
Topic: integer values and operations
Topic: object serialization
Topic: string literals
Topic: string transformation languages
Topic: string operations
Topic: string and list concatenation
Topic: sub-sequences
Topic: suffix trie and suffix array
Topic: text compression
Topic: token
Topic: XML data type
| |
Summary
A string is a sequence of characters. Typically, a string is stored in memory while a file is stored on disk.
A string may have an explicit length, a maximum length, and/or a null terminator. While a null terminator is efficient, it is easily misused.
A string may be immutable. If so a string is a value. Cedar provides ropes (immutable strings) as a fundamental data type.
Strings often serve as an external data format. (cbb 7/06)
Subtopic: string as message
Quote: character strings are important for communicating between modules of a large system [»boehHJ12_1995]
| Subtopic: immutable string
Quote: Cedar ropes are immutable, garbage collected, strings; same as a value [»teitW3_1985]
| Quote: desired properties for strings: immutable strings, long strings, files as strings, efficient non-destructive concatenation and substring operations
| Quote: represent rope/cord as an ordered concatenation tree with flat strings for leaves and shared nodes with other ropes [»boehHJ12_1995]
| Quote: efficient operations on ropes/cords by storing the length of the sub-tree in each node
| Quote: enhancements to ropes/cords: rebalance tree, user-defined functions at leaf nodes, substring nodes
| Quote: Cedar's ropes include replacement nodes, function nodes, substring nodes, traversal by applying user-defined function to each character [»boehHJ12_1995]
| Subtopic: implementation
Quote: NUL-terminated strings important for efficiency; allows fixed-length buffer that holds variable-length strings; problem of overrun [»jimT6_2002]
| Quote: Multics avoids buffer overflow -- PL/I strings have a fixed maximum length; data can not be executed; virtual addresses are segmented; stacks grew up instead of down [»kargPA12_2002]
| Quote: use 7- or 15-bit lengths for hashed strings; string match fails on first character [»zobeJ11_2005]
| Subtopic: strings as concatenation
QuoteRef: sammJE_1969 ;;424 strings of concatenated constituents e.g., t+h+i+s. or this+is+data+.
| QuoteRef: cbb_1973 ;;2/3/75 see a string constant as a string of characters not tokens.
| Subtopic: problems with strings
Quote: strings are poor substitutes for value types, enumerated types, and aggregate types [»blocJ_2001]
|
Related Topics
Topic: boolean values, binary numbers, and bit strings (44 items)
Topic: constants (21 items)
Topic: continuation lines (3 items)
Topic: immutable files and data (59 items)
Topic: integer values and operations (13 items)
Topic: object serialization (13 items)
Topic: string literals (3 items)
Topic: string transformation languages (17 items)
Topic: string operations (20 items)
Topic: string and list concatenation (9 items)
Topic: sub-sequences (13 items)
Topic: suffix trie and suffix array (20 items)
Topic: text compression (17 items)
Topic: token (8 items)
Topic: XML data type (22 items)
|