Experimenting...
This commit is contained in:
parent
5e18ac75dc
commit
3d60a10e63
56
xiranda.c
56
xiranda.c
@ -54,7 +54,7 @@ int main (void) {
|
|||||||
int offset = 0;
|
int offset = 0;
|
||||||
int length = 0;
|
int length = 0;
|
||||||
|
|
||||||
buffer = file_import ("./test_x.x");
|
buffer = record ();
|
||||||
|
|
||||||
for (offset = 0; buffer [offset] != '\0'; ++offset) {
|
for (offset = 0; buffer [offset] != '\0'; ++offset) {
|
||||||
int size = 0;
|
int size = 0;
|
||||||
@ -148,8 +148,7 @@ int main (void) {
|
|||||||
case coin_loop:
|
case coin_loop:
|
||||||
case coin_import:
|
case coin_import:
|
||||||
case coin_system:
|
case coin_system:
|
||||||
case coin_return:
|
case coin_return: printf ("\033[1;33m%s\033[0m ", coin_text [length]); break;
|
||||||
printf ("\033[1;33m%s\033[0m ", coin_text [length]); break;
|
|
||||||
default: printf ("\033[1;31m%s\033[0m ", coin_text [length]); break;
|
default: printf ("\033[1;31m%s\033[0m ", coin_text [length]); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -159,56 +158,11 @@ int main (void) {
|
|||||||
for (length = 0; length < coin_code; ++length) {
|
for (length = 0; length < coin_code; ++length) {
|
||||||
if ((coin_enum [length] == coin_return) && (coin_enum [length + 1] == coin_stop)) {
|
if ((coin_enum [length] == coin_return) && (coin_enum [length + 1] == coin_stop)) {
|
||||||
printf ("; return;\nxor rax, rax\nret\n\n");
|
printf ("; return;\nxor rax, rax\nret\n\n");
|
||||||
|
} else if ((coin_enum [length] == coin_return) && (coin_enum [length + 1] == coin_number) && (coin_enum [length + 2] == coin_stop)) {
|
||||||
|
printf ("; return {number};\nmov rax, %s\nret\n\n", coin_text [length + 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
for (length = 0; length < coin_code; ++length) {
|
|
||||||
if ((coin_enum [length] == coin_word) && (coin_data [length] == word_return)) {
|
|
||||||
++length;
|
|
||||||
if ((coin_enum [length] == coin_symbol) && (symbol_data [coin_data [length]] == '(')) {
|
|
||||||
echo ("return (\n");
|
|
||||||
++length;
|
|
||||||
} else if ((coin_enum [length] == coin_symbol) && (symbol_data [coin_data [length]] == ';')) {
|
|
||||||
echo ("; return;\nxor rax, rax\nret\n");
|
|
||||||
++length;
|
|
||||||
} else if (coin_enum [length] == coin_number && (coin_enum [length + 1] == coin_symbol) && (symbol_data [coin_data [length + 1]] == ';')) {
|
|
||||||
printf ("; return {number};\nmov rax, %i\nret\n", number_data [coin_data [length]]);
|
|
||||||
++length;
|
|
||||||
} else {
|
|
||||||
kill ("return ?\n");
|
|
||||||
}
|
|
||||||
} else if ((coin_enum [length] == coin_word) && (coin_data [length] == word_if)) {
|
|
||||||
++length;
|
|
||||||
if ((coin_enum [length] == coin_symbol) && (symbol_data [coin_data [length]] == '(')) {
|
|
||||||
echo ("if (\n");
|
|
||||||
++length;
|
|
||||||
} else {
|
|
||||||
kill ("if ?\n");
|
|
||||||
}
|
|
||||||
} else if ((coin_enum [length] == coin_word) && (coin_data [length] == word_else)) {
|
|
||||||
++length;
|
|
||||||
if ((coin_enum [length] == coin_symbol) && (symbol_data [coin_data [length]] == ':')) {
|
|
||||||
echo ("else :\n");
|
|
||||||
++length;
|
|
||||||
} else if ((coin_enum [length] == coin_word) && (coin_data [length] == word_if)) {
|
|
||||||
echo ("else if\n");
|
|
||||||
++length;
|
|
||||||
} else {
|
|
||||||
echo ("else expression\n");
|
|
||||||
}
|
|
||||||
} else if ((coin_enum [length] == coin_word) && (coin_data [length] == word_type)) {
|
|
||||||
++length;
|
|
||||||
if (coin_enum [length] == coin_type) {
|
|
||||||
echo ("type <name> -- ");
|
|
||||||
echo (marker_name [coin_data [length]]);
|
|
||||||
echo ("\n");
|
|
||||||
++length;
|
|
||||||
} else {
|
|
||||||
kill ("type ?\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
buffer = deallocate (buffer);
|
buffer = deallocate (buffer);
|
||||||
|
|
||||||
return (log_success);
|
return (log_success);
|
||||||
|
Loading…
Reference in New Issue
Block a user