repositories
/
TP_AL_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reorder includes.
[TP_AL_C.git]
/
lexer
/
main.c
diff --git
a/lexer/main.c
b/lexer/main.c
index 9d49b77cb73e5d83f3f52a38b0b80e1d6dcf948b..d1efb4b6743e5deb766207a327c429c9d4100b5f 100644
(file)
--- a/
lexer/main.c
+++ b/
lexer/main.c
@@
-5,32
+5,30
@@
#include <getopt.h>
#include "global_vars.h"
#include <getopt.h>
#include "global_vars.h"
+#include "print_helper.h"
#include "lexical_analyzer.h"
#include "syntactic_analyzer.h"
#include "lexical_analyzer.h"
#include "syntactic_analyzer.h"
-#include "print_helper.h"
-void do_lexical_analysis() {
+
static
void do_lexical_analysis() {
c = fgetwc(source); // lecture du premier caractere
do {
scanner();
c = fgetwc(source); // lecture du premier caractere
do {
scanner();
- if (tokenType == MOT || tokenType == MOTCLE) {
- fwprintf(target, L"%20s: %ls\n", tokenTypestr[tokenType], token[tokenFound].value);
- } else {
- fwprintf(target, L"%20s\n", tokenTypestr[tokenType]);
- }
+ wprint_token(target);
token[tokenFound].type = tokenTypestr[tokenType];
tokenFound++;
} while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
}
token[tokenFound].type = tokenTypestr[tokenType];
tokenFound++;
} while (tokenType != FIN); // tant que la fin du fichier n'est pas atteinte
}
-void do_syntactic_analysis() {
+static 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
c = fgetwc(source); // lecture du premier caractere
- do {
-
analyze_AXIOME();
-
} while (tokenType != FIN
);
+ scanner();
+ analyze_AXIOME();
+
fputws(L"</html>\n", target
);
}
}
-void print_usage(const char* name) {
+
static
void print_usage(const char* name) {
fprintf(stdout,"Usage: %s [options]\n"
"Where [options] are:\n"
" -h, --help: display this help message\n"
fprintf(stdout,"Usage: %s [options]\n"
"Where [options] are:\n"
" -h, --help: display this help message\n"
@@
-38,6
+36,7
@@
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);
" -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) {
}
int main(int argc, char **argv) {
@@
-86,13
+85,15
@@
int main(int argc, char **argv) {
case ':':
/* missing option argument */
pr_error("%s: option '-%c' requires an argument\n",
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",
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;
}
}
break;
}
}
@@
-122,7
+123,7
@@
int main(int argc, char **argv) {
if (hflag) {
print_usage(argv[0]);
if (hflag) {
print_usage(argv[0]);
- } else if (lflag){
+ } else if (lflag)
{
do_lexical_analysis();
} else {
do_syntactic_analysis();
do_lexical_analysis();
} else {
do_syntactic_analysis();