From: SourceForge.net <no...@so...> - 2005-10-25 22:29:57
|
Bugs item #1313083, was opened at 2005-10-04 17:29 Message generated for change (Settings changed) made by helly You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=616200&aid=1313083&group_id=96864 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Pending >Resolution: Accepted Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Marcus Börger (helly) Summary: -e (EBCDIC cross compile) broken Initial Comment: ---- test1.re ---- /*!re2c [a-z] { printf("Small letter"); } [\000-\377] { printf( "anyting else" ); } */ -------------------- re2c -e test1.re [a-z] matches some non-letters. Cause: range boundaries translated to EBCDIC, *then* interpreted as a range. ----------------------------------------------------- --- test2.re --- /*!re2c . { printf("Anything but newline"); } [\000-\377] { printf("newline"); } */ ----------------- re2c -e test2.re Takes 0x0A to be newline, but this is not the case in EBCDIC. Cause: mkDot() uses ASCII \n where EBCDIC \n is expected. ---------------------------------------- --- test3a.re ---- /*!re2c 'abcdefghijklmnopqrstuvwxyz' { printf("Small or capital letter"); } [\000-\377] { printf( "anyting else" ); } */ -------------------------- --- test3b.re --- /*!re2c 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' { printf("Small or capital letter"); } [\000-\377] { printf( "anyting else" ); } */ ------------------------- re2c -e fails to generate case insensitivity. Cause: (ASCII) toupper and tolower used on EBCDIC encoded letters. ---------------------------------------------------------------------- >Comment By: Marcus Börger (helly) Date: 2005-10-25 22:29 Message: Logged In: YES user_id=271023 Can you check the patch i provided here. It should fix cases 2 and 3. The first issue isn't that easy. I currently think the only way we can do is to translate the ascii range in single or'd ecb chars since the codes are not only shifted by a const offset. Thus a translation of a range in ascii might translate in a different range in ecb enven though in your example it would work. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=616200&aid=1313083&group_id=96864 |