aboutsummaryrefslogtreecommitdiff
path: root/miscutils/bc.c
AgeCommit message (Expand)Author
2018-12-26bc: remove all logic for multi-line bufferingDenys Vlasenko
2018-12-26bc: prepare for char-by-char input handlingDenys Vlasenko
2018-12-26bc: fix handling of comment/string interactions while buffering inputDenys Vlasenko
2018-12-25bc: fix interactive handling of comments in strings and quotes in commentsDenys Vlasenko
2018-12-25bc: simplify input pointer manipulation while lexingDenys Vlasenko
2018-12-25bc: fold struct BcLex into BcParseDenys Vlasenko
2018-12-25bc: move BcLex::lex member to be the first in struct globalsDenys Vlasenko
2018-12-25bc: rename some members and macros, no code changesDenys Vlasenko
2018-12-25bc: shorten error messagesDenys Vlasenko
2018-12-25bc: make it clear that the code is adaptedGavin Howard
2018-12-25bc: stop passing a pointer to G.prs down the call chainDenys Vlasenko
2018-12-25bc: make zbc_program_read() and zdc_program_execStr() use G.prsDenys Vlasenko
2018-12-25bc: fix interactive read()Denys Vlasenko
2018-12-25bc: add code to detect errors like "print 1 print 2"Denys Vlasenko
2018-12-25bc: allow {break} and {continue} (allow RBRACE to terminate them)Denys Vlasenko
2018-12-25bc: shrink parsing code a bit more, disallow "auto a b c" (without commas)Denys Vlasenko
2018-12-25bc: simplify bc_parse_expr_empty_ok()Denys Vlasenko
2018-12-25bc: simplify bc_parse_expr_empty_ok()Denys Vlasenko
2018-12-25bc: simplify bc_parse_expr_empty_ok()Denys Vlasenko
2018-12-24bc: BC_RESULT_ONE is bc-specificDenys Vlasenko
2018-12-24bc: partially deinline BC_PARSE_LEAF() macroDenys Vlasenko
2018-12-24bc: rename lexer variables, use smallints where appropriateDenys Vlasenko
2018-12-24bc: fix "bc -s" only warning on "define f()<newline>", not exitingDenys Vlasenko
2018-12-24bc: POSIX error/warn functions can be 'z' functions tooDenys Vlasenko
2018-12-24bc: remove unnecessary NULL initializersDenys Vlasenko
2018-12-24bc: move relational LEXs before math LEXs - shorten dc_LEX_to_INST[]Denys Vlasenko
2018-12-24bc: offset dc_LEX_to_INST[] startDenys Vlasenko
2018-12-24bc: rename BC_LEX_NLINE/WHITESPACE/STR/NAME/NUMBER to XC_LEX_Denys Vlasenko
2018-12-24bc: separate many bc and dc LEX constantsDenys Vlasenko
2018-12-24bc: rename several BC_LEX_OPs to XC_LEX_OPs.Denys Vlasenko
2018-12-24bc: move BC_LEX_OP_INC/DEC to the end of operation LEX constantsDenys Vlasenko
2018-12-24bc: rename BC_LEXs to XC_LEXs for common constants, and to DC_LEXs for dc-spe...Denys Vlasenko
2018-12-24bc: move functions/macros around, no code changesDenys Vlasenko
2018-12-24bc: rename common INST constants to XC_, dc-specific ones to DC_Denys Vlasenko
2018-12-24dc: without -x, do not parse extended regs: 's p' means: store to ' ' reg, printDenys Vlasenko
2018-12-24bc: fix incorrect bit in BC_PARSE_EXPRS_BITS: 'limits' is not allowedDenys Vlasenko
2018-12-24bc: for "dc only" remove handling of LAST, move OBASE enums up to IBASEDenys Vlasenko
2018-12-23bc: fix empty lines in dc generating "bad token" messageDenys Vlasenko
2018-12-22bc: shrink modular exponentiation codeDenys Vlasenko
2018-12-22bc: do not yet allow 2^2.1Denys Vlasenko
2018-12-22bc: avoid having to twiddle b->neg in zbc_num_p()Denys Vlasenko
2018-12-22bc: do not disallow powers to N.0000 degree - it's even shorter codeDenys Vlasenko
2018-12-22bc: shrink zbc_num_ulong()Denys Vlasenko
2018-12-22bc: make long-running dc drop data it does not need (when it can)Denys Vlasenko
2018-12-22bc: unbreak "z function" macro machineryDenys Vlasenko
2018-12-22dc: unbreak interactive mode - was trying to get next tokens instead of execu...Denys Vlasenko
2018-12-22bc: move zbc_lex_next() out of zdc_parse_string() and zdc_parse_mem()Denys Vlasenko
2018-12-22bc: shorten sanity-check codeDenys Vlasenko
2018-12-22bc: fold single-callsite functions into callers, commonalize codeDenys Vlasenko
2018-12-22bc: zcommon_parse_expr() has only one user, fold it inDenys Vlasenko