#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
Probleme:
-nu vede acoladele {
*/
int main()
{
char *s;
int u = 2,d = 2;
char *unu;
char *doi;
int ok = 0;
int cadru = 0;
int sir = 0;
s = (char *)malloc(1025*sizeof(char));
unu = (char *)malloc(u*sizeof(char));
doi = (char *)malloc(d*sizeof(char));
FILE *f = fopen("convertor.in", "r");
FILE *g = fopen("convertor.out", "w");
strcpy(unu, "n");
strcpy(doi, "n");
while (fgets(s, 1025, f))
{
if (cadru == 1 || cadru == 3) cadru--;
while (strlen(s) > 0)
{
switch (cadru)
{
case 0:
while (s[0] != '"' && strlen(s) > 0)
{
if (s[0] == '}' && ok == 0)
{
ok = 1;
strcpy(unu, unu + 1);
strcpy(doi, doi + 1);
fprintf(g, "%s\n%s", unu, doi);
}
if (s[0] == '{' && ok == 1)
{
fprintf(g, "\n");
}
strcpy(s, s + 1);
}
cadru = 1;
break;
case 1:
while (s[0] != '"' && strlen(s) > 0)
strcpy(s, s + 1);
strcpy(s, s + 1);
while (s[0] != '"' && strlen(s) > 0)
{
if (ok == 0)
{
u++;
unu = (char *)realloc(unu, u * sizeof(char));
strncat(unu, s, 1);
}
strcpy(s, s + 1);
}
cadru = 2;
if (ok == 0)
{
u++;
unu = (char *)realloc(unu, u * sizeof(char));
strcat(unu, ",");
}
strcpy(s, s + 1);
break;
case 2:
while (s[0] != '"' && (s[0] < '0' || s[0] > '9') && strlen(s) > 0)
strcpy(s, s + 1);
if (s[0] == '"') sir = 1;
cadru = 3;
break;
case 3:
if (sir == 1)
{
sir = 0;
strcpy(s, s + 1);
while (s[0] != '"')
{
if (ok == 0)
{
d++;
doi = (char *)realloc(doi, d * sizeof(char));
strncat(doi, s, 1);
}
else fprintf(g, "%c", s[0]);
strcpy(s, s + 1);
}
strcpy(s, s + 1);
}
else
{
while (s[0] >= '0' && s[0] <= '9' && strlen(s) > 0)
{
if (ok == 0)
{
d++;
doi = (char *)realloc(doi, d * sizeof(char));
strncat(doi, s, 1);
}
else fprintf(g, "%c", s[0]);
strcpy(s, s + 1);
}
}
if (ok == 0)
{
d++;
doi = (char *)realloc(doi, d * sizeof(char));
strcat(doi, ",");
}
else
{
fprintf(g, ",");
}
cadru = 0;
break;
}
}
}
fclose(f);
fclose(g);
return 0;
}