23 lines
666 B
C
23 lines
666 B
C
//
|
|
// definitions.h - Header file defining pattern rules
|
|
//
|
|
#ifndef DEFINITIONS__H
|
|
#define DEFINITIONS__H
|
|
|
|
#include "files.h"
|
|
#include "types.h"
|
|
|
|
__attribute__((nonnull(3,4), returns_nonnull))
|
|
def_t *with_def(def_t *defs, size_t namelen, const char *name, pat_t *pat);
|
|
__attribute__((nonnull(2,3,4), returns_nonnull))
|
|
def_t *with_backref(def_t *defs, file_t *f, const char *name, match_t *m);
|
|
__attribute__((nonnull(2)))
|
|
def_t *load_grammar(def_t *defs, file_t *f);
|
|
__attribute__((pure, nonnull(2)))
|
|
def_t *lookup(def_t *defs, const char *name);
|
|
__attribute__((nonnull(1)))
|
|
void free_defs(def_t **defs, def_t *stop);
|
|
|
|
#endif
|
|
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1
|