git @ Cat's Eye Technologies Kosheri / master src / scan.h
master

Tree @master (Download .tar.gz)

scan.h @masterraw · history · blame

/*
 * scan.h
 * Lexical scanner structures and prototypes.
 * $Id: scan.h 139 2008-07-16 09:56:31Z catseye $
 */

#ifndef __SCAN_H_
#define __SCAN_H_

#include "report.h"

struct scanner;

struct scanner *scanner_new(struct reporter *);
void		scanner_free(struct scanner *);

void		scanner_reset(struct scanner *);
int		scanner_attach(struct scanner *, struct process *, const char *);
int		scanner_open(struct scanner *, const char *);
void		scanner_close(struct scanner *);

void 		scanner_scan(struct scanner *);
void		scanner_expect(struct scanner *, const char *);
void		scanner_scanline(struct scanner *);

int             scanner_tokeq(struct scanner *, const char *);
const char     *scanner_token_string(struct scanner *);
int             scanner_token_length(struct scanner *);

int             scanner_eof(struct scanner *);
const char     *scanner_filename(struct scanner *);
int             scanner_line(struct scanner *);
int             scanner_column(struct scanner *);

void            scanner_report(struct scanner *, enum report_type, const char *, ...);

#endif /* !__SCAN_H_ */