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