1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 
5 #define NATOMS 120
6 #define BSIZE 1024
7 
8 /**********************************************/
str_delete_n(char * str)9 void str_delete_n(char* str)
10 {
11 	char *s;
12 
13 	if(str == NULL)
14 		return;
15 
16 	if (!*str)
17 		return;
18 	for (s = str + strlen (str) - 1; s >= str && ((unsigned char)*s)=='\n'; s--)
19 		*s = '\0';
20 }
21 /**********************************************/
delete_last_spaces(char * str)22 void delete_last_spaces(char* str)
23 {
24 	char *s;
25 
26 	if(str == NULL)
27 		return;
28 
29 	if (!*str)
30 		return;
31 	for (s = str + strlen (str) - 1; s >= str && isspace ((unsigned char)*s); s--)
32 		*s = '\0';
33 }
34 /**********************************************/
delete_first_spaces(char * str)35 void delete_first_spaces(char* str)
36 {
37 	unsigned char *start;
38 	int i;
39 	int lenSpace = 0;
40 
41 	if(str == NULL)
42 		return;
43 	if (!*str)
44 		return;
45 
46 	for (start = str; *start && isspace (*start); start++)lenSpace++;
47 
48 	for(i=0;i<(int)(strlen(str)-lenSpace);i++)
49 		str[i] = str[i+lenSpace];
50 	str[strlen(str)-lenSpace] = '\0';
51 }
52 /**********************************************/
add_setProp(char * str)53 void add_setProp(char* str)
54 {
55 	unsigned char *start;
56 	int i;
57 	int l;
58 	int k = 0;
59 	char dump[BSIZE];
60 
61 	if(str == NULL) return;
62 	if (!*str) return;
63 
64 	for(i=0, l=0;i<(int)(strlen(str));i++)
65 	{
66 		if(str[i]==' ')
67 		{
68 			if(k==0)
69 			{
70 			       	dump[l]='"';
71 				l++;
72 			       	dump[l]=',';
73 				l++;
74 			}
75 			else
76 			{
77 			       	dump[l]=',';
78 				l++;
79 			}
80 			k++;
81 		}
82 	       	dump[l]=str[i];
83 		l++;
84 	}
85 	dump[l]='\0';
86 	str[l]='\0';
87 	for(l=0;l<(int)(strlen(dump));l++) str[l] = dump[l];
88 
89 }
90 /**********************************************/
main(int argc,char * argv[])91 int main(int argc,char* argv[])
92 {
93 	FILE* fin;
94 	FILE* fout;
95 	char t[BSIZE];
96 	char* filename = NULL;
97 	if(argc<2)
98 	 	filename = strdup("p");
99 	else
100 		filename = strdup(argv[1]);
101 
102 	printf("Input file = %s\n",filename);
103 	printf("Output file = %s\n","p.c");
104 
105 	fin = fopen(filename,"r");
106 	if(!fin)
107 	{
108 		printf("I can not open %s\n",filename);
109 		return 1;
110 	}
111 	fout = fopen("p.c","w");
112 	if(!fout)
113 	{
114 		printf("I can not open Fragment.c\n");
115 		return 1;
116 	}
117 	while(!feof(fin))
118 	{
119 		if(!fgets(t,BSIZE,fin))
120 		break;
121 		delete_first_spaces(t);
122 		delete_last_spaces(t);
123 		str_delete_n(t);
124 		add_setProp(t);
125  		fprintf(fout,"\tsetPropForOneAtom(\"%s);\n",t);
126 	}
127 	fclose(fin);
128 	fclose(fout);
129 	return 0;
130 }
131