Pull states and inputs enums to a separate header
This commit is contained in:
parent
09f2315b66
commit
fd8231b02d
93
include/lexer/lexer_data.h
Normal file
93
include/lexer/lexer_data.h
Normal file
@ -0,0 +1,93 @@
|
||||
#ifndef LEXER_DATA_H
|
||||
#define LEXER_DATA_H
|
||||
|
||||
typedef enum {
|
||||
// GENERAL STATES
|
||||
LEXER_STATE_ERROR,
|
||||
LEXER_STATE_START,
|
||||
LEXER_STATE_VALUE,
|
||||
// COLLECTION STATES
|
||||
LEXER_STATE_OBJECT_START,
|
||||
LEXER_STATE_OBJECT,
|
||||
LEXER_STATE_OBJECT_END,
|
||||
LEXER_STATE_ARRAY_START,
|
||||
LEXER_STATE_ARRAY,
|
||||
LEXER_STATE_ARRAY_END,
|
||||
LEXER_STATE_LAST_COLLECTION,
|
||||
// OBJECT STATES
|
||||
LEXER_STATE_KEY,
|
||||
// NUMBER STATES
|
||||
LEXER_STATE_DECIMAL,
|
||||
LEXER_STATE_NUMBER,
|
||||
LEXER_STATE_FRACTION,
|
||||
LEXER_STATE_EXPONENT,
|
||||
LEXER_STATE_EXP_SIGN,
|
||||
LEXER_STATE_POWER,
|
||||
LEXER_STATE_NUMBER_END,
|
||||
// STRING STATES
|
||||
LEXER_STATE_STRING,
|
||||
LEXER_STATE_STRING_END,
|
||||
LEXER_STATE_ESCAPE_SEQUENCE,
|
||||
LEXER_STATE_UNICODE_HEX1,
|
||||
LEXER_STATE_UNICODE_HEX2,
|
||||
LEXER_STATE_UNICODE_HEX3,
|
||||
LEXER_STATE_UNICODE_HEX4,
|
||||
// KEYWORD STATES
|
||||
LEXER_STATE_T,
|
||||
LEXER_STATE_TR,
|
||||
LEXER_STATE_TRU,
|
||||
LEXER_STATE_TRUE,
|
||||
LEXER_STATE_F,
|
||||
LEXER_STATE_FA,
|
||||
LEXER_STATE_FAL,
|
||||
LEXER_STATE_FALS,
|
||||
LEXER_STATE_FALSE,
|
||||
LEXER_STATE_N,
|
||||
LEXER_STATE_NU,
|
||||
LEXER_STATE_NUL,
|
||||
LEXER_STATE_NULL,
|
||||
LEXER_STATE_KEYWORD_END,
|
||||
|
||||
COUNT_LEXER_STATES,
|
||||
} lexer_state_t;
|
||||
|
||||
typedef enum {
|
||||
LEXER_INPUT_WHITE_SPACE,
|
||||
LEXER_INPUT_OPEN_BRACE,
|
||||
LEXER_INPUT_CLOSE_BRACE,
|
||||
LEXER_INPUT_OPEN_BRACKET,
|
||||
LEXER_INPUT_CLOSE_BRACKET,
|
||||
LEXER_INPUT_COMMA,
|
||||
LEXER_INPUT_COLON,
|
||||
LEXER_INPUT_DOUBLE_QUOTE,
|
||||
LEXER_INPUT_BACK_SLASH,
|
||||
LEXER_INPUT_FORWARD_SLASH,
|
||||
LEXER_INPUT_LOWER_A,
|
||||
LEXER_INPUT_LOWER_B,
|
||||
LEXER_INPUT_LOWER_C,
|
||||
LEXER_INPUT_LOWER_D,
|
||||
LEXER_INPUT_LOWER_E,
|
||||
LEXER_INPUT_LOWER_F,
|
||||
LEXER_INPUT_LOWER_L,
|
||||
LEXER_INPUT_LOWER_N,
|
||||
LEXER_INPUT_LOWER_R,
|
||||
LEXER_INPUT_LOWER_S,
|
||||
LEXER_INPUT_LOWER_T,
|
||||
LEXER_INPUT_LOWER_U,
|
||||
LEXER_INPUT_UPPER_A,
|
||||
LEXER_INPUT_UPPER_B,
|
||||
LEXER_INPUT_UPPER_C,
|
||||
LEXER_INPUT_UPPER_D,
|
||||
LEXER_INPUT_UPPER_E,
|
||||
LEXER_INPUT_UPPER_F,
|
||||
LEXER_INPUT_MINUS,
|
||||
LEXER_INPUT_PLUS,
|
||||
LEXER_INPUT_DECIMAL,
|
||||
LEXER_INPUT_ZERO,
|
||||
LEXER_INPUT_NON_ZERO,
|
||||
LEXER_INPUT_OTHER,
|
||||
|
||||
COUNT_LEXER_INPUTS,
|
||||
} lexer_input_t;
|
||||
|
||||
#endif // !LEXER_DATA_H
|
Loading…
Reference in New Issue
Block a user