bp/vm.h

29 lines
730 B
C
Raw Normal View History

//
// vm.h - Header file for BP virtual machine.
//
2020-09-11 01:28:06 -07:00
#ifndef VM__H
#define VM__H
2020-12-27 19:48:52 -08:00
#include <stdio.h>
2020-09-11 01:28:06 -07:00
#include "types.h"
__attribute__((nonnull(2,4)))
2021-01-15 19:21:41 -08:00
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)))
2021-01-15 19:21:41 -08:00
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);
2021-01-13 18:56:22 -08:00
__attribute__((nonnull))
2021-01-15 19:21:41 -08:00
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
2020-09-11 01:28:06 -07:00
#endif
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1