1-- !!! Testing the behaviour of Char.lexLitChar a little..
2
3-- [March 2003]  We now allow \X and \O as escapes although the
4-- spec only permits \x and \o.  Seems more consistent.
5
6module Main where
7
8import Data.Char
9
10lex' str = do
11  putStr ("lex " ++ str ++ " = ")
12  print (lex str)
13
14hexes = do
15  lex' "'\\X00'"
16  lex' "'\\x0f2'"
17  lex' "'\\xf2'"
18  lex' "'\\xf2t'"
19  lex' "'\\X24'"
20  lex' "'\\x24b'"
21  lex' "'\\Xa4b'"
22  lex' "'\\xa4bg'"
23
24octs = do
25  lex' "'\\o00'"
26  lex' "'\\o05'"
27  lex' "'\\o50'"
28  lex' "'\\o72'"
29  lex' "'\\o82'"
30  lex' "'\\O24'"
31  lex' "'\\O000024'"
32  lex' "'\\024b'"
33  lex' "'\\o14b'"
34  lex' "'\\0a4bg'"
35
36main = do
37  hexes
38  octs
39
40
41
42
43
44