00001 #include <stdio.h>
00002 #include <stdlib.h>
00003 #include <string.h>
00004 #include "php_parse_tree.h"
00005
00006 int main(int argc, char *argv[])
00007 {
00008 char filename[512] = "";
00009 extern FILE* yyin;
00010 extern char* _xml_output;
00011 extern int _error;
00012
00013 if (argc < 2)
00014 return 0;
00015 strncpy(filename, argv[1], 512);
00016 yyin = fopen(filename, "r");
00017 if (!yyin) {
00018 return 0;
00019 }
00020 yyparse();
00021 fclose(yyin);
00022 if(_error){
00023 return 0;
00024 }
00025 char outfname[1024];
00026 if (argc == 3) {
00027 strncpy(outfname, argv[2], 1024);
00028 }
00029 else {
00030 strncpy(outfname, filename, 512);
00031 strcat(outfname, ".xml");
00032 }
00033 FILE *temp = (FILE *)NULL;
00034 if ((temp = fopen(outfname, "w")))
00035 {
00036 fprintf(temp, "%s",_xml_output);
00037 }
00038 fclose(temp);
00039 return 0;
00040 }