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

1.1     ! root        1: .pa 1
        !             2: .he 'DC (I)'1/15/73'DC (I)'
        !             3: .ti 0
        !             4: NAME           dc -- desk calculator
        !             5: .sp
        !             6: .ti 0
        !             7: SYNOPSIS       dc__ [file]
        !             8: .sp
        !             9: .ti 0
        !            10: DESCRIPTION    dc__
        !            11: is an arbitrary precision integer arithmetic package.
        !            12: The overall structure of dc is
        !            13: a stacking (reverse Polish) calculator.
        !            14: The following constructions are recognized
        !            15: by the calculator:
        !            16: .sp
        !            17: .in +3
        !            18: .ti -3
        !            19: number
        !            20: .br
        !            21: The value of the number is pushed on the stack.
        !            22: A number is an unbroken string of the digits 0-9.
        !            23: It may be preceded by an underscore (_) to input a
        !            24: negative number.
        !            25: .sp
        !            26: .ti -3
        !            27: +_ -_ *_ /_ %_ ^_
        !            28: .br
        !            29: The top two values on the stack are added (+_),
        !            30: subtracted (-_), multiplied (*_), divided (/_),
        !            31: remaindered (%_) or exponentiated (^).
        !            32: The two entries are popped off the stack;
        !            33: the result is pushed on the stack in their place.
        !            34: .sp
        !            35: .ti -3
        !            36: s_x
        !            37: .br
        !            38: The top of the stack is popped and stored into
        !            39: a register named x, where x may be any character.
        !            40: .sp
        !            41: .ti -3
        !            42: l_x
        !            43: .br
        !            44: The value in register x is pushed on the stack.
        !            45: The register x is not altered.
        !            46: All registers start with zero value.
        !            47: .sp
        !            48: .ti -3
        !            49: d_
        !            50: .br
        !            51: The top value on the stack is pushed on the stack.
        !            52: Thus the top value is duplicated.
        !            53: .sp
        !            54: .ti -3
        !            55: p_
        !            56: .br
        !            57: The top value on the stack is printed.
        !            58: The top value remains unchanged.
        !            59: .sp
        !            60: .ti -3
        !            61: f_
        !            62: .br
        !            63: All values on the stack and in registers are printed.
        !            64: .sp
        !            65: .ti -3
        !            66: .ul 1
        !            67: q
        !            68: .br
        !            69: exits the program. If executing a string, the nesting level is
        !            70: popped by two.
        !            71: .sp
        !            72: .ti -3
        !            73: .ul
        !            74: x
        !            75: .br
        !            76: treats the top element of the stack as a character string
        !            77: and executes it as a string of dc commands.
        !            78: .sp
        !            79: .ti -3
        !            80: [...]_____
        !            81: .br
        !            82: puts the bracketed ascii string onto the top of the stack.
        !            83: .sp
        !            84: .ti -3
        !            85: <_x =_x >_x
        !            86: .br
        !            87: The top two elements of the stack are popped and compared.
        !            88: Register x is executed if they obey the stated
        !            89: relation.
        !            90: .sp
        !            91: .ti -3
        !            92: .ul
        !            93: v
        !            94: .br
        !            95: replaces the top element on the stack by its square root.
        !            96: .sp
        !            97: .ti -3
        !            98: !_
        !            99: .br
        !           100: interprets the rest of the line as a UNIX command.
        !           101: .sp
        !           102: .ti -3
        !           103: c_
        !           104: .br
        !           105: All values on the stack are popped.
        !           106: .sp
        !           107: .ti -3
        !           108: i_
        !           109: .br
        !           110: The top value on the stack is popped and used as the
        !           111: number radix for further input.
        !           112: .sp
        !           113: .ti -3
        !           114: o_
        !           115: .br
        !           116: the top value on the stack is popped and used as the
        !           117: number radix for further output.
        !           118: .sp
        !           119: .ti -3
        !           120: z_
        !           121: .br
        !           122: the stack level is pushed onto the stack.
        !           123: .sp
        !           124: .ti -3
        !           125: ?_
        !           126: .br
        !           127: a line of input is taken from the input source (usually the console)
        !           128: and executed.
        !           129: .sp
        !           130: .ti -3
        !           131: new-line
        !           132: .br
        !           133: ignored except as the name of a register or to end the
        !           134: response to a ?_.
        !           135: .sp
        !           136: .ti -3
        !           137: space
        !           138: .br
        !           139: ignored except as the name of a register or to terminate a number.
        !           140: .br
        !           141: .sp
        !           142: .in -3
        !           143: If a file name is given, input is taken from that file until
        !           144: end-of-file, then input is taken from the console.
        !           145: .sp
        !           146: An example to 
        !           147: calculate the monthly, weekly and
        !           148: hourly rates for a $10,000/year salary.
        !           149: .sp
        !           150: .nf
        !           151: .in +3
        !           152: 10000
        !           153: 100*   (now in cents)
        !           154: dsa    (non-destructive store)
        !           155: 12/    (pennies per month)
        !           156: la52/  (pennies per week)
        !           157: d10*   (deci-pennies per week)
        !           158: 375/   (pennies per hour)
        !           159: f      (print all results)
        !           160:      512
        !           161:      19230
        !           162:      83333
        !           163: "a"  1000000
        !           164: .sp
        !           165: .in -3
        !           166: An example which prints the first ten values of n! is
        !           167: .in +3
        !           168: [la1+dsa*pla10>x]sx
        !           169: 0sa1
        !           170: lxx
        !           171: .sp
        !           172: .fi
        !           173: .in -3
        !           174: .ti 0
        !           175: FILES          --
        !           176: .sp
        !           177: .ti 0
        !           178: SEE ALSO       msh(VII), salloc(III)
        !           179: .sp
        !           180: .ti 0
        !           181: DIAGNOSTICS    (x) ? for unrecognized character x.
        !           182: .br
        !           183: (x) ? for not enough elements on the stack to do what was asked
        !           184: by command x.
        !           185: .br
        !           186: "Out of space" when the free list is exhausted (too many digits).
        !           187: .br
        !           188: "Out of headers" for too many numbers being kept around.
        !           189: .br
        !           190: "Out of pushdown" for too many items on the stack.
        !           191: .br
        !           192: "Nesting Depth" for too many levels of nested execution.
        !           193: .sp
        !           194: .ti 0
        !           195: .ti 0
        !           196: BUGS           --

unix.superglobalmegacorp.com

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