13 #ifndef _EMBEDDED_RPC__ERPCLEXER_H_ 14 #define _EMBEDDED_RPC__ERPCLEXER_H_ 18 #include "ParseErrors.h" 19 #include <FlexLexer.h> 29 #define YY_BUF_SIZE 16384 40 #include "erpcgen_parser.tab.hpp" 62 CurrentFileInfo(std::ifstream *savedFile, std::string fileName, std::string currentFolderPath)
63 : m_savedFile(savedFile)
67 , m_fileName(fileName)
68 , m_currentFolderPath(currentFolderPath)
80 m_savedFile.safe_delete();
124 virtual Token *getNextToken();
140 void pushFile(
const std::string &fileName);
152 inline std::string &
getFileName() {
return m_currentFileInfo->m_fileName; }
175 virtual void LexerError(
const char *msg);
189 int processStringEscapes(
const char *in,
char *out);
220 #endif // _EMBEDDED_RPC__ERPCLEXER_H_ CurrentFileInfo * m_currentFileInfo
Definition: ErpcLexer.h:164
Lexical scanner class for erpcgen interface files.
Definition: ErpcLexer.h:99
CurrentFileInfo * m_previous
Definition: ErpcLexer.h:84
std::string & getFileName()
return current file name
Definition: ErpcLexer.h:152
std::string m_fileName
Definition: ErpcLexer.h:87
std::string m_currentFolderPath
Definition: ErpcLexer.h:88
~CurrentFileInfo()
Destructor.
Definition: ErpcLexer.h:77
Abstract base class for values of arbitrary types.
Definition: Value.h:21
token_loc_t m_location
Definition: ErpcLexer.h:163
token_loc_t & getLocation()
returns the current token's location in loc.
Definition: ErpcLexer.h:131
uint16_t getIdlCrc16()
This function returns crc16 of all used IDL files.
Definition: ErpcLexer.h:159
uint32_t m_indents
Definition: ErpcLexer.h:165
CurrentFileInfo(std::ifstream *savedFile, std::string fileName, std::string currentFolderPath)
Constructor.
Definition: ErpcLexer.h:62
Value * m_value
Definition: ErpcLexer.h:162
Encapsulates all information about a token.
Definition: Token.h:60
int m_column
Definition: ErpcLexer.h:86
int m_line
Definition: ErpcLexer.h:85
Token location in the source file.
Definition: Token.h:25
uint16_t m_idlCrc16
Definition: ErpcLexer.h:166
smart_ptr< std::ifstream > m_savedFile
Definition: ErpcLexer.h:83
This class contains necessary information about analyzed file.
Definition: ErpcLexer.h:49