Commit Graph

144 Commits

Author SHA1 Message Date
1110a0ce8b Fixed bug with NULL filename 2021-01-17 21:15:37 -08:00
c6dd967c70 Fixed two bugs: mmapped files weren't getting closed, and filenames with
%s-style formatting strings caused issues.
2021-01-17 18:06:00 -08:00
e248f5b2a8 Improved handling of directories (e.g. bp foo dir/) 2021-01-17 17:30:31 -08:00
3cc645f2d0 Improved argument parsing and added support for prompting user for a
pattern if none is provided
2021-01-17 13:33:10 -08:00
a4f0b93836 Added comment 2021-01-17 12:37:27 -08:00
f264731e6b Cleaned up flag parsing code. 2021-01-17 10:27:33 -08:00
58af933f4e Added --git/-G 2021-01-17 09:21:58 -08:00
05b9b0ff97 Better errors for bad patterns. 2021-01-17 09:11:11 -08:00
3f6e7c2beb Renamed VM_ to BP_ 2021-01-16 10:29:09 -08:00
a2f30332cc Sorting imports 2021-01-15 19:44:16 -08:00
13c4564594 Renamed grammar -> definitions 2021-01-15 19:35:39 -08:00
44573fc224 Rename compiler -> pattern 2021-01-15 19:32:37 -08:00
270509af3b Renamed vm->match 2021-01-15 19:30:21 -08:00
77b33d6a3c Renaming files: printing->print, file_loader->files 2021-01-15 19:27:25 -08:00
984a869c98 Renaming 'op' member fields to 'pat' 2021-01-15 19:02:36 -08:00
09e1d1a365 Removing opcode references 2021-01-15 18:57:09 -08:00
dc38cde3c7 Better input handling. 2021-01-15 18:47:30 -08:00
253e81e1d9 More correct behavior for Ctrl-c 2021-01-15 18:45:33 -08:00
f5881a8c96 Better behavior for --context when it comes to --inplace (context used
for --confirm)
2021-01-15 18:43:03 -08:00
813d9a76af Renaming op -> pat, phase 1 refactor 2021-01-15 18:38:06 -08:00
631e59bfa7 Fully supporting NAME make argument 2021-01-15 18:32:56 -08:00
d31d2e8985 Added interactive confirmation mode for replacing text 2021-01-15 18:23:18 -08:00
00b96b1e13 Print trailing context in INPLACE modification 2021-01-15 13:12:22 -08:00
6fd46f996e Removed auto-context-lines for -r flag 2021-01-15 12:53:57 -08:00
271ddaae66 Moved too-many-patterns check 2021-01-15 12:44:08 -08:00
ce1868d707 Added support for bp -p 'foo: "xx"; baz; baz: foo' 2021-01-15 12:40:19 -08:00
b29060f38b Cleaned up and simplified global state setting stuff (e.g. --verbose) 2021-01-15 02:05:17 -08:00
8ff80b09cc Major overhaul of how different modes of behavior work. Approximately 2x
speedup and 2x memory footprint reduction. Also removed --mode and
VM_HIDE (~ operator), and added --context. Printing works better now.
2021-01-15 01:19:10 -08:00
2c43d65c7d Made all the heap garbage collection code optional, which saves some
time and memory.
2021-01-14 19:43:30 -08:00
3cd61e3abc Overhaul of memory tracking and left recursion. Added explanation doc
for left recursion and fixed all visible memory leaks.
2021-01-14 19:21:31 -08:00
43aeadaab8 Replaced _exit()s with exits() 2021-01-13 19:01:49 -08:00
e7f94bbf50 Working towards zero memory leakage 2021-01-13 18:56:22 -08:00
45d7aff475 Major overhaul of some of the memory tracking code, as well as some
cleanup of the compilation code.
2021-01-13 01:48:36 -08:00
6deb08a4ab Added forward declarations for static functions 2021-01-12 22:33:28 -08:00
2d109f974b Some general cleanup, adding comments, adding more __attribute__s where
applicable
2021-01-12 22:22:38 -08:00
b27b71608b Standardizing to line-comments instead of block comments 2021-01-12 21:04:43 -08:00
8144ae5dc9 Renamed op.op -> op.type 2021-01-12 19:27:57 -08:00
38bfd5ce0e Making the code more intuitive and cleaning up some memory between
files.
2021-01-12 18:35:41 -08:00
421880be12 Refactor of grammar logic to instead *only* use a linked list for all
grammar rules and backrefs. This simplifies things a lot.
2021-01-10 01:45:40 -08:00
b8a5d399d7 Removing unnecessary fields 2021-01-10 00:39:34 -08:00
9d1f51c483 Simplified grammars using intrusive linked lists instead of dynamic
arrays
2021-01-10 00:12:09 -08:00
03c790d5b6 Renamed viz -> printing, and tidied up the code a bit 2021-01-08 01:06:43 -08:00
1bdcca28e1 Added some todos 2021-01-08 00:57:46 -08:00
ff2ef95041 Fully purging "bpeg" from the source 2020-12-30 19:42:47 -08:00