#include #include "NumericalLexers.hpp" uint8_t LexDecimalValue(char8_t c) { switch (c) { case u8'0': return 0; case u8'1': return 1; case u8'2': return 2; case u8'3': return 3; case u8'4': return 4; case u8'5': return 5; case u8'6': return 6; case u8'7': return 7; case u8'8': return 8; case u8'9': return 9; default: return 255; } } uint8_t LexHexadecimalValue(char8_t c) { switch (c) { case u8'0': return 0; case u8'1': return 1; case u8'2': return 2; case u8'3': return 3; case u8'4': return 4; case u8'5': return 5; case u8'6': return 6; case u8'7': return 7; case u8'8': return 8; case u8'9': return 9; case u8'a': case u8'A': return 10; case u8'b': case u8'B': return 11; case u8'c': case u8'C': return 12; case u8'd': case u8'D': return 13; case u8'e': case u8'E': return 14; case u8'f': case u8'F': return 15; default: return 255; } } uint8_t LexOctalValue(char8_t c) { switch (c) { case u8'0': return 0; case u8'1': return 1; case u8'2': return 2; case u8'3': return 3; case u8'4': return 4; case u8'5': return 5; case u8'6': return 6; case u8'7': return 7; default: return 255; } } uint8_t LexBinaryValue(char8_t c) { switch (c) { case u8'0': return 0; case u8'1': return 1; default: return 255; } }