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