Add for loops
This commit is contained in:
parent
099bb1d600
commit
74bf888a84
@ -399,6 +399,50 @@ char* compile(tSyntaxElement* syntaxtree) {
|
||||
|
||||
compile_exit_tag(&result);
|
||||
|
||||
} else if (strcmp(token->content.string, "for") == 0) {
|
||||
|
||||
compile_enter_tag(&result);
|
||||
|
||||
string_append(&result, "for ");
|
||||
string_append_free(&result, compile_expression(token->next->content.syntax));
|
||||
string_append(&result, " in ");
|
||||
string_append_free(&result, compile_expression(token->next->content.syntax->next));
|
||||
|
||||
compile_exit_tag(&result);
|
||||
|
||||
|
||||
string_append_free(&result, compile(token->next->next));
|
||||
|
||||
|
||||
compile_enter_tag(&result);
|
||||
|
||||
string_append(&result, "endfor");
|
||||
|
||||
compile_exit_tag(&result);
|
||||
|
||||
} else if (strcmp(token->content.string, "formap") == 0) {
|
||||
|
||||
compile_enter_tag(&result);
|
||||
|
||||
string_append(&result, "for ");
|
||||
string_append_free(&result, compile_expression(token->next->content.syntax));
|
||||
string_append(&result, ", ");
|
||||
string_append_free(&result, compile_expression(token->next->content.syntax->next));
|
||||
string_append(&result, " in ");
|
||||
string_append_free(&result, compile_expression(token->next->content.syntax->next->next));
|
||||
|
||||
compile_exit_tag(&result);
|
||||
|
||||
|
||||
string_append_free(&result, compile(token->next->next));
|
||||
|
||||
|
||||
compile_enter_tag(&result);
|
||||
|
||||
string_append(&result, "endfor");
|
||||
|
||||
compile_exit_tag(&result);
|
||||
|
||||
} else if (strcmp(token->content.string, "verbatim") == 0) {
|
||||
|
||||
compile_enter_tag(&result);
|
||||
|
Loading…
Reference in New Issue
Block a user