trick/include/trick/RefParseContext.hh
Michael Vetter 18f0d7e871 Remove trailing whitespaces
Makes it easier to edit the files. So if we press 'end of line' we are
really at the end of line.
2016-11-08 10:25:07 +01:00

52 lines
1.5 KiB
C++

#ifndef REFPARSECONTEXT_HH
#define REFPARSECONTEXT_HH
#include <iostream>
#include <unistd.h>
#include "trick/MemoryManager.hh"
#include "trick/reference.h"
/**
The class represents the context for a variable-reference parser.
The context provides stuff that the parser needs to know and
provides a place to save results.
*/
class RefParseContext {
public:
int debug ; /**< -- Debug level */
int verify_input; /**< -- Verify input runstream syntax flag */
int echo_input; /**< -- OBSOLETE? Echo Initialization Data flag */
REF2 *result; /**< ** Resulting REF2 structure from the reference parser.*/
std::istream *is; /**< ** Input Stream.*/
void *scanner; /**< ** flex/bision scanner varaible. Magic! */
Trick::MemoryManager *mem_mgr; /**< ** Memory Manager. */
char *save_str_pos; /**< ** OBSOLETE? saved position in current file */
char *error_str; /**< ** OBSOLETE? Unresolved reference name */
RefParseContext(Trick::MemoryManager *mem_mgr, std::istream* is );
~RefParseContext();
protected:
/** Initialize the flex scanner for reference parser. Implemented in ref_parser.l. */
void init_scanner();
/** Destroy the scanner for reference parser. Implemented in ref_parser.l. */
void destroy_scanner();
private:
/** Don't Allow the default constructor to be used. */
RefParseContext();
};
int REF_parse( RefParseContext* context);
#endif