1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
input: 1;
output: 2;
tables:
ebcdic[256] = {
@"00, @"01, @"02, @"03, @"FF, @"09, @"FF, @"7F,
@"FF, @"FF, @"FF, @"0B, @"0C, @"0D, @"0E, @"0F,
@"10, @"11, @"12, @"13, @"FF, @"FF, @"08, @"FF,
@"18, @"09, @"FF, @"FF, @"1C, @"1D, @"1E, @"1F,
@"FF, @"FF, @"FF, @"FF, @"FF, @"0A, @"17, @"1B,
@"FF, @"FF, @"FF, @"FF, @"FF, @"05, @"06, @"07,
@"FF, @"FF, @"16, @"FF, @"FF, @"FF, @"FF, @"04,
@"FF, @"FF, @"FF, @"FF, @"14, @"15, @"FF, @"1A,
@"20, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"FF, @"5B, @"2E, @"3C, @"28, @"2B, @"21,
@"26, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"FF, @"5D, @"24, @"2A, @"29, @"3B, @"5E,
@"2D, @"2F, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"FF, @"7C, @"2C, @"25, @"5F, @"3E, @"3F,
@"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"60, @"3A, @"23, @"40, @"27, @"3D, @"22,
@"FF, @"61, @"62, @"63, @"64, @"65, @"66, @"67,
@"68, @"69, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"6A, @"6B, @"6C, @"6D, @"6E, @"6F, @"70,
@"71, @"72, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"7E, @"73, @"74, @"75, @"76, @"77, @"78,
@"79, @"7A, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"7B, @"41, @"42, @"43, @"44, @"45, @"46, @"47,
@"48, @"49, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"7D, @"4A, @"4B, @"4C, @"4D, @"4E, @"4F, @"50,
@"51, @"52, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"5C, @"FF, @"53, @"54, @"55, @"56, @"57, @"58,
@"59, @"5A, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF,
@"30, @"31, @"32, @"33, @"34, @"35, @"36, @"37,
@"38, @"39, @"FF, @"FF, @"FF, @"FF, @"FF, @"FF
};
expressions:
@"00-@"FF => #(ebcdic[\1]);
|