ll

Dependencies:   mbed

Committer:
adrianow795
Date:
Tue May 09 11:59:23 2017 +0000
Revision:
0:a8e3f4b25a52
siema;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adrianow795 0:a8e3f4b25a52 1 #ifndef COMMAND_DECODER_H
adrianow795 0:a8e3f4b25a52 2 #define COMMAND_DECODER_H
adrianow795 0:a8e3f4b25a52 3
adrianow795 0:a8e3f4b25a52 4 #define MAX_TOKEN_NR 3
adrianow795 0:a8e3f4b25a52 5 #define MAX_KEYWORD_STRING_LTH 10
adrianow795 0:a8e3f4b25a52 6 #define MAX_KEYWORD_NR 4
adrianow795 0:a8e3f4b25a52 7
adrianow795 0:a8e3f4b25a52 8 enum KeywordCode {ID, CALLIB, GOTO, STEP};
adrianow795 0:a8e3f4b25a52 9
adrianow795 0:a8e3f4b25a52 10 union TokenValue{
adrianow795 0:a8e3f4b25a52 11 enum KeywordCode eKeyword;
adrianow795 0:a8e3f4b25a52 12 unsigned int uiNumber;
adrianow795 0:a8e3f4b25a52 13 char* pcString;
adrianow795 0:a8e3f4b25a52 14 };
adrianow795 0:a8e3f4b25a52 15
adrianow795 0:a8e3f4b25a52 16 enum TokenType {KEYWORD, NUMBER, STRING};
adrianow795 0:a8e3f4b25a52 17
adrianow795 0:a8e3f4b25a52 18 struct Token{
adrianow795 0:a8e3f4b25a52 19 enum TokenType eType;
adrianow795 0:a8e3f4b25a52 20 union TokenValue uValue;
adrianow795 0:a8e3f4b25a52 21 };
adrianow795 0:a8e3f4b25a52 22
adrianow795 0:a8e3f4b25a52 23
adrianow795 0:a8e3f4b25a52 24 struct Keyword{
adrianow795 0:a8e3f4b25a52 25 enum KeywordCode eCode;
adrianow795 0:a8e3f4b25a52 26 char cString[MAX_KEYWORD_STRING_LTH + 1];
adrianow795 0:a8e3f4b25a52 27 };
adrianow795 0:a8e3f4b25a52 28
adrianow795 0:a8e3f4b25a52 29
adrianow795 0:a8e3f4b25a52 30 void DecodeMsg(char *pcString);
adrianow795 0:a8e3f4b25a52 31
adrianow795 0:a8e3f4b25a52 32 #endif