6e7b8bdf6aeb604219a24f35cf1d303a0cb6edef kent Wed Aug 7 18:08:33 2019 -0700 Librarifying strex string expression module that is going in for tabToTabDir to help sort through some of HCA madness. diff --git src/inc/strex.h src/inc/strex.h index 828deed..e6290c8 100644 --- src/inc/strex.h +++ src/inc/strex.h @@ -1,24 +1,27 @@ /* strex.h - interface to string expression language, currently used in tabToTabDir * to describe how the output fields are filled in from input fields. */ +#ifndef STREX_H +#define STREX_H /* Parsing out something into strex */ struct strexParse; /* A parser generated tree */ struct strexParse *strexParseString(char *s); /* Parse out string expression in s and return root of tree. */ void strexParseDump(struct strexParse *p, int depth, FILE *f); -/* Dump out strexParse tree and children. */ +/* Dump out strexParse tree and children for debugging. Usual depth is 0. */ /* Evaluating a parsed out strex expression */ typedef char* (*StrexEvalLookup)(void *symbols, char *key); -/* Callback to lookup value ov key in a symbol table */ +/* Callback to lookup value of key in a symbol table. */ char *strexEvalAsString(struct strexParse *p, void *symbols, StrexEvalLookup lookup); /* Evaluating a strex expression on a symbol table with a lookup function for variables and * return result as a string value. */ +#endif /* STREX_H */