Adrian Nowak
/
__M2__5b____copy
ll
command_decoder.h@0:a8e3f4b25a52, 2017-05-09 (annotated)
- Committer:
- adrianow795
- Date:
- Tue May 09 11:59:23 2017 +0000
- Revision:
- 0:a8e3f4b25a52
siema;
Who changed what in which revision?
User | Revision | Line number | New 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 |