Annotation of researchv10dc/dist/man/v4/man1/dc.1, revision 1.1

1.1     ! root        1: .th DC I 1/15/73
        !             2: .sh NAME
        !             3: dc \*- desk calculator
        !             4: .sh SYNOPSIS
        !             5: .bd dc
        !             6: [ file ]
        !             7: .sh DESCRIPTION
        !             8: .it Dc
        !             9: is an arbitrary precision integer arithmetic package.
        !            10: The overall structure of
        !            11: .it dc
        !            12: is
        !            13: a stacking (reverse Polish) calculator.
        !            14: The following constructions are recognized
        !            15: by the calculator:
        !            16: .s3
        !            17: .lp +10 10
        !            18: number The value of the number is pushed on the stack.
        !            19: A number is an unbroken string of the digits 0-9.
        !            20: It may be preceded by an underscore \*_ to input a
        !            21: negative number.
        !            22: .s3
        !            23: .lp +10 10
        !            24: +|\*-|*|/|%|^  The top two values on the stack are added
        !            25: (+),
        !            26: subtracted
        !            27: (\*-),
        !            28: multiplied (*),
        !            29: divided (/),
        !            30: remaindered (%),
        !            31: or exponentiated (^).
        !            32: The two entries are popped off the stack;
        !            33: the result is pushed on the stack in their place.
        !            34: .s3
        !            35: .lp +10 10
        !            36: \fBs\fIx\fR    The
        !            37: top of the stack is popped and stored into
        !            38: a register named
        !            39: .it x,
        !            40: where
        !            41: .it x
        !            42: may be any character.
        !            43: .s3
        !            44: .lp +10 10
        !            45: \fBl\fIx\fR    The
        !            46: value in register
        !            47: .it x
        !            48: is pushed on the stack.
        !            49: The register
        !            50: .it x
        !            51: is not altered.
        !            52: All registers start with zero value.
        !            53: .s3
        !            54: .lp +10 10
        !            55: \fBd\fR        The top value on the stack is pushed on the stack.
        !            56: Thus the top value is duplicated.
        !            57: .s3
        !            58: .lp +10 10
        !            59: \fBp\fR        The top value on the stack is printed.
        !            60: The top value remains unchanged.
        !            61: .s3
        !            62: .lp +10 10
        !            63: \fBf\fR        All values on the stack and in registers are printed.
        !            64: .s3
        !            65: .lp +10 10
        !            66: \fBq\fR        exits the program. If executing a string, the nesting level is
        !            67: popped by two.
        !            68: .s3
        !            69: .lp +10 10
        !            70: \fBx\fR        treats the top element of the stack as a character string
        !            71: and executes it as a string of dc commands.
        !            72: .s3
        !            73: .lp +10 10
        !            74: \fB[|...|]\fR  puts the bracketed ascii string onto the top of the stack.
        !            75: .s3
        !            76: .lp +10 10
        !            77: \fI<x||=x||>x\fR       The
        !            78: top two elements of the stack are popped and compared.
        !            79: Register
        !            80: .it x
        !            81: is executed if they obey the stated
        !            82: relation.
        !            83: .s3
        !            84: .lp +10 10
        !            85: \fBv\fR        replaces the top element on the stack by its square root.
        !            86: .s3
        !            87: .lp +10 10
        !            88: \fB!\fR        interprets the rest of the line as a UNIX command.
        !            89: .s3
        !            90: .lp +10 10
        !            91: \fBc\fR        All values on the stack are popped.
        !            92: .s3
        !            93: .lp +10 10
        !            94: \fBi\fR        The top value on the stack is popped and used as the
        !            95: number radix for further input.
        !            96: .s3
        !            97: .lp +10 10
        !            98: \fBo\fR        The top value on the stack is popped and used as the
        !            99: number radix for further output.
        !           100: .s3
        !           101: .lp +10 10
        !           102: \fBz\fR        The stack level is pushed onto the stack.
        !           103: .s3
        !           104: .lp +10 10
        !           105: \fB?\fR        A line of input is taken from the input source (usually the console)
        !           106: and executed.
        !           107: .s3
        !           108: .lp +10 10
        !           109: new-line       ignored
        !           110: except as the name of a register or to end the
        !           111: response to a
        !           112: .bd ?.
        !           113: .s3
        !           114: .lp +10 10
        !           115: space  ignored
        !           116: except as the name of a register or to terminate a number.
        !           117: .s3
        !           118: .i0
        !           119: If a file name is given, input is taken from that file until
        !           120: end-of-file, then input is taken from the console.
        !           121: An example which prints the first ten values of n! is
        !           122: .nf
        !           123: .s3
        !           124: .in +3
        !           125: .bd "[la1+dsa*pla10>x]sx"
        !           126: .bd "0sa1"
        !           127: .bd lxx
        !           128: .s3
        !           129: .fi
        !           130: .in -3
        !           131: .sh FILES
        !           132: /etc/msh       to implement `!'
        !           133: .sh DIAGNOSTICS
        !           134: (x) ? for unrecognized character x.
        !           135: .br
        !           136: (x) ? for not enough elements on the stack to do what was asked
        !           137: by command x.
        !           138: .br
        !           139: `Out of space' when the free list is exhausted (too many digits).
        !           140: .br
        !           141: `Out of headers' for too many numbers being kept around.
        !           142: .br
        !           143: `Out of pushdown' for too many items on the stack.
        !           144: .br
        !           145: `Nesting Depth' for too many levels of nested execution.
        !           146: .sh BUGS

unix.superglobalmegacorp.com

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