@@ -34,9 +34,9 @@ char lexer_backtrack(lexer_T* lexer, int offset) {
3434}
3535
3636void lexer_advance (lexer_T * lexer ) {
37- if (lexer -> current_position < lexer -> source_length && lexer -> current_character != '\0' ) {
37+ if (lexer -> current_position < lexer -> source_length && lexer -> current_character != '\0' ) {
3838
39- if (isnewline (lexer -> current_character )) {
39+ if (isnewline (lexer -> current_character )) {
4040 lexer -> current_line += 1 ;
4141 lexer -> current_column = 1 ;
4242 } else {
@@ -60,8 +60,8 @@ token_T* lexer_advance_current(lexer_T* lexer, int type) {
6060}
6161
6262void lexer_skip_whitespace (lexer_T * lexer ) {
63- while (lexer -> current_character == 13 || lexer -> current_character == 10 || lexer -> current_character == ' ' ||
64- lexer -> current_character == '\t' ) {
63+ while (lexer -> current_character == 13 || lexer -> current_character == 10 || lexer -> current_character == ' ' ||
64+ lexer -> current_character == '\t' ) {
6565 lexer_advance (lexer );
6666 }
6767}
@@ -79,7 +79,7 @@ token_T* lexer_parse_newline(lexer_T* lexer) {
7979token_T * lexer_parse_whitespace (lexer_T * lexer ) {
8080 char * value = calloc (1 , sizeof (char ));
8181
82- while (iswhitespace (lexer -> current_character ) && lexer -> current_character != '\0' ) {
82+ while (iswhitespace (lexer -> current_character ) && lexer -> current_character != '\0' ) {
8383 value = realloc (value , (strlen (value ) + 2 ) * sizeof (char ));
8484 strcat (value , (char []) {lexer -> current_character , 0 });
8585 lexer_advance (lexer );
@@ -91,7 +91,7 @@ token_T* lexer_parse_whitespace(lexer_T* lexer) {
9191token_T * lexer_parse_tag_name (lexer_T * lexer ) {
9292 char * value = calloc (1 , sizeof (char ));
9393
94- while (lexer -> current_character != ' ' && lexer -> current_character != '>' ) {
94+ while (lexer -> current_character != ' ' && lexer -> current_character != '>' ) {
9595 value = realloc (value , (strlen (value ) + 2 ) * sizeof (char ));
9696 strcat (value , (char []) {lexer -> current_character , 0 });
9797 lexer_advance (lexer );
@@ -104,13 +104,13 @@ token_T* lexer_parse_attribute_name(lexer_T* lexer) {
104104 char * value = calloc (1 , sizeof (char ));
105105 char character = 0 ;
106106
107- while ((character = lexer -> current_character ) != '=' && character != ' ' ) {
107+ while ((character = lexer -> current_character ) != '=' && character != ' ' ) {
108108 value = realloc (value , (strlen (value ) + 2 ) * sizeof (char ));
109109 strcat (value , (char []) {character , 0 });
110110 lexer_advance (lexer );
111111 }
112112
113- if (character == ' ' ) {
113+ if (character == ' ' ) {
114114 // boolean attribute
115115 lexer -> state = STATE_TAG_ATTRIBUTES ;
116116 } else {
@@ -125,7 +125,7 @@ token_T* lexer_parse_attribute_value(lexer_T* lexer) {
125125 char * value = calloc (1 , sizeof (char ));
126126 char quote = lexer_backtrack (lexer , 1 );
127127
128- while (lexer -> current_character != quote ) {
128+ while (lexer -> current_character != quote ) {
129129 value = realloc (value , (strlen (value ) + 2 ) * sizeof (char ));
130130 strcat (value , (char []) {lexer -> current_character , 0 });
131131 lexer_advance (lexer );
@@ -137,7 +137,7 @@ token_T* lexer_parse_attribute_value(lexer_T* lexer) {
137137token_T * lexer_parse_text_content (lexer_T * lexer ) {
138138 char * value = calloc (1 , sizeof (char ));
139139
140- while (lexer -> current_character != '<' ) {
140+ while (lexer -> current_character != '<' ) {
141141 value = realloc (value , (strlen (value ) + 2 ) * sizeof (char ));
142142 strcat (value , (char []) {lexer -> current_character , 0 });
143143 lexer_advance (lexer );
@@ -147,20 +147,20 @@ token_T* lexer_parse_text_content(lexer_T* lexer) {
147147}
148148
149149token_T * lexer_next_token (lexer_T * lexer ) {
150- while (lexer -> current_character != '\0' ) {
150+ while (lexer -> current_character != '\0' ) {
151151
152152 // printf("STATE: %u\n", lexer->state);
153153 // printf("Current character: %c\n", lexer->current_character);
154154
155- switch (lexer -> state ) {
155+ switch (lexer -> state ) {
156156 case STATE_NONE : {
157- if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
157+ if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
158158 lexer_skip_whitespace (lexer );
159159 }
160160
161- switch (lexer -> current_character ) {
161+ switch (lexer -> current_character ) {
162162 case '<' : {
163- if (lexer_peek (lexer , 1 ) == '/' ) {
163+ if (lexer_peek (lexer , 1 ) == '/' ) {
164164 lexer -> state = STATE_START_TAG_START ;
165165 lexer_advance (lexer );
166166 lexer_advance (lexer );
@@ -199,7 +199,7 @@ token_T* lexer_next_token(lexer_T* lexer) {
199199 } break ;
200200
201201 case STATE_ATTRIBUTE_START : {
202- switch (lexer -> current_character ) {
202+ switch (lexer -> current_character ) {
203203 case '=' : {
204204 lexer -> state = STATE_ATTRIBUTE_VALUE_START ;
205205 return lexer_advance_current (lexer , TOKEN_EQUALS );
@@ -219,17 +219,17 @@ token_T* lexer_next_token(lexer_T* lexer) {
219219 } break ;
220220
221221 case STATE_TAG_ATTRIBUTES : {
222- if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
222+ if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
223223 lexer_skip_whitespace (lexer );
224224 }
225225
226- if (isalpha (lexer -> current_character )) {
226+ if (isalpha (lexer -> current_character )) {
227227 return lexer_parse_attribute_name (lexer );
228228 }
229229
230- switch (lexer -> current_character ) {
230+ switch (lexer -> current_character ) {
231231 case '/' : {
232- if (lexer_peek (lexer , 1 ) == '>' ) {
232+ if (lexer_peek (lexer , 1 ) == '>' ) {
233233 lexer -> state = STATE_NONE ;
234234 lexer_advance (lexer );
235235 lexer_advance (lexer );
@@ -248,12 +248,12 @@ token_T* lexer_next_token(lexer_T* lexer) {
248248 } break ;
249249
250250 case STATE_ELEMENT_CHILDREN : {
251- if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
251+ if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
252252 lexer_skip_whitespace (lexer );
253253 }
254254
255- if (lexer -> current_character == '<' ) {
256- if (lexer_peek (lexer , 1 ) == '/' ) {
255+ if (lexer -> current_character == '<' ) {
256+ if (lexer_peek (lexer , 1 ) == '/' ) {
257257 lexer -> state = STATE_END_TAG_START ;
258258 lexer_advance (lexer );
259259 lexer_advance (lexer );
@@ -271,7 +271,7 @@ token_T* lexer_next_token(lexer_T* lexer) {
271271 } break ;
272272
273273 case STATE_ATTRIBUTE_VALUE_START : {
274- switch (lexer -> current_character ) {
274+ switch (lexer -> current_character ) {
275275 case '"' : {
276276 lexer -> state = STATE_ATTRIBUTE_VALUE ;
277277 return lexer_advance_current (lexer , TOKEN_DOUBLE_QUOTE );
@@ -286,19 +286,19 @@ token_T* lexer_next_token(lexer_T* lexer) {
286286 } break ;
287287
288288 case STATE_ATTRIBUTE_VALUE : {
289- if (lexer -> current_character == '"' || lexer -> current_character == '\'' ) {
289+ if (lexer -> current_character == '"' || lexer -> current_character == '\'' ) {
290290 lexer -> state = STATE_ATTRIBUTE_VALUE_END ;
291291 return token_init ("\0" , TOKEN_ATTRIBUTE_VALUE , lexer );
292292 }
293293
294- if (isalpha (lexer -> current_character ) || iswhitespace (lexer -> current_character )) {
294+ if (isalpha (lexer -> current_character ) || iswhitespace (lexer -> current_character )) {
295295 lexer -> state = STATE_ATTRIBUTE_VALUE_END ;
296296 return lexer_parse_attribute_value (lexer );
297297 }
298298 } break ;
299299
300300 case STATE_ATTRIBUTE_VALUE_END : {
301- switch (lexer -> current_character ) {
301+ switch (lexer -> current_character ) {
302302 case '"' : {
303303 lexer -> state = STATE_TAG_ATTRIBUTES ;
304304 return lexer_advance_current (lexer , TOKEN_DOUBLE_QUOTE );
@@ -319,7 +319,7 @@ token_T* lexer_next_token(lexer_T* lexer) {
319319 return token_init (0 , TOKEN_ATTRIBUTE_VALUE , lexer );
320320 } break ;
321321 default : {
322- if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
322+ if (iswhitespace (lexer -> current_character ) || isnewline (lexer -> current_character )) {
323323 lexer_skip_whitespace (lexer );
324324 }
325325 }
0 commit comments