|  |  9.2.2.3 `eval.c' & `eval.h' 
Having created a Sicparser, and populated it with someBuiltinhandlers, a user of this library must tokenize and
evaluate its input stream.  These files define a structure for storing
tokenized strings (Tokens), and functions for convertingchar *strings both to and from this structure type: 
 |  | 
 #ifndef SIC_EVAL_H
#define SIC_EVAL_H 1
#include <sic/common.h>
#include <sic/sic.h>
BEGIN_C_DECLS
typedef struct {
  int  argc;            /* number of elements in ARGV */
  char **argv;          /* array of pointers to elements */
  size_t lim;           /* number of bytes allocated */
} Tokens;
extern int eval       (Sic *sic, Tokens *tokens);
extern int untokenize (Sic *sic, char **pcommand, Tokens *tokens);
extern int tokenize   (Sic *sic, Tokens **ptokens, char **pcommand);
END_C_DECLS
#endif /* !SIC_EVAL_H */
 | 
 
These files also define the evalfunction, which examines aTokensstructure in the context of the given Sic parser,
dispatching theargvarray to a relevantBuiltinhandler,
also written by the library user. 
 |