#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

void main () {
FILE *infile;
char tag[1000], ti[1000], au[1000], in[1000], ab[10000];
char linija[10000], linnija[10000];
int tag_n=0, linija_n=0, linnija_n;
int greska, ch, ccc=0, sss=0, lll=0, i, nxt=1;

if ((infile=fopen("test.txt", "r"))==NULL) {
	printf("GRESKA pri otvaranju fajla 'test.txt'\n");
   exit(0);
   }

for(;(ch=fgetc(infile))!=EOF;) {
	if (lll>0) {
   	if (ch=='\n') {
      	linija[linija_n++]='<';
      	linija[linija_n++]='B';
      	linija[linija_n++]='R';
      	linija[linija_n++]='>';
         }
		else
   		linija[linija_n++]=(char)ch;
   	}
	if (sss==2) {
   	tag[tag_n++]=(char)ch;
   	}
	if (sss==1)
   	ccc=ccc + 1;
   if (ccc>1)
   	ccc=0;
   if (ch=='~' && sss==0) {
   	sss++;
      ccc=0;
      }
	else if (sss==1 && ch=='#') {
   	sss++;
      tag_n=0;
      }
   else if (sss==2 && ch=='#') {
   	sss++;
      }
	else if (sss==3 && ch=='~') {
      tag[tag_n]=0;
		tag_n=0;
		lll=1;
      sss=0;
		if (tag[0]=='!') {
			linija[linija_n-7]=0;

         linnija_n=0;
         for (i=0; i<linija_n && linija[i]!=0; i++) {
         	if (linija[i]=='\"') {
	         	linnija[linnija_n++]='\\';
   	      	linnija[linnija_n++]='\"';
            	}
            else
         		linnija[linnija_n++]=linija[i];
         	}
         linnija[linnija_n]=0;
         strcpy(linija, linnija);

         greska=0;
      	switch(tag[1]) {
         	case 'N':
	            printf("%d,\"%s\",\"%s\"\n", nxt, ti, ab);
         		nxt++;
               break;
         	case 'T':
         		strcpy(ti, linija);
               break;
            case 'I':
            	strcpy(in, linija);
               break;
            case 'A':
            	switch(tag[2]) {
               	case 'B':
            			strcpy(ab, linija);
                     break;
                  case 'U':
                  	strcpy(au, linija);
                     break;
                  default:
                  	greska=1;
                  	break;
                  }
               break;
            default:
					greska=1;
            	break;
            }

			if (greska>0) {
				printf("NEPOZNATI TAG: '%s'\n", tag);
				}

         lll=0;
      	}
      linija_n=0;
		}
	}

fclose(infile);

}


