Annotation of 43BSDReno/pgrm/xstr/xstr.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"    @(#)xstr.1      6.3 (Berkeley) 6/6/90
        !            19: .TH XSTR 1 "June 6, 1990"
        !            20: .UC
        !            21: .SH NAME
        !            22: xstr \- extract strings from C programs to implement shared strings
        !            23: .SH SYNOPSIS
        !            24: .B xstr
        !            25: [
        !            26: .B \-c
        !            27: ] [
        !            28: .B \-
        !            29: ] [
        !            30: file
        !            31: ]
        !            32: .SH DESCRIPTION
        !            33: .I Xstr
        !            34: maintains a file
        !            35: .I strings
        !            36: into which strings in component parts of a large program are hashed.
        !            37: These strings are replaced with references to this common area.
        !            38: This serves to implement shared constant strings, most useful if they
        !            39: are also read-only.
        !            40: .PP
        !            41: The command
        !            42: .PP
        !            43: .DT
        !            44:        \fBxstr \-c\fR name
        !            45: .PP
        !            46: will extract the strings from the C source in name, replacing
        !            47: string references by expressions of the form (&xstr[number])
        !            48: for some number.
        !            49: An appropriate declaration of
        !            50: .I xstr
        !            51: is prepended to the file.
        !            52: The resulting C text is placed in the file
        !            53: .I x.c,
        !            54: to then be compiled.
        !            55: The strings from this file are placed in the
        !            56: .I strings
        !            57: data base if they are not there already.
        !            58: Repeated strings and strings which are suffices of existing strings
        !            59: do not cause changes to the data base.
        !            60: .PP
        !            61: After all components of a large program have been compiled a file
        !            62: .I xs.c
        !            63: declaring the common
        !            64: .I xstr
        !            65: space can be created by a command of the form
        !            66: .PP
        !            67: .DT
        !            68:        \fBxstr\fR
        !            69: .PP
        !            70: This
        !            71: .I xs.c
        !            72: file should then be compiled and loaded with the rest
        !            73: of the program.
        !            74: If possible, the array can be made read-only (shared) saving
        !            75: space and swap overhead.
        !            76: .PP
        !            77: .I Xstr
        !            78: can also be used on a single file.
        !            79: A command
        !            80: .PP
        !            81: .DT
        !            82:        \fBxstr\fR name
        !            83: .PP
        !            84: creates files
        !            85: .I x.c
        !            86: and
        !            87: .I xs.c
        !            88: as before, without using or affecting any
        !            89: .I strings
        !            90: file in the same directory.
        !            91: .PP
        !            92: It may be useful to run
        !            93: .I xstr
        !            94: after the C preprocessor if any macro definitions yield strings
        !            95: or if there is conditional code which contains strings
        !            96: which may not, in fact, be needed.
        !            97: .I Xstr
        !            98: reads from its standard input when the argument `\-' is given.
        !            99: An appropriate command sequence for running
        !           100: .I xstr
        !           101: after the C preprocessor is:
        !           102: .PP
        !           103: .nf
        !           104: .DT
        !           105:        \fBcc \-E\fR name.c | \fBxstr \-c\fR \-
        !           106:        \fBcc \-c\fR x.c
        !           107:        \fBmv\fR x.o name.o
        !           108: .fi
        !           109: .PP
        !           110: .I Xstr
        !           111: does not touch the file
        !           112: .I strings
        !           113: unless new items are added, thus
        !           114: .I make
        !           115: can avoid remaking
        !           116: .I xs.o
        !           117: unless truly necessary.
        !           118: .SH FILES
        !           119: .DT
        !           120: strings                Data base of strings
        !           121: .br
        !           122: x.c            Massaged C source
        !           123: .br
        !           124: xs.c           C source for definition of array `xstr'
        !           125: .br
        !           126: /tmp/xs*       Temp file when `xstr name' doesn't touch
        !           127: .I strings
        !           128: .SH "SEE ALSO"
        !           129: mkstr(1)
        !           130: .SH BUGS
        !           131: If a string is a suffix of another string in the data base,
        !           132: but the shorter string is seen first by
        !           133: .I xstr
        !           134: both strings will be placed in the data base, when just
        !           135: 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.