mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2025-01-07 22:32:05 +00:00
1 line
2.6 KiB
C++
1 line
2.6 KiB
C++
|
/* Conformance Test 24.0.3: Test the use of the extended character set */
#pragma lint -1
#include <stdio.h>
#include <string.h>
typedef enum {false, true} boolean;
void main (void)
{
boolean fail;
int a, b, c, i;
char str[128];
int <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>؉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˌ<EFBFBD><EFBFBD>̍<EFBFBD><EFBFBD>͎<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
int <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƈ<EFBFBD><EFBFBD><EFBFBD>˘<EFBFBD>؉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻˁ<EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>̓<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
/* Make sure alpha-"looking" characters are allowed in identifiers,
and that the lowercase versions are distinct from the uppercase
versions. */
fail = false;
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>؉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˌ<EFBFBD><EFBFBD>̍<EFBFBD><EFBFBD>͎<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 4;
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƈ<EFBFBD><EFBFBD><EFBFBD>˘<EFBFBD>؉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻˁ<EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>̓<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 5;
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>؉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˌ<EFBFBD><EFBFBD>̍<EFBFBD><EFBFBD>͎<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> != 4)
fail = true;
/* Make sure all special characters are allowed in strings */
strcpy(str, "");
for (i = 17; i <= 20; ++i)
if (str[i - 17] != i) {
fail = true;
printf("Character %d was incorrect in str.\n", i);
}
strcpy(str, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
for (i = 128; i <= 216; ++i)
if (str[i - 128] != i) {
fail = true;
printf("Character %d was incorrect in str.\n", i);
}
if ('<EFBFBD>' != 222) {
fail = true;
printf("Character 222 was incorrect in str.\n");
}
if ('<EFBFBD>' != 223) {
fail = true;
printf("Character 223 was incorrect in str.\n");
}
/* Make sure all special characters are allowed in comments */
/* The special character set is:
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ` p <20> <20> <20> <20> <20> <20>
1 ! 1 A Q a q <20> <20> <20> <20> <20> <20>
2 " 2 B R b r <20> <20> <20> <20> <20> <20>
3 # 3 C S c s <20> <20> <20> <20> <20> <20>
4 $ 4 D T d t <20> <20> <20> <20> <20> <20>
5 % 5 E U e u <20> <20> <20> <20> <20> <20>
6 & 6 F V f v <20> <20> <20> <20> <20> <20>
7 ' 7 G W g w <20> <20> <20> <20> <20> <20>
8 ( 8 H X h x <20> <20> <20> <20> <20> <20>
9 ) 9 I Y i y <20> <20> <20> <20> <20>
A * 0 J Z j z <20> <20> <20> <20> <20>
B + : K [ k { <20> <20> <20> <20> <20>
C , ; L \ l | <20> <20> <20> <20> <20>
D _ < M ] m } <20> <20> <20> <20> <20>
E . = N ^ n ~ <20> <20> <20> <20> <20> <20>
F / ? O _ o <20> <20> <20> <20> <20> <20>
*/
/* Make sure the special operators work */
/* Some lines also test the non-breaking space */
a<EFBFBD>=<EFBFBD>100;
b<EFBFBD>=<EFBFBD>3;
c<EFBFBD>=<EFBFBD>a<EFBFBD>b;
if<EFBFBD>(aʲ<EFBFBD>b)
fail = true;
if (! (a <EFBFBD> a))
fail = true;
if (b <EFBFBD> a)
fail = true;
if (! (b <EFBFBD> b))
fail = true;
if (c <EFBFBD> 33)
fail = true;
c = a <EFBFBD> 2;
if (c <EFBFBD> 400)
fail = true;
c = a <EFBFBD> 2;
if (c <EFBFBD> 25)
fail = true;
if (!fail)
printf("Passed Conformance Test 24.0.3\n");
else
printf("Failed Conformance Test 24.0.3\n");
}
|