Parcourir la source

Very ugly work in progress...

master
Ognjen Milan Robovic il y a 1 mois
Parent
révision
423ed1f29e
3 fichiers modifiés avec 43 ajouts et 16 suppressions
  1. +0
    -7
      heyo.x
  2. +20
    -9
      xiranda.c
  3. +23
    -0
      тест.срб

+ 0
- 7
heyo.x Voir le fichier

@@ -1,13 +1,6 @@
одреди слово = 1;
одреди број = 4;

одреди системски_позив (
читај = 0,
пиши = 1,
отвори = 2,
затвори = 3,
изађи = 60)

одреди описивач (
улаз,
излаз)


+ 20
- 9
xiranda.c Voir le fichier

@@ -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);


+ 23
- 0
тест.срб Voir le fichier

@@ -49,3 +49,26 @@
видимо_се
врати 60
крај

-----------------------------------------------

одреди слово = 1;
одреди број = 4;

одреди описивач (
улаз,
излаз)

одреди системски_позив (
читај = 0,
пиши = 1,
отвори = 2,
затвори = 3,
изађи = 60)

текст: слово = "Здраво свете!";
дужина: број = 12;

главна_процедура ():
изврши (пиши, излаз, #текст, дужина);
врати;;

Chargement…
Annuler
Enregistrer