mbed2 zad 5b

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Revision:
4:7855d3ab4c15
Child:
5:cafab5a4d1c9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dekodowanie/Tokeny/Tokeny.h	Mon Jun 08 21:49:36 2020 +0000
@@ -0,0 +1,39 @@
+#ifndef TOKENY_H
+    #define TOKENY_H
+    #include <string.h>
+    #include <cstring>
+    #include <stdlib.h>
+    #define MAX_TOKEN_NR 2 //maksymalna dopuszczalna ilosc tokenów
+    #define MAX_KEYWORD_STRING_LTH 13 // maksymalna dlugosc komendy
+    #define MAX_KEYWORD_NR 4
+    #define NULL 0
+    
+    enum KeywordCode {ID, CAL, GT, ST};
+    enum TokenType { KEYWORD, NUMBER, STRING};
+    enum Stan{DELIMITER, TOKEN};
+    
+    union TokenValue
+    {
+        enum KeywordCode eKeyword; // jezeli KEYWORD
+        unsigned int uiNumber; // jezeli NUMBER
+        char * pcString; // jezeli STRING
+    };
+
+    struct Token
+    {
+        enum TokenType eType; // KEYWORD, NUMBER, STRING
+        union TokenValue uValue; // enum, unsigned int, char*
+    };
+
+    struct Keyword
+    {
+        enum KeywordCode eCode;
+        char cString[MAX_KEYWORD_STRING_LTH + 1];
+    };
+    
+    unsigned char ucFindTokensInString (char *pcString);
+    enum Result eStringToKeyword (char pcStr[], enum KeywordCode *peKeywordCode);
+    void DecodeTokens(void);
+    void DecodeMsg(char *pcString);
+    
+#endif