mbed2 zad 5b

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Committer:
krzysiek99
Date:
Mon Jun 08 21:49:36 2020 +0000
Revision:
4:7855d3ab4c15
Child:
5:cafab5a4d1c9
mbed2 zad 5b

Who changed what in which revision?

UserRevisionLine numberNew 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 4:7855d3ab4c15 6 #define MAX_TOKEN_NR 2 //maksymalna dopuszczalna ilosc tokenów
krzysiek99 4:7855d3ab4c15 7 #define MAX_KEYWORD_STRING_LTH 13 // maksymalna dlugosc komendy
krzysiek99 4:7855d3ab4c15 8 #define MAX_KEYWORD_NR 4
krzysiek99 4:7855d3ab4c15 9 #define NULL 0
krzysiek99 4:7855d3ab4c15 10
krzysiek99 4:7855d3ab4c15 11 enum KeywordCode {ID, CAL, GT, ST};
krzysiek99 4:7855d3ab4c15 12 enum TokenType { KEYWORD, NUMBER, STRING};
krzysiek99 4:7855d3ab4c15 13 enum Stan{DELIMITER, TOKEN};
krzysiek99 4:7855d3ab4c15 14
krzysiek99 4:7855d3ab4c15 15 union TokenValue
krzysiek99 4:7855d3ab4c15 16 {
krzysiek99 4:7855d3ab4c15 17 enum KeywordCode eKeyword; // jezeli KEYWORD
krzysiek99 4:7855d3ab4c15 18 unsigned int uiNumber; // jezeli NUMBER
krzysiek99 4:7855d3ab4c15 19 char * pcString; // jezeli STRING
krzysiek99 4:7855d3ab4c15 20 };
krzysiek99 4:7855d3ab4c15 21
krzysiek99 4:7855d3ab4c15 22 struct Token
krzysiek99 4:7855d3ab4c15 23 {
krzysiek99 4:7855d3ab4c15 24 enum TokenType eType; // KEYWORD, NUMBER, STRING
krzysiek99 4:7855d3ab4c15 25 union TokenValue uValue; // enum, unsigned int, char*
krzysiek99 4:7855d3ab4c15 26 };
krzysiek99 4:7855d3ab4c15 27
krzysiek99 4:7855d3ab4c15 28 struct Keyword
krzysiek99 4:7855d3ab4c15 29 {
krzysiek99 4:7855d3ab4c15 30 enum KeywordCode eCode;
krzysiek99 4:7855d3ab4c15 31 char cString[MAX_KEYWORD_STRING_LTH + 1];
krzysiek99 4:7855d3ab4c15 32 };
krzysiek99 4:7855d3ab4c15 33
krzysiek99 4:7855d3ab4c15 34 unsigned char ucFindTokensInString (char *pcString);
krzysiek99 4:7855d3ab4c15 35 enum Result eStringToKeyword (char pcStr[], enum KeywordCode *peKeywordCode);
krzysiek99 4:7855d3ab4c15 36 void DecodeTokens(void);
krzysiek99 4:7855d3ab4c15 37 void DecodeMsg(char *pcString);
krzysiek99 4:7855d3ab4c15 38
krzysiek99 4:7855d3ab4c15 39 #endif