aboutsummaryrefslogtreecommitdiff
path: root/match.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-01-15 19:30:21 -0800
committerBruce Hill <bruce@bruce-hill.com>2021-01-15 19:30:21 -0800
commit270509af3bb0546abd3265d6b19cb12f975d14a7 (patch)
treeeaae062ad4b7989dfd700291318dbb86312b149b /match.h
parent77b33d6a3cdc2655fa0319a2c5a077eb709cb6aa (diff)
Renamed vm->match
Diffstat (limited to 'match.h')
-rw-r--r--match.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/match.h b/match.h
new file mode 100644
index 0000000..f297350
--- /dev/null
+++ b/match.h
@@ -0,0 +1,28 @@
+//
+// match.h - Header file for BP virtual machine.
+//
+#ifndef MATCH__H
+#define MATCH__H
+
+#include <stdio.h>
+
+#include "types.h"
+
+__attribute__((nonnull(2,4)))
+match_t *next_match(def_t *defs, file_t *f, match_t *prev, pat_t *pat, unsigned int flags);
+__attribute__((hot, nonnull(2,3,4)))
+match_t *match(def_t *defs, file_t *f, const char *str, pat_t *pat, unsigned int flags);
+__attribute__((nonnull))
+match_t *get_capture(match_t *m, const char **id);
+__attribute__((nonnull))
+void destroy_pat(pat_t *pat);
+match_t *new_match(void);
+__attribute__((nonnull))
+void recycle_if_unused(match_t **at_m);
+#ifdef DEBUG_HEAP
+size_t free_all_matches(void);
+size_t recycle_all_matches(void);
+#endif
+
+#endif
+// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1