rendered paste body#ifndef __SBTOKENIZER_H#define __SBTOKENIZER_H//******************************************************************************// SBTokenizer.h//// ASC20021014 created// ASC20021021 adapted for tokenizer.so v1.16//******************************************************************************#include "defs.h"#define TOKENIZER_SO "tokenizer.so"class SBTokenizer {public: struct TModuleRec { bool Succeded; char* Error; bool DebugFlag; byte TargetModule; int TargetStart; char* ProjectFiles[7]; int ProjectFilesStart[7]; char* Port; int PortStart; int SourceSize; int ErrorStart; int ErrorLength; byte EEPROM[2048]; byte EEPROMFlags[2048]; byte VarCounts[4]; byte PacketCount; byte PacketBuffer[2304]; }; static SBTokenizer* instance(); static void free(); bool TestRecAlignment(TModuleRec *Rec); bool Compile(TModuleRec *Rec, char* Source, bool DirectivesOnly, bool ParseStampDirective ); byte Version();private: SBTokenizer(); virtual ~SBTokenizer(); bool init(); void notloaded(); static SBTokenizer* m_pInstance; bool m_inited; void *m_libt; bool (*m_TestRecAlignment)(TModuleRec *Rec); bool (*m_Compile)( TModuleRec *Rec, char* Source, bool DirectivesOnly, bool ParseStampDirective ); // is declared as int in the specs for tokenizer v1.16 but is // actually a byte. byte (*m_Version)();};#endif