mbed2 zad 5b

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Committer:
krzysiek99
Date:
Tue Jun 09 12:30:01 2020 +0000
Revision:
5:cafab5a4d1c9
Parent:
4:7855d3ab4c15
mbed2

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 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