Commit Graph

126 Commits

Author SHA1 Message Date
Dianne Skoll 5b7d4a07ec More explicit error messages.
Remind unit tests / tests (push) Successful in 47s
2024-09-07 13:25:31 -04:00
Dianne Skoll 8c3d2c4003 More specific error message. 2024-09-07 13:14:31 -04:00
Dianne Skoll 5d7f55c8d5 Make error messages more consistent.
Remind unit tests / tests (push) Successful in 28s
2024-09-03 10:53:45 -04:00
Dianne Skoll 097bf92bea Better error message. 2024-09-03 10:51:50 -04:00
Dianne Skoll 914971308d Better error message.
Remind unit tests / tests (push) Successful in 30s
2024-09-01 23:42:29 -04:00
Dianne Skoll d0e45e727e Don't print closing ] in error indicator.
Remind unit tests / tests (push) Successful in 31s
2024-09-01 22:39:49 -04:00
Dianne Skoll 11771b7d3d Better formatting of ^-- here message for expressions with embedded newlines 2024-09-01 11:27:34 -04:00
Dianne Skoll 58b6f43b9c Better diagnosis of wrong #args for builtin functions. 2024-09-01 09:03:26 -04:00
Dianne Skoll ef12da4ec6 Refactor out "truthy". 2024-08-28 20:36:30 -04:00
Dianne Skoll 7b098e95ad Make error messages more consistent. 2024-08-28 18:21:35 -04:00
Dianne Skoll 7d13f4b09e Better diagnostics when printing "Too many/few arguments" errors 2024-08-28 18:14:43 -04:00
Dianne Skoll 4e15c3ec35 Remove an optimization that was interfering with expression debugging. 2024-08-28 14:21:44 -04:00
Dianne Skoll a0d1b19050 Fix typo in comment.
Remind unit tests / tests (push) Successful in 39s
2024-08-23 15:08:35 -04:00
Dianne Skoll 526610bdd2 Stop parsing user func early if possible. 2024-07-02 09:16:47 -04:00
Dianne Skoll 973e3448ae Fix typo in comment. 2024-07-02 07:58:24 -04:00
Dianne Skoll 9a3f28f6fc Optimize storage of short string constants in expr_node objects. 2024-06-12 10:19:27 -04:00
Dianne Skoll 166b1ac499 Only reset alarm if expression time limit was set 2024-06-06 11:47:39 -04:00
Dianne Skoll 4bf31005ea Better error location in a couple more cases. 2024-06-05 09:15:10 -04:00
Dianne Skoll 632cee62d9 Don't permit unary-minus overflow. 2024-06-04 09:02:26 -04:00
Dianne Skoll 09f043b3de Don't print bytes allocated --- makes test output differ on different architectures. 2024-06-04 07:32:53 -04:00
Dianne Skoll c0341c8ba3 Fix typo. 2024-06-03 21:54:12 -04:00
Dianne Skoll 850c717803 Handle unary '+' properly. 2024-06-03 20:20:54 -04:00
Dianne Skoll f13f9e18bd Somewhat better error reporting. 2024-06-03 20:14:11 -04:00
Dianne Skoll 8bdca0d684 More code refactoring. 2024-06-03 19:49:36 -04:00
Dianne Skoll 129bf5612e Refactor some code. 2024-06-03 19:43:28 -04:00
Dianne Skoll 829962fae1 We don't need to check for excessive parse depth if we're not at the high water mark. 2024-06-03 19:35:42 -04:00
Dianne Skoll 0e010b56ec Fix some error messages. 2024-06-03 17:59:11 -04:00
Dianne Skoll 8f0a2a7e79 Limit parse high-water to 2000 2024-06-03 15:15:58 -04:00
Dianne Skoll ef23bba77f Track parse level high-water mark. 2024-06-03 15:13:32 -04:00
Dianne Skoll 602086ae2d Make "-ds" show built-in functions with ucfirst and user-defined ones all lower-case. 2024-06-03 14:56:32 -04:00
Dianne Skoll eb109bbbc0 Finish commenting expr.c 2024-06-03 10:01:38 -04:00
Dianne Skoll 09625b9d68 More docs 2024-06-02 23:07:49 -04:00
Dianne Skoll 4e164c4268 More comments. 2024-06-02 21:08:04 -04:00
Dianne Skoll a8bfb41a9e Add $ExpressionTimeLimit system variable. 2024-06-02 14:01:17 -04:00
Dianne Skoll b49c0f52bd Implement EXPR ON and EXPR OFF 2024-06-02 12:39:00 -04:00
Dianne Skoll d77d9854d2 Remove src/expr.h - everything in it is now in types.h or protos.h 2024-06-02 10:26:41 -04:00
Dianne Skoll 5e016768af More comments. 2024-06-02 09:46:53 -04:00
Dianne Skoll ee08ce98d7 More comments. 2024-06-01 23:33:33 -04:00
Dianne Skoll bb92dab1ab More docs. 2024-06-01 16:44:37 -04:00
Dianne Skoll 83b5c52c76 Make parse_expr_token much any following whitespace to replicate prior behavior.
There may be other parts of the code that rely on this.
2024-06-01 16:35:20 -04:00
Dianne Skoll 29b87898aa Add some ASCII art 2024-06-01 14:00:39 -04:00
Dianne Skoll e9e4db94bd More comments 2024-06-01 13:44:21 -04:00
Dianne Skoll c95ad0261a Start adding comments; do not distinguish between N_BINARY_OPERATOR and N_UNARY_OPERATOR 2024-06-01 13:37:58 -04:00
Dianne Skoll 7fef456483 Don't allocate - nodes if we don't need to 2024-06-01 13:23:52 -04:00
Dianne Skoll 386131e74d Show bytes used for expression notes. 2024-06-01 09:45:37 -04:00
Dianne Skoll 824d3c88f1 Store at most 5 function args on stack. Any more and we malloc. 2024-06-01 09:41:26 -04:00
Dianne Skoll 18a206abd2 Store args on stack if possible. 2024-06-01 09:30:42 -04:00
Dianne Skoll 8dbae776c9 Fix SEGV. 2024-06-01 09:27:27 -04:00
Dianne Skoll b78702cc53 Assume all function names are lower-case. 2024-06-01 08:46:27 -04:00
Dianne Skoll d2b43605ad Completely revamp expression engine. 2024-06-01 08:19:12 -04:00