-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmacros.bac.c
159 lines (159 loc) · 3.85 KB
/
macros.bac.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/* Created with BaCon 4.4.1 - (c) Peter van Eerten - MIT License */
#include "macros.bac.h"
#include "macros.bac.string.h"
#include "macros.bac.float.h"
/****************************/
/* Main program starts here */
/****************************/
int main (int argc, char **argv)
{
setvbuf (stdout, NULL, _IOLBF, 0);
if (argc > 0)
{
__b2c__me_var__b2c__string_var = strdup (argv[0]);
}
if (argc == 2 && !strcmp (argv[1], "-bacon"))
{
fprintf (stderr, "Converted by %s.\n", COMPILED_BY_WHICH_BACON__b2c__string_var);
exit (EXIT_SUCCESS);
}
/* Setup the reserved variable 'ARGUMENT' */
__b2c__argument (&ARGUMENT__b2c__string_var, argc, argv);
/* By default seed random generator */
srandom ((unsigned int) time (NULL));
/* Determine current moment and keep it for timer function */
__b2c__timer (1);
/* Setup error signal handling */
signal (SIGILL, __b2c__catch_signal);
signal (SIGABRT, __b2c__catch_signal);
signal (SIGFPE, __b2c__catch_signal);
signal (SIGSEGV, __b2c__catch_signal);
/* Rest of the program */
#line 1 "macros.bac"
#line 2 "macros.bac"
#line 3 "macros.bac"
#line 4 "macros.bac"
#line 5 "macros.bac"
#line 6 "macros.bac"
#line 7 "macros.bac"
#line 11 "macros.bac"
#line 13 "macros.bac"
for (I = 0; I <= 20; I += 1)
{
#line 14 "macros.bac"
A[(uint64_t) I] = (long) (INT (RANDOM (100)));
#line 15 "macros.bac"
}
#line 17 "macros.bac"
__b2c__gosub_buffer_ptr++;
if (__b2c__gosub_buffer_ptr >= 64)
{
ERROR = 31;
if (!__b2c__catch_set)
RUNTIMEERROR ("GOSUB", 17, "macros.bac", ERROR);
else if (!setjmp (__b2c__jump))
goto __B2C__PROGRAM__EXIT;
}
if (!setjmp (__b2c__gosub_buffer[__b2c__gosub_buffer_ptr]))
goto PRINT_ARRAY;
__b2c__gosub_buffer_ptr--;
if (__b2c__gosub_buffer_ptr < -1)
__b2c__gosub_buffer_ptr = -1;
#line 19 "macros.bac"
for (I = 19; I >= 0; I += -1)
{
#line 20 "macros.bac"
__b2c__assign = (char *) ".";
if (__b2c__assign != NULL)
{
fputs (__b2c__assign, stdout);
}
fflush (stdout);
#line 21 "macros.bac"
for (J = 0; J <= I; J += 1)
{
#line 22 "macros.bac"
if ((A[(uint64_t) J]) > A[(uint64_t) J + 1])
{
#line 23 "macros.bac"
X = (long) (A[(uint64_t) J]);
#line 24 "macros.bac"
A[(uint64_t) J] = (long) (A[(uint64_t) J + 1]);
#line 25 "macros.bac"
A[(uint64_t) J + 1] = (long) (X);
#line 26 "macros.bac"
}
#line 27 "macros.bac"
}
if (__b2c__break_ctr)
{
__b2c__break_ctr--;
if (!__b2c__break_ctr)
{
if (__b2c__break_flag == 1)
break;
else
continue;
}
else
break;
}
#line 28 "macros.bac"
}
#line 30 "macros.bac"
__b2c__assign = (char *) "";
if (__b2c__assign != NULL)
{
fputs (__b2c__assign, stdout);
}
fputs ("\n", stdout);
#line 31 "macros.bac"
__b2c__assign = (char *) "SORTED:";
if (__b2c__assign != NULL)
{
fputs (__b2c__assign, stdout);
}
fputs ("\n", stdout);
#line 33 "macros.bac"
__b2c__gosub_buffer_ptr++;
if (__b2c__gosub_buffer_ptr >= 64)
{
ERROR = 31;
if (!__b2c__catch_set)
RUNTIMEERROR ("GOSUB", 33, "macros.bac", ERROR);
else if (!setjmp (__b2c__jump))
goto __B2C__PROGRAM__EXIT;
}
if (!setjmp (__b2c__gosub_buffer[__b2c__gosub_buffer_ptr]))
goto PRINT_ARRAY;
__b2c__gosub_buffer_ptr--;
if (__b2c__gosub_buffer_ptr < -1)
__b2c__gosub_buffer_ptr = -1;
#line 34 "macros.bac"
exit (EXIT_SUCCESS);
#line 36 "macros.bac"
PRINT_ARRAY:
;
__b2c__label_floatarray_PRINT_ARRAY = 0;
__b2c__label_stringarray_PRINT_ARRAY = 0;
#line 37 "macros.bac"
#line 38 "macros.bac"
for (I = 0; I <= 20; I += 1)
{
#line 39 "macros.bac"
fputs (STR__b2c__string_var (I), stdout);
__b2c__assign = (char *) " ";
if (__b2c__assign != NULL)
{
fputs (__b2c__assign, stdout);
}
fputs (STR__b2c__string_var (A[(uint64_t) I]), stdout);
fputs ("\n", stdout);
#line 40 "macros.bac"
}
#line 41 "macros.bac"
if (__b2c__gosub_buffer_ptr >= 0)
longjmp (__b2c__gosub_buffer[__b2c__gosub_buffer_ptr], 1);
__B2C__PROGRAM__EXIT:
return (0);
}