summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2021-02-26 13:26:48 +0100
committerDenys Vlasenko2021-02-26 13:32:29 +0100
commit3d88cc1d371a4a5ae8e1521a1e915479bca52959 (patch)
tree57120fd8adf4a75c0f5c51793f6ec423a2ab4093
parent1f9ed02caffb269e5fc6fbdf19fc9ba05a79e628 (diff)
downloadbusybox-3d88cc1d371a4a5ae8e1521a1e915479bca52959.zip
busybox-3d88cc1d371a4a5ae8e1521a1e915479bca52959.tar.gz
dc: correct --help text
before: Tiny RPN calculator. Operations: +, -, *, /, %, ~, ^, |, p - print top of the stack without popping f - print entire stack k - pop the value and set the precision i - pop the value and set input radix o - pop the value and set output radix After: Tiny RPN calculator. Operations: Arithmetic: + - * / % ^ ~ - divide with remainder | - modular exponentiation v - square root p - print top of the stack without popping f - print entire stack k - pop the value and set precision i - pop the value and set input radix o - pop the value and set output radix function old new delta packed_usage 33519 33565 +46 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/bc.c46
1 files changed, 44 insertions, 2 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 02a61ac..84bbe7b 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -138,11 +138,53 @@
//usage:
//usage:#define dc_full_usage "\n"
//usage: "\nTiny RPN calculator. Operations:"
-//usage: "\n+, -, *, /, %, ~, ^," IF_FEATURE_DC_BIG(" |,")
+//usage: "\nArithmetic: + - * / % ^"
+//usage: IF_FEATURE_DC_BIG(
+//usage: "\n~ - divide with remainder"
+//usage: "\n| - modular exponentiation"
+//usage: "\nv - square root"
+//////// "\n_NNN - push neagtive number -NNN
+//////// "\n[string] - push string
+//////// "\nR - DC_LEX_POP pop and discard
+//////// "\nc - DC_LEX_CLEAR_STACK clear stack
+//////// "\nd - DC_LEX_DUPLICATE pop, push, push
+//////// "\nr - DC_LEX_SWAP pop 1, pop 2, push 1, push 2
+//////// "\n:r - DC_LEX_COLON pop index, pop value, store to array 'r'
+//////// "\n;r - DC_LEX_SCOLON pop index, fetch from array 'r', push
+//////// "\nLr - DC_LEX_LOAD_PO, pop register 'r', push
+//////// "\nSr - DC_LEX_STORE_PUSH pop, push to register 'r'
+//////// "\nlr - DC_LEX_LOAD read register 'r', push
+//////// "\nsr - DC_LEX_OP_ASSIGN pop, assign to register 'r'
+//////// "\n? - DC_LEX_READ read line and execute
+//////// "\nx - DC_LEX_EXECUTE pop string and execute
+//////// "\n<r - XC_LEX_OP_REL_GT pop, pop, execute register 'r' if top-of-stack was greater
+//////// "\n>r - XC_LEX_OP_REL_LT pop, pop, execute register 'r' if top-of-stack was less
+//////// "\n=r - XC_LEX_OP_REL_EQ pop, pop, execute register 'r' if equal
+//////// "\n!<r !>r !=r - negated forms
+//////// "\ne - DC_LEX_ELSE >tef: "if greater execute 't' else execute 'f'"
+//////// "\nQ - DC_LEX_NQUIT pop, "break N" from macro invocations
+//////// "\nq - DC_LEX_QUIT "break 2" (if less than 2 levels of macros, exit dc)
+//////// "\nX - DC_LEX_SCALE_FACTOR pop, push number of fractional digits
+//////// "\nZ - DC_LEX_LENGTH pop, push number of digits it has (or number of characters in string)
+//////// "\na - DC_LEX_ASCIIFY pop, push low-order byte as char or 1st string char
+//////// "\n( - DC_LEX_LPAREN ?
+//////// "\n{ - DC_LEX_LBRACE ?
+//////// "\n_ - XC_LEX_NEG (not a command - starts negative number)
+//////// "\nG - DC_LEX_EQ_NO_REG (? GNU dc has no such cmd)
+//////// "\nN - DC_LEX_OP_BOOL_NOT (? GNU dc has no such cmd)
+//////// "\nn - DC_LEX_PRINT_POP pop, print without newline
+//////// "\nP - DC_LEX_PRINT_STREAM pop, print string or hex bytes
+//usage: )
//usage: "\np - print top of the stack without popping"
//usage: "\nf - print entire stack"
-//usage: "\nk - pop the value and set the precision"
+//////// "\nz - DC_LEX_STACK_LEVEL push stack depth
+//////// "\nK - DC_LEX_SCALE push precision
+//////// "\nI - DC_LEX_IBASE push input radix
+//////// "\nO - DC_LEX_OBASE push output radix
+//usage: IF_FEATURE_DC_BIG(
+//usage: "\nk - pop the value and set precision"
//usage: "\ni - pop the value and set input radix"
+//usage: )
//usage: "\no - pop the value and set output radix"
//usage: "\nExamples: dc -e'2 2 + p' -> 4, dc -e'8 8 * 2 2 + / p' -> 16"
//usage: