![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
mbed2 zad 5b
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Dekodowanie/Tokeny/Tokeny.h@5:cafab5a4d1c9, 2020-06-09 (annotated)
- Committer:
- krzysiek99
- Date:
- Tue Jun 09 12:30:01 2020 +0000
- Revision:
- 5:cafab5a4d1c9
- Parent:
- 4:7855d3ab4c15
mbed2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krzysiek99 | 4:7855d3ab4c15 | 1 | #ifndef TOKENY_H |
krzysiek99 | 4:7855d3ab4c15 | 2 | #define TOKENY_H |
krzysiek99 | 4:7855d3ab4c15 | 3 | #include <string.h> |
krzysiek99 | 4:7855d3ab4c15 | 4 | #include <cstring> |
krzysiek99 | 4:7855d3ab4c15 | 5 | #include <stdlib.h> |
krzysiek99 | 5:cafab5a4d1c9 | 6 | #include <stdio.h> |
krzysiek99 | 4:7855d3ab4c15 | 7 | #define MAX_TOKEN_NR 2 //maksymalna dopuszczalna ilosc tokenów |
krzysiek99 | 4:7855d3ab4c15 | 8 | #define MAX_KEYWORD_STRING_LTH 13 // maksymalna dlugosc komendy |
krzysiek99 | 4:7855d3ab4c15 | 9 | #define MAX_KEYWORD_NR 4 |
krzysiek99 | 4:7855d3ab4c15 | 10 | #define NULL 0 |
krzysiek99 | 4:7855d3ab4c15 | 11 | |
krzysiek99 | 4:7855d3ab4c15 | 12 | enum KeywordCode {ID, CAL, GT, ST}; |
krzysiek99 | 4:7855d3ab4c15 | 13 | enum TokenType { KEYWORD, NUMBER, STRING}; |
krzysiek99 | 4:7855d3ab4c15 | 14 | enum Stan{DELIMITER, TOKEN}; |
krzysiek99 | 4:7855d3ab4c15 | 15 | |
krzysiek99 | 4:7855d3ab4c15 | 16 | union TokenValue |
krzysiek99 | 4:7855d3ab4c15 | 17 | { |
krzysiek99 | 4:7855d3ab4c15 | 18 | enum KeywordCode eKeyword; // jezeli KEYWORD |
krzysiek99 | 4:7855d3ab4c15 | 19 | unsigned int uiNumber; // jezeli NUMBER |
krzysiek99 | 4:7855d3ab4c15 | 20 | char * pcString; // jezeli STRING |
krzysiek99 | 4:7855d3ab4c15 | 21 | }; |
krzysiek99 | 4:7855d3ab4c15 | 22 | |
krzysiek99 | 4:7855d3ab4c15 | 23 | struct Token |
krzysiek99 | 4:7855d3ab4c15 | 24 | { |
krzysiek99 | 4:7855d3ab4c15 | 25 | enum TokenType eType; // KEYWORD, NUMBER, STRING |
krzysiek99 | 4:7855d3ab4c15 | 26 | union TokenValue uValue; // enum, unsigned int, char* |
krzysiek99 | 4:7855d3ab4c15 | 27 | }; |
krzysiek99 | 4:7855d3ab4c15 | 28 | |
krzysiek99 | 4:7855d3ab4c15 | 29 | struct Keyword |
krzysiek99 | 4:7855d3ab4c15 | 30 | { |
krzysiek99 | 4:7855d3ab4c15 | 31 | enum KeywordCode eCode; |
krzysiek99 | 4:7855d3ab4c15 | 32 | char cString[MAX_KEYWORD_STRING_LTH + 1]; |
krzysiek99 | 4:7855d3ab4c15 | 33 | }; |
krzysiek99 | 4:7855d3ab4c15 | 34 | |
krzysiek99 | 4:7855d3ab4c15 | 35 | unsigned char ucFindTokensInString (char *pcString); |
krzysiek99 | 4:7855d3ab4c15 | 36 | enum Result eStringToKeyword (char pcStr[], enum KeywordCode *peKeywordCode); |
krzysiek99 | 4:7855d3ab4c15 | 37 | void DecodeTokens(void); |
krzysiek99 | 4:7855d3ab4c15 | 38 | void DecodeMsg(char *pcString); |
krzysiek99 | 4:7855d3ab4c15 | 39 | |
krzysiek99 | 4:7855d3ab4c15 | 40 | #endif |