diff options
-rw-r--r-- | FAQ-psx.txt | 1 | ||||
-rw-r--r-- | Xenogears/compil-2.lex | 54 | ||||
-rw-r--r-- | Xenogears/compil.lex | 13 |
3 files changed, 68 insertions, 0 deletions
diff --git a/FAQ-psx.txt b/FAQ-psx.txt index bb9001c..8acb67e 100644 --- a/FAQ-psx.txt +++ b/FAQ-psx.txt @@ -22,6 +22,7 @@ A: http://www.psxdev.ip3.com/ http://www.flyonthenet.it/net/psx_faq.htm http://badtaste.free.fr/ http://membres.lycos.fr/fennec + http://www.execpc.com/%7Ehalkun/PSX and this one *can* be useful: diff --git a/Xenogears/compil-2.lex b/Xenogears/compil-2.lex index 931a04c..9ad13f8 100644 --- a/Xenogears/compil-2.lex +++ b/Xenogears/compil-2.lex @@ -19,6 +19,7 @@ int block_width = 0; int errstate = 0; void yputc(int c, int a); + void unputs(char *); %% @@ -191,6 +192,39 @@ <I>"<oe>" unput('e'); unput('o'); <I>"<ae>" unput('e'); unput('a'); +>"<Elly>" unputs("<Gear 01>"); +<I>"<Citan>" unputs("<Gear 02>"); +<I>"<Bart>" unputs("<Gear 03>"); +<I>"<Billy>" unputs("<Gear 04>"); +<I>"<Rico>" unputs("<Gear 05>"); +<I>"<Emeralda>" unputs("<Gear 06>"); +<I>"<Chu-Chu>" unputs("<Gear 07>"); +<I>"<Maria>" unputs("<Gear 08>"); +<I>"<Citan-2>" unputs("<Gear 09>"); +<I>"<Emeralda-2>" unputs("<Gear 10>"); +<I>"<Weltall>" unputs("<Gear 11>"); +<I>"<Waltall-2>" unputs("<Gear 12>"); +<I>"<Vierge>" unputs("<Gear 13>"); +<I>"<Heimdal>" unputs("<Gear 14>"); +<I>"<Brigandier>" unputs("<Gear 15>"); +<I>"<Renmazuo>" unputs("<Gear 16>"); +<I>"<Stier>" unputs("<Gear 17>"); +<I>"<BigChu-chu>" unputs("<Gear 18>"); +<I>"<Seibzehn>" unputs("<Gear 19>"); +<I>"<Crescens>" unputs("<Gear 20>"); +<I>"<Regurus>" unputs("<Gear 21>"); +<I>"<Fenrir>" unputs("<Gear 22>"); +<I>"<Andvari>" unputs("<Gear 23>"); +<I>"<Renmazuo>" unputs("<Gear 24>"); +<I>"<Stier-2>" unputs("<Gear 25>"); +<I>"<Xenogears>" unputs("<Gear 26>"); +<I>"<BARTHOS>" unputs("<Gear 27>"); +<I>"<Yggdra>" unputs("<Gear 29>"); +<I>"<Perso1>" unputs("<Gear 128>"); +<I>"<Perso2>" unputs("<Gear 129>"); +<I>"<Perso3>" unputs("<Gear 130>"); + + <I>"\n<End_of_block>" { if (line_width > max_line_width) max_line_width = line_width; @@ -212,6 +246,18 @@ <O>\n num_lines++; <O>. /* Eat up comments */ +<I>\210 unputs("à"); +<I>\211 unputs("â"); +<I>\216 unputs("é"); +<I>\217 unputs("è"); +<I>\220 unputs("ê"); +<I>\224 unputs("î"); +<I>\225 unputs("ï"); +<I>\231 unputs("ô"); +<I>\235 unputs("ù"); +<I>\236 unputs("û"); +<I>\215 unputs("ç"); + <I>. { putc(*yytext, yyout); } @@ -253,3 +299,11 @@ void yputc(int c, int a) { line_width += a; putc(c, yyout); } + +void unputs(char * s) { + int l = strlen(s), i; + + for (i = l - 1; i >= 0; i--) { + unput(s[i]); + } +} diff --git a/Xenogears/compil.lex b/Xenogears/compil.lex index 7d221df..21e0572 100644 --- a/Xenogears/compil.lex +++ b/Xenogears/compil.lex @@ -332,6 +332,19 @@ <O>\n num_lines++; <O>. /* Eat up comments */ + +<I>\210 unputs("à"); +<I>\211 unputs("â"); +<I>\216 unputs("é"); +<I>\217 unputs("è"); +<I>\220 unputs("ê"); +<I>\224 unputs("î"); +<I>\225 unputs("ï"); +<I>\231 unputs("ô"); +<I>\235 unputs("ù"); +<I>\236 unputs("û"); +<I>\215 unputs("ç"); + <I>. { fprintf(stderr, "Invalid character at line %i: '%c'\n", num_lines, *yytext); errstate = 1; |