Very ugly work in progress...

This commit is contained in:
Ognjen Milan Robovic 2024-04-06 20:33:13 -04:00
джерело 40917b92c1
коміт 423ed1f29e
3 змінених файлів з 43 додано та 16 видалено

7
heyo.x

@ -1,13 +1,6 @@
одреди слово = 1;
одреди број = 4;
одреди системски_позив (
читај = 0,
пиши = 1,
отвори = 2,
затвори = 3,
изађи = 60)
одреди описивач (
улаз,
излаз)

@ -42,12 +42,24 @@ static void add_coin (int data, int size, char * text) {
}
static void kill (char * text, int offset) {
int i;
terminal_colour (colour_red, effect_bold);
echo (text);
terminal_cancel ();
echo (coin_text [offset]);
echo ("\n");
/*exit (log_failure);*/
for (i = 0; i < offset + 3; ++i) {
if (i == offset) {
terminal_colour (colour_red, effect_bold);
echo (coin_text [i]);
echo (" ");
terminal_cancel ();
} else {
echo (coin_text [i]);
echo (" ");
}
}
echo ("\n");
}
int main (void) {
@ -107,14 +119,13 @@ int main (void) {
int counter = 0;
type_size [type_code] = 4;
for (++offset; offset < coin_code; ++offset) {
if ((coin_data [offset] == coin_symbol) && (* coin_text [offset] == ')')) {
++offset;
break;
} else if (coin_data [offset] == coin_marker) {
if (coin_data [offset] == coin_marker) {
string_copy (constant_name [constant_code], coin_text [offset]);
constant_type [constant_code] = type_code;
++offset;
if ((coin_data [offset] == coin_symbol) && (* coin_text [offset] == ',')) {
if ((coin_data [offset] == coin_symbol) && (* coin_text [offset] == ')')) {
break;
} else if ((coin_data [offset] == coin_symbol) && (* coin_text [offset] == ',')) {
constant_data [constant_code] = counter;
++counter;
++constant_code;
@ -125,9 +136,9 @@ int main (void) {
constant_data [constant_code] = number;
counter = number + 1;
++constant_code;
} else kill ("Expected number:", offset);
} else kill ("Expected = or ,:", offset);
} else kill ("Expected either marker or close symbol: ", offset);
} else kill ("Expected constant data number:", offset);
} else kill ("Expected = or , or ) ", offset);
} else kill ("Expected constant name marker: ", offset);
}
++type_code;
} else kill ("Expected equal or open bracket symbol: ", offset);

@ -49,3 +49,26 @@
видимо_се
врати 60
крај
-----------------------------------------------
одреди слово = 1;
одреди број = 4;
одреди описивач (
улаз,
излаз)
одреди системски_позив (
читај = 0,
пиши = 1,
отвори = 2,
затвори = 3,
изађи = 60)
текст: слово = "Здраво свете!";
дужина: број = 12;
главна_процедура ():
изврши (пиши, излаз, #текст, дужина);
врати;;