Skip to content

Commit 587ec96

Browse files
committed
Extract lexer_state_T and token_type_T enums
1 parent 2f627b4 commit 587ec96

File tree

2 files changed

+39
-35
lines changed

2 files changed

+39
-35
lines changed

src/include/lexer_struct.h

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,30 @@
33

44
#include <stdlib.h>
55

6+
typedef enum {
7+
STATE_NONE,
8+
STATE_SINGLE_QUOTE,
9+
STATE_DOUBLE_QUOTE,
10+
STATE_START_TAG_START,
11+
STATE_END_TAG_START,
12+
STATE_END_TAG_END,
13+
STATE_TAG_ATTRIBUTES,
14+
STATE_ATTRIBUTE_START,
15+
STATE_ATTRIBUTE_VALUE_START,
16+
STATE_ATTRIBUTE_VALUE,
17+
STATE_ATTRIBUTE_VALUE_END,
18+
STATE_ELEMENT_CHILDREN,
19+
STATE_ERB_OPEN,
20+
} lexer_state_T;
21+
622
typedef struct LEXER_STRUCT {
723
char* source;
824
size_t source_length;
925
char current_character;
1026
unsigned int current_position;
1127
unsigned int current_line;
1228
unsigned int current_column;
13-
enum {
14-
STATE_NONE,
15-
STATE_SINGLE_QUOTE,
16-
STATE_DOUBLE_QUOTE,
17-
STATE_START_TAG_START,
18-
STATE_END_TAG_START,
19-
STATE_END_TAG_END,
20-
STATE_TAG_ATTRIBUTES,
21-
STATE_ATTRIBUTE_START,
22-
STATE_ATTRIBUTE_VALUE_START,
23-
STATE_ATTRIBUTE_VALUE,
24-
STATE_ATTRIBUTE_VALUE_END,
25-
STATE_ELEMENT_CHILDREN,
26-
STATE_ERB_OPEN,
27-
} state;
29+
lexer_state_T state;
2830
} lexer_T;
2931

3032
#endif

src/include/token_struct.h

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,33 @@
44
#include "location.h"
55
#include "range.h"
66

7+
typedef enum {
8+
TOKEN_ATTRIBUTE_NAME,
9+
TOKEN_ATTRIBUTE_VALUE,
10+
TOKEN_DOUBLE_QUOTE,
11+
TOKEN_END_TAG_END,
12+
TOKEN_END_TAG_START,
13+
TOKEN_EOF,
14+
TOKEN_EQUALS,
15+
TOKEN_ID,
16+
TOKEN_NEWLINE,
17+
TOKEN_SINGLE_QUOTE,
18+
TOKEN_SPACE,
19+
TOKEN_START_TAG_END_VOID,
20+
TOKEN_START_TAG_END,
21+
TOKEN_START_TAG_START,
22+
TOKEN_TAG_END,
23+
TOKEN_TAG_NAME,
24+
TOKEN_TEXT_CONTENT,
25+
TOKEN_WHITESPACE,
26+
} token_type_T;
27+
728
typedef struct TOKEN_STRUCT {
829
char* value;
930
range_T* range;
1031
location_T* start;
1132
location_T* end;
12-
enum {
13-
TOKEN_ATTRIBUTE_NAME,
14-
TOKEN_ATTRIBUTE_VALUE,
15-
TOKEN_DOUBLE_QUOTE,
16-
TOKEN_END_TAG_END,
17-
TOKEN_END_TAG_START,
18-
TOKEN_EOF,
19-
TOKEN_EQUALS,
20-
TOKEN_ID,
21-
TOKEN_NEWLINE,
22-
TOKEN_SINGLE_QUOTE,
23-
TOKEN_SPACE,
24-
TOKEN_START_TAG_END_VOID,
25-
TOKEN_START_TAG_END,
26-
TOKEN_START_TAG_START,
27-
TOKEN_TAG_END,
28-
TOKEN_TAG_NAME,
29-
TOKEN_TEXT_CONTENT,
30-
TOKEN_WHITESPACE,
31-
} type;
33+
token_type_T type;
3234
} token_T;
3335

3436
#endif

0 commit comments

Comments
 (0)