c = fgetwc(source); // lecture du premier caractere
do {
scanner();
- wprint_token();
+ wprint_token(target);
token[tokenFound].type = tokenTypestr[tokenType];
+ wcscpy((wchar_t*)tokenValue, (wchar_t*)token[tokenFound].value);
tokenFound++;
} while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
}
void do_syntactic_analysis() {
+ fputws(L"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr_FR\" lang=\"fr_FR\">\n",
+ target);
c = fgetwc(source); // lecture du premier caractere
+ scanner();
analyze_AXIOME();
+ fputws(L"</html>\n", target);
}
void print_usage(const char* name) {
" -i, --input<filename>: use <filename> as input file instead of standard input\n"
" -o, --output<filename>: use <filename> as output file instead of standard output\n",
name);
+ fflush(stdout);
}
int main(int argc, char **argv) {
case ':':
/* missing option argument */
pr_error("%s: option '-%c' requires an argument\n",
- argv[0], optopt);
+ argv[0], optopt);
break;
case '?':
default:
/* invalid option */
pr_error("%s: option '-%c' is invalid: ignored\n",
- argv[0], optopt);
+ argv[0], optopt);
+ /* print the help message for invalid options */
+ hflag = 1;
break;
}
}
if (hflag) {
print_usage(argv[0]);
- } else if (lflag){
+ } else if (lflag) {
do_lexical_analysis();
} else {
do_syntactic_analysis();