Annotation of 43BSDTahoe/man/man1/xstr.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)xstr.1      6.2 (Berkeley) 5/7/86
        !             6: .\"
        !             7: .TH XSTR 1 "May 7, 1986"
        !             8: .UC
        !             9: .SH NAME
        !            10: xstr \- extract strings from C programs to implement shared strings
        !            11: .SH SYNOPSIS
        !            12: .B xstr
        !            13: [
        !            14: .B \-c
        !            15: ] [
        !            16: .B \-
        !            17: ] [
        !            18: file
        !            19: ]
        !            20: .SH DESCRIPTION
        !            21: .I Xstr
        !            22: maintains a file
        !            23: .I strings
        !            24: into which strings in component parts of a large program are hashed.
        !            25: These strings are replaced with references to this common area.
        !            26: This serves to implement shared constant strings, most useful if they
        !            27: are also read-only.
        !            28: .PP
        !            29: The command
        !            30: .PP
        !            31: .DT
        !            32:        \fBxstr \-c\fR name
        !            33: .PP
        !            34: will extract the strings from the C source in name, replacing
        !            35: string references by expressions of the form (&xstr[number])
        !            36: for some number.
        !            37: An appropriate declaration of
        !            38: .I xstr
        !            39: is prepended to the file.
        !            40: The resulting C text is placed in the file
        !            41: .I x.c,
        !            42: to then be compiled.
        !            43: The strings from this file are placed in the
        !            44: .I strings
        !            45: data base if they are not there already.
        !            46: Repeated strings and strings which are suffices of existing strings
        !            47: do not cause changes to the data base.
        !            48: .PP
        !            49: After all components of a large program have been compiled a file
        !            50: .I xs.c
        !            51: declaring the common
        !            52: .I xstr
        !            53: space can be created by a command of the form
        !            54: .PP
        !            55: .DT
        !            56:        \fBxstr\fR
        !            57: .PP
        !            58: This
        !            59: .I xs.c
        !            60: file should then be compiled and loaded with the rest
        !            61: of the program.
        !            62: If possible, the array can be made read-only (shared) saving
        !            63: space and swap overhead.
        !            64: .PP
        !            65: .I Xstr
        !            66: can also be used on a single file.
        !            67: A command
        !            68: .PP
        !            69: .DT
        !            70:        \fBxstr\fR name
        !            71: .PP
        !            72: creates files
        !            73: .I x.c
        !            74: and
        !            75: .I xs.c
        !            76: as before, without using or affecting any
        !            77: .I strings
        !            78: file in the same directory.
        !            79: .PP
        !            80: It may be useful to run
        !            81: .I xstr
        !            82: after the C preprocessor if any macro definitions yield strings
        !            83: or if there is conditional code which contains strings
        !            84: which may not, in fact, be needed.
        !            85: .I Xstr
        !            86: reads from its standard input when the argument `\-' is given.
        !            87: An appropriate command sequence for running
        !            88: .I xstr
        !            89: after the C preprocessor is:
        !            90: .PP
        !            91: .nf
        !            92: .DT
        !            93:        \fBcc \-E\fR name.c | \fBxstr \-c\fR \-
        !            94:        \fBcc \-c\fR x.c
        !            95:        \fBmv\fR x.o name.o
        !            96: .fi
        !            97: .PP
        !            98: .I Xstr
        !            99: does not touch the file
        !           100: .I strings
        !           101: unless new items are added, thus
        !           102: .I make
        !           103: can avoid remaking
        !           104: .I xs.o
        !           105: unless truly necessary.
        !           106: .SH FILES
        !           107: .DT
        !           108: strings                Data base of strings
        !           109: .br
        !           110: x.c            Massaged C source
        !           111: .br
        !           112: xs.c           C source for definition of array `xstr'
        !           113: .br
        !           114: /tmp/xs*       Temp file when `xstr name' doesn't touch
        !           115: .I strings
        !           116: .SH "SEE ALSO"
        !           117: mkstr(1)
        !           118: .SH BUGS
        !           119: If a string is a suffix of another string in the data base,
        !           120: but the shorter string is seen first by
        !           121: .I xstr
        !           122: both strings will be placed in the data base, when just
        !           123: placing the longer one there will do.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.