13 #ifndef _EMBEDDED_RPC__ERPCLEXER_H_ 14 #define _EMBEDDED_RPC__ERPCLEXER_H_ 18 #include "ParseErrors.h" 20 #include <FlexLexer.h> 30 #define YY_BUF_SIZE 16384 41 #include "erpcgen_parser.tab.hpp" 63 CurrentFileInfo(std::ifstream *savedFile, std::string fileName, std::string currentFolderPath)
64 : m_savedFile(savedFile)
68 , m_fileName(fileName)
69 , m_currentFolderPath(currentFolderPath)
81 m_savedFile.safe_delete();
125 virtual Token *getNextToken();
141 void pushFile(
const std::string &fileName);
153 inline std::string &
getFileName() {
return m_currentFileInfo->m_fileName; }
176 virtual void LexerError(
const char *msg);
190 int processStringEscapes(
const char *in,
char *out);
221 #endif // _EMBEDDED_RPC__ERPCLEXER_H_ CurrentFileInfo * m_currentFileInfo
Definition: ErpcLexer.h:166
Lexical scanner class for erpcgen interface files.
Definition: ErpcLexer.h:100
CurrentFileInfo * m_previous
Definition: ErpcLexer.h:85
std::string & getFileName()
return current file name
Definition: ErpcLexer.h:153
std::string m_fileName
Definition: ErpcLexer.h:88
std::string m_currentFolderPath
Definition: ErpcLexer.h:89
~CurrentFileInfo()
Destructor.
Definition: ErpcLexer.h:78
Abstract base class for values of arbitrary types.
Definition: Value.h:27
token_loc_t m_location
Definition: ErpcLexer.h:164
token_loc_t & getLocation()
returns the current token's location in loc.
Definition: ErpcLexer.h:132
uint16_t getIdlCrc16()
This function returns crc16 of all used IDL files.
Definition: ErpcLexer.h:160
uint32_t m_indents
Definition: ErpcLexer.h:165
CurrentFileInfo(std::ifstream *savedFile, std::string fileName, std::string currentFolderPath)
Constructor.
Definition: ErpcLexer.h:63
Value * m_value
Definition: ErpcLexer.h:163
Encapsulates all information about a token.
Definition: Token.h:60
int m_column
Definition: ErpcLexer.h:87
int m_line
Definition: ErpcLexer.h:86
Token location in the source file.
Definition: Token.h:25
uint16_t m_idlCrc16
Definition: ErpcLexer.h:167
smart_ptr< std::ifstream > m_savedFile
Definition: ErpcLexer.h:84
This class contains necessary information about analyzed file.
Definition: ErpcLexer.h:50