mirror of
synced
2026-10-30 21:34:23 +03:00
-
23ea0734e1
bc: rename BC_LEX_NLINE/WHITESPACE/STR/NAME/NUMBER to XC_LEX_
Denys Vlasenko
2018-12-24 15:05:49 +01:00
-
9d9c97efbd
bc: separate many bc and dc LEX constants
Denys Vlasenko
2018-12-24 15:00:56 +01:00
-
69560f42da
bc: rename several BC_LEX_OPs to XC_LEX_OPs.
Denys Vlasenko
2018-12-24 14:14:23 +01:00
-
abf6cf6765
bc: move BC_LEX_OP_INC/DEC to the end of operation LEX constants
Denys Vlasenko
2018-12-24 13:20:57 +01:00
-
7d9be0bc6d
bc: rename BC_LEXs to XC_LEXs for common constants, and to DC_LEXs for dc-specific
Denys Vlasenko
2018-12-24 12:25:20 +01:00
-
2097ac8d9e
bc: move functions/macros around, no code changes
Denys Vlasenko
2018-12-24 05:00:36 +01:00
-
a7732d1120
bc: rename common INST constants to XC_, dc-specific ones to DC_
Denys Vlasenko
2018-12-24 04:26:07 +01:00
-
81293c8af0
dc: without -x, do not parse extended regs: 's p' means: store to ' ' reg, print
Denys Vlasenko
2018-12-24 01:53:55 +01:00
-
73b2c60825
bc: fix incorrect bit in BC_PARSE_EXPRS_BITS: 'limits' is not allowed
Denys Vlasenko
2018-12-24 01:02:59 +01:00
-
ad0bd381e9
bc: for "dc only" remove handling of LAST, move OBASE enums up to IBASE
Denys Vlasenko
2018-12-24 00:50:32 +01:00
-
9471bd4660
bc: fix empty lines in dc generating "bad token" message
Denys Vlasenko
2018-12-23 00:13:15 +01:00
-
01eb5e9da1
bc: shrink modular exponentiation code
Denys Vlasenko
2018-12-22 23:59:21 +01:00
-
1acac7f9c5
bc: do not yet allow 2^2.1
Denys Vlasenko
2018-12-22 23:14:48 +01:00
-
a9f59db809
bc: avoid having to twiddle b->neg in zbc_num_p()
Denys Vlasenko
2018-12-22 21:52:30 +01:00
-
2ea8ddf8c2
bc: do not disallow powers to N.0000 degree - it's even shorter code
Denys Vlasenko
2018-12-22 21:45:18 +01:00
-
1557b76edd
bc: shrink zbc_num_ulong()
Denys Vlasenko
2018-12-22 21:37:46 +01:00
-
ec74a9c145
bc: make long-running dc drop data it does not need (when it can)
Denys Vlasenko
2018-12-22 19:23:46 +01:00
-
5cf0b2d466
bc: unbreak "z function" macro machinery
Denys Vlasenko
2018-12-22 18:24:19 +01:00
-
badf683b0a
dc: unbreak interactive mode - was trying to get next tokens instead of executing
Denys Vlasenko
2018-12-22 18:04:08 +01:00
-
5daa1a0adf
bc: move zbc_lex_next() out of zdc_parse_string() and zdc_parse_mem()
Denys Vlasenko
2018-12-22 16:40:38 +01:00
-
7c1c9dc86b
bc: shorten sanity-check code
Denys Vlasenko
2018-12-22 14:18:47 +01:00
-
88fcd5cc6c
bc: fold single-callsite functions into callers, commonalize code
Denys Vlasenko
2018-12-22 06:00:25 +01:00
-
514967df5e
bc: zcommon_parse_expr() has only one user, fold it in
Denys Vlasenko
2018-12-22 03:38:52 +01:00
-
f093e3df2d
bc: zcommon_parse_expr() lost its flags argument
Denys Vlasenko
2018-12-22 02:30:18 +01:00
-
39287e0d02
bc: stop using BC_PARSE_NOCALL in dc code
Denys Vlasenko
2018-12-22 02:23:08 +01:00
-
8c1e723596
bc: unbreak read(), remove checks for nested read()
Denys Vlasenko
2018-12-22 01:34:10 +01:00
-
1dc4de9d9b
bc: code shrink
Denys Vlasenko
2018-12-21 23:13:48 +01:00
-
24e4194635
bc: rename BcInstPtr::idx and ::len
Denys Vlasenko
2018-12-21 23:01:26 +01:00
-
8287b1c869
bc: remove unnecessary initializations
Denys Vlasenko
2018-12-21 22:43:53 +01:00
-
e8e7bda63a
bc: use non-allocated BcNum's where appropriate
Denys Vlasenko
2018-12-21 22:36:04 +01:00
-
6ed7fb0a87
bc: optimize bc_vec_push() usage
Denys Vlasenko
2018-12-21 22:16:17 +01:00
-
19eee8ed7c
bc: fix for() to not leave data on stack
Denys Vlasenko
2018-12-21 20:29:34 +01:00
-
5d57bc442d
bc: fix infinite state growth for "yes 1 | bc" case
Denys Vlasenko
2018-12-21 16:22:26 +01:00
-
447dc02c27
bc: fix comment
Denys Vlasenko
2018-12-21 00:39:02 +01:00
-
52caa007e3
bc: for(;;) fix from upstream
Denys Vlasenko
2018-12-21 00:35:22 +01:00
-
047154472a
bc: shrink bc_program_add_fn()
Denys Vlasenko
2018-12-21 00:10:26 +01:00
-
44a99ca617
bc: "dc only" config does not need G.prog.fn_map
Denys Vlasenko
2018-12-20 20:34:09 +01:00
-
5acd14ba5b
bc: fix keyword matching to not think "ifz" is the "if" keyword
Denys Vlasenko
2018-12-20 16:48:50 +01:00
-
503faf9d53
bc: shrink "dc only" code by dropping unused structure members
Denys Vlasenko
2018-12-20 16:24:18 +01:00
-
eaa3b00002
bc: shorten bc_program_addFunc()
Denys Vlasenko
2018-12-19 20:05:50 +01:00
-
408b7d45f6
bc: fix "dc only" and "bc only" configs
Denys Vlasenko
2018-12-19 19:43:03 +01:00
-
fa21079183
bc: rename dc-specific functions, simplify zdc_program_execStr() a bit
Denys Vlasenko
2018-12-19 19:35:40 +01:00
-
44dbe675dd
bc: rename zbc_parse_string->bc_parse_pushSTR, do not emit next opcode in it
Denys Vlasenko
2018-12-19 19:10:40 +01:00
-
ea5cad2a0d
bc: avoid bc_vec_item() calls in bc_vm_run()
Denys Vlasenko
2018-12-19 18:09:31 +01:00
-
eac0de55d6
bc: avoid bc_vec_item() calls in bc_array_copy()
Denys Vlasenko
2018-12-19 17:59:30 +01:00
-
87888ce4d8
bc: avoid successive bc_vec_item(&func->autos, i)
Denys Vlasenko
2018-12-19 17:55:23 +01:00
-
f36a0adf8b
bc: remove unnecessary union use
Denys Vlasenko
2018-12-19 17:15:04 +01:00
-
dfe1dd2031
bc: "unsigned_n > 0" is shorter code than "unsigned_n >= 1"
Denys Vlasenko
2018-12-19 17:09:01 +01:00
-
65e1046abf
bc: open-code bc_parse_updateFunc() macro
Denys Vlasenko
2018-12-19 15:13:14 +01:00
-
684d441f5c
bc: make bc_program_addFunc() return new idx, untangle &p->fidx interaction
Denys Vlasenko
2018-12-19 14:57:23 +01:00
-
085b420220
bc: "reload stack only after insts" change missed a few places
Denys Vlasenko
2018-12-19 14:02:59 +01:00
-
5aa54830bf
bc: rename a few functions
Denys Vlasenko
2018-12-19 13:55:53 +01:00
-
e3d3d2067d
bc: remove redundant strdup+free in zbc_parse_call()
Denys Vlasenko
2018-12-19 13:19:44 +01:00
-
4796a1d537
bc: delete G.prog.strmb for real
Denys Vlasenko
2018-12-19 12:47:45 +01:00
-
b80d7aad1b
bc: in execution loop, reload stack only after insts which can change it
Denys Vlasenko
2018-12-19 12:35:27 +01:00
-
d6e24bd795
bc: simplify bc_array_expand()
Denys Vlasenko
2018-12-18 20:10:48 +01:00
-
30a8e0c2f9
bc: code shrink
Denys Vlasenko
2018-12-18 19:20:04 +01:00
-
694d2982e5
bc: code shrink
Denys Vlasenko
2018-12-18 19:17:11 +01:00
-
7b30bc0222
bc: shrink bc_program_pushVar()
Denys Vlasenko
2018-12-18 17:14:34 +01:00
-
d340143247
bc: get rid of G.prog.ob, G.prog.strmb
Denys Vlasenko
2018-12-18 17:00:35 +01:00
-
09fe0aaefa
bc: do not show -i in --help, it's a NOP (for now)
Denys Vlasenko
2018-12-18 16:32:25 +01:00
-
7f2d59c38d
bc: style edit, no code changes
Denys Vlasenko
2018-12-18 16:24:07 +01:00
-
3f940c9c70
bc: shrink bc_program_index()
Denys Vlasenko
2018-12-18 15:49:42 +01:00
-
55f3cab7e9
bc: fix "echo -n '#foo' | bc" not eating last 'o'
Denys Vlasenko
2018-12-18 14:37:16 +01:00
-
a199cc95b7
bc: shrink zdc_parse_expr()
Denys Vlasenko
2018-12-18 14:11:35 +01:00
-
07597cd35d
bc: optimize zbc_lex_string()
Denys Vlasenko
2018-12-18 14:03:20 +01:00
-
ef271da33f
bc: shrink zdc_lex_string()
Denys Vlasenko
2018-12-18 13:48:37 +01:00
-
d4258dd321
bc: another for() loop simplified
Denys Vlasenko
2018-12-18 13:22:23 +01:00
-
5c0c5abba0
bc: simplify another for() loop
Denys Vlasenko
2018-12-18 13:15:55 +01:00
-
6b0fbd14fc
bc: rewrite more for() loops
Denys Vlasenko
2018-12-18 12:55:40 +01:00
-
71c82d1d8c
bc: rewrite another for() loop
Denys Vlasenko
2018-12-18 12:43:21 +01:00
-
e2e6ffd3c5
bc: replace signed division / 10 by unsigned
Denys Vlasenko
2018-12-18 12:23:16 +01:00
-
4113e1f2cd
bc: rewrite bc_num_compare() to be readable
Denys Vlasenko
2018-12-18 00:39:24 +01:00
-
57734c926b
bc: fold zbc_num_stream() into its single caller
Denys Vlasenko
2018-12-17 21:14:05 +01:00
-
f6e3f8511e
bc: get rid of BcNum BcProgram::ib,hexb
Denys Vlasenko
2018-12-17 21:05:09 +01:00
-
0f31a5c79e
bc: fixes to bugs found while testing 64-bit build
Denys Vlasenko
2018-12-18 03:16:48 +01:00
-
f4f10720fe
bc: fixed from 64-bit compile
Denys Vlasenko
2018-12-18 02:23:53 +01:00
-
6d3b4bb24d
udhcpc: check that 4-byte options are indeed 4-byte, closes 11506
Denys Vlasenko
2018-12-17 18:07:18 +01:00
-
4b72aebe80
bc: remove "error after expression parsing" check
Denys Vlasenko
2018-12-17 16:54:37 +01:00
-
b44a7f1d66
bc: tighten up input NUL handling
Denys Vlasenko
2018-12-17 11:58:20 +01:00
-
e42cc19b51
bc: simplify zdc_parse_string()
Denys Vlasenko
2018-12-17 11:02:26 +01:00
-
59d4ce935e
bc: use common strings
Denys Vlasenko
2018-12-17 10:42:31 +01:00
-
ec60318f15
bc: tidy up "z-function" macro machinery
Denys Vlasenko
2018-12-17 10:34:02 +01:00
-
e4ba4c4371
bc: parse file arguments piecemeal (do not read entire file)
Denys Vlasenko
2018-12-17 09:51:43 +01:00
-
c5774a3458
bc: move fflush to the _actual_ execution loop
Denys Vlasenko
2018-12-17 01:22:53 +01:00
-
51b22b1bce
bc: fix typo: defone -> define
Denys Vlasenko
2018-12-17 00:15:35 +01:00
-
94f72a387c
bc: factor out common code
Denys Vlasenko
2018-12-17 00:07:48 +01:00
-
5ebd2a6128
bc: remove use of "BcInstPtr ip" object from loop parsing
Denys Vlasenko
2018-12-16 23:35:04 +01:00
-
266aa00012
bc: store only index in p->exits, it's the only thing used there
Denys Vlasenko
2018-12-16 23:24:25 +01:00
-
8e7686e457
bc: p->exits.func is never zero, do not check for that
Denys Vlasenko
2018-12-16 23:18:28 +01:00
-
de24e9d366
bc: remove redundant JUMP generation when parsing 'while'
Denys Vlasenko
2018-12-16 23:02:22 +01:00
-
06ade77002
bc: simplify use of "ip" in loop parsing functions
Denys Vlasenko
2018-12-16 22:44:51 +01:00
-
146a79d19c
bc: shring bc_lib[]
Denys Vlasenko
2018-12-16 21:46:11 +01:00
-
15850832be
bc: shrink zbc_parse_if() a bit more
Denys Vlasenko
2018-12-16 21:40:54 +01:00
-
6b5b46f817
bc: stop using p->exits when parsing if()
Denys Vlasenko
2018-12-16 21:29:08 +01:00
-
7415633128
bc: preparation to stop using p->exits when parsing if()
Denys Vlasenko
2018-12-16 21:21:27 +01:00
-
5d18f6be90
bc: fix "print 1,2,3" parsing
Denys Vlasenko
2018-12-16 21:08:30 +01:00
-
cb18b546f7
bc: disallow empty statement as function body
Denys Vlasenko
2018-12-16 20:46:15 +01:00
-
2e8be023cb
bc: allow only one <newline> between if() and stmt
Denys Vlasenko
2018-12-16 20:41:32 +01:00
-
e6c40c48d9
bc: simplify bc_parse_pushName(), do not free name in it - avoids one strdup
Denys Vlasenko
2018-12-16 20:32:58 +01:00