
callib
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Diff: TokensHandling.h
- Revision:
- 0:befccd954577
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TokensHandling.h Tue Jun 09 10:21:57 2020 +0000 @@ -0,0 +1,34 @@ +#ifndef TOKENS_HANDLING_H +#define TOKENS_HANDLING_H + +#define MAX_KEYWORD_STRING_LTH 15 +#define MAX_TOKEN_NR 2 + +enum KeywordCode {CALLIB, GOTO, ID, STEP}; +enum TokenType {KEYWORD, NUMBER, STRING}; + +union TokenValue{ + enum KeywordCode eKeyword; + unsigned int uiNumber; + char* pcString; +}; + +struct Token{ + enum TokenType eType; + union TokenValue uValue; +}; + +class TokensHandler{ + private: + unsigned char ucFindTokensInString(char *pcString); + enum Result eStringToKeyword (char pcStr[],enum KeywordCode *peKeywordCode); + void DecodeTokens(void); + void ReplaceCharactersInString(char pcString[],char cOldChar,char cNewChar); + public: + TokensHandler(); + unsigned char ucTokenNr; + struct Token asToken[MAX_TOKEN_NR]; + void DecodeMsg(char *pcString); +}; + +#endif \ No newline at end of file