diff options
| -rw-r--r-- | miscutils/bc.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c index 69d3920c0..53e8d7306 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c | |||
| @@ -643,11 +643,13 @@ dc_char_to_LEX[] ALIGN1 = { | |||
| 643 | // IJKLMNOP | 643 | // IJKLMNOP |
| 644 | DC_LEX_IBASE, XC_LEX_INVALID, DC_LEX_SCALE, DC_LEX_LOAD_POP, | 644 | DC_LEX_IBASE, XC_LEX_INVALID, DC_LEX_SCALE, DC_LEX_LOAD_POP, |
| 645 | XC_LEX_INVALID, DC_LEX_OP_BOOL_NOT, DC_LEX_OBASE, DC_LEX_PRINT_STREAM, | 645 | XC_LEX_INVALID, DC_LEX_OP_BOOL_NOT, DC_LEX_OBASE, DC_LEX_PRINT_STREAM, |
| 646 | // QRSTUVWXY | 646 | // QRSTUVWX |
| 647 | DC_LEX_NQUIT, DC_LEX_POP, DC_LEX_STORE_PUSH, XC_LEX_INVALID, XC_LEX_INVALID, | 647 | DC_LEX_NQUIT, DC_LEX_POP, DC_LEX_STORE_PUSH, XC_LEX_INVALID, |
| 648 | XC_LEX_INVALID, XC_LEX_INVALID, DC_LEX_SCALE_FACTOR, XC_LEX_INVALID, | 648 | XC_LEX_INVALID, XC_LEX_INVALID, XC_LEX_INVALID, DC_LEX_SCALE_FACTOR, |
| 649 | // Z[\] | 649 | // YZ |
| 650 | DC_LEX_LENGTH, XC_LEX_INVALID, XC_LEX_INVALID, XC_LEX_INVALID, | 650 | XC_LEX_INVALID, DC_LEX_LENGTH, |
| 651 | // [\] | ||
| 652 | XC_LEX_INVALID, XC_LEX_INVALID, XC_LEX_INVALID, | ||
| 651 | // ^_` | 653 | // ^_` |
| 652 | XC_LEX_OP_POWER, XC_LEX_NEG, XC_LEX_INVALID, | 654 | XC_LEX_OP_POWER, XC_LEX_NEG, XC_LEX_INVALID, |
| 653 | // abcdefgh | 655 | // abcdefgh |
| @@ -4574,6 +4576,7 @@ static BC_STATUS zbc_parse_stmt_possibly_auto(bool auto_allowed) | |||
| 4574 | } | 4576 | } |
| 4575 | while (p->lex != BC_LEX_RBRACE) { | 4577 | while (p->lex != BC_LEX_RBRACE) { |
| 4576 | dbg_lex("%s:%d block parsing loop", __func__, __LINE__); | 4578 | dbg_lex("%s:%d block parsing loop", __func__, __LINE__); |
| 4579 | //FIXME: prevent wrong syntax such as "{ print 1 print 2 }" | ||
| 4577 | s = zbc_parse_stmt(); | 4580 | s = zbc_parse_stmt(); |
| 4578 | if (s) RETURN_STATUS(s); | 4581 | if (s) RETURN_STATUS(s); |
| 4579 | } | 4582 | } |
