File tree Expand file tree Collapse file tree 2 files changed +39
-35
lines changed
Expand file tree Collapse file tree 2 files changed +39
-35
lines changed Original file line number Diff line number Diff line change 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+
622typedef 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
Original file line number Diff line number Diff line change 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+
728typedef 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
You can’t perform that action at this time.
0 commit comments