Commit Graph

540 Commits

Author SHA1 Message Date
e484a88815 Added image 2022-05-05 00:50:38 -04:00
52d022fc2f Fix for source code ranges of suffix patterns 2022-05-05 00:45:57 -04:00
3944a36f14 Updated docs 2022-05-02 18:01:45 -04:00
af668004e8 Updated Make rules so default is bp 2022-05-02 17:25:18 -04:00
eb0f18dc79 Added recursive make rules 2022-05-02 17:24:20 -04:00
e071ac7b12 Bugfix for left recursion 2022-05-02 17:23:02 -04:00
892708a651 Cleaned up pattern capture structuring with tagged matches 2022-04-30 18:05:43 -04:00
4a2a71d4d8 Updated docs 2022-04-30 15:26:58 -04:00
206e1fa68f Added tagged definitions: foo:: blah 2022-04-30 15:23:02 -04:00
24ed834317 Simplified things by passing a def argument to next_match instead of
chaining defs together. Also simplified `..` by just using a lookahead
instead of retconning it. Immutability invariants are now enforced
better.
2022-04-30 14:19:08 -04:00
e5c0d09893 Added printmatch 2022-04-27 19:13:32 -04:00
8b88c1784e Later-chained defs take precedence over more recently chained defs 2022-04-27 19:12:28 -04:00
28efb8937b Simplify printing of chains 2022-04-24 14:03:33 -04:00
ef07c8a22e Made NULL end values default to strlen() 2022-04-21 12:54:09 -04:00
bae576a997 Enhancing the illusion of a shell 2022-04-09 14:30:50 -04:00
f33e2e1ec9 Added leading zeroes 2022-04-09 14:24:06 -04:00
49dddd713e Tutorial uses --pattern for clarity 2022-04-09 14:20:48 -04:00
326a0b960c Moving print logic out of match.c and renaming explain -> printmatch 2022-04-09 14:15:07 -04:00
c51a91c470 Git bookkeeping 2022-04-04 13:44:01 -04:00
ee8fb64e97 Rewording 2022-04-01 12:25:12 -04:00
c1c4f2109b Fixed typo 2022-02-28 18:45:34 -05:00
3aabbb6dc5 Fix to ensure proper line numbering 2021-11-07 12:27:42 -08:00
486fe98a9c Fix for left recursion error due to wrong context 2021-10-02 12:38:42 -07:00
304d5c35a8 Left recursion correctness fixes 2021-10-02 11:33:40 -07:00
44f8608467 Fix for infinite loop in left recursive patterns 2021-10-01 20:40:36 -07:00
9648eb66d3 Cleanup on left recursion code 2021-10-01 20:04:12 -07:00
0ad64a1006 Bugfix for use-after-free, as well as an issue with the order
grammars were loaded
2021-10-01 19:29:31 -07:00
73bbf6872a Code cleanup 2021-10-01 19:06:17 -07:00
bc0b216125 Update caching code to make it explicitly for failures only. 2021-10-01 18:53:21 -07:00
007959ca0f Better comments 2021-10-01 18:21:02 -07:00
b67cb4643c Use chained scatter table 2021-10-01 18:18:22 -07:00
b064b7e6af Get rid of cache doubly linked list 2021-10-01 16:20:34 -07:00
1bdf8f4f40 Switch from chained buckets to just clobbering in the hash table 2021-10-01 15:49:43 -07:00
8988771158 Fix 2021-10-01 14:35:17 -07:00
5f0a7a876a Removing refcounting bookkeeping 2021-10-01 14:31:22 -07:00
9812de0c58 Initial working version 2021-10-01 14:19:21 -07:00
c994824804 Added null byte test 2021-09-29 14:57:51 -07:00
2143a44b9c Updated readme 2021-09-28 17:02:25 -07:00
a61efe2cf0 Hardening utils (added *end param to avoid going past the end of
unterminated strings)
2021-09-28 16:59:01 -07:00
46fa856529 Better error messages (bugfix) 2021-09-27 21:54:41 -07:00
90bfefda16 Added comment 2021-09-27 21:42:22 -07:00
117ccaa1dc Cleanup for trailing line printing 2021-09-27 21:41:30 -07:00
c60c1db8a2 Bugfix for certain patterns (e.g. $$) that didn't trigger line number
printing
2021-09-27 21:34:08 -07:00
b882e30bf7 Performance optimization for patterns like (^"foo") or (|"foo"|) 2021-09-27 21:33:30 -07:00
840d62a60a Cache cleanup cleanup-- making sure matches don't get recycled when
they're stil being used.
2021-09-27 20:53:45 -07:00
911827fac3 Removed definitions as a separate type and instead encode that value in
the patterns themselves. This simplifies memory management a lot and
speeds up performance.
2021-09-27 20:36:10 -07:00
a96284615b Added __concat and __div 2021-09-26 14:34:06 -07:00
6b29503e95 Added :getsource() method 2021-09-26 14:23:24 -07:00
9983e2444a Switched pattern objects to use a full userdata instead of a table 2021-09-26 13:43:39 -07:00
77d9007a88 Refactor of pat_t memory management to use doubly linked lists, and
moving the recursive freeing code from Lua/lbp.c into pattern.c
2021-09-26 13:12:02 -07:00