summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/programs/lex/lex.stdin
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/programs/lex/lex.stdin')
-rw-r--r--testsuite/tests/ghc-regress/programs/lex/lex.stdin170
1 files changed, 0 insertions, 170 deletions
diff --git a/testsuite/tests/ghc-regress/programs/lex/lex.stdin b/testsuite/tests/ghc-regress/programs/lex/lex.stdin
deleted file mode 100644
index dcd009c41b..0000000000
--- a/testsuite/tests/ghc-regress/programs/lex/lex.stdin
+++ /dev/null
@@ -1,170 +0,0 @@
-module Graph where
-
-import Parse
-import StdLib
-import PSlib
-import GRIP
-
-paperX = 280::Int
-paperY = 190::Int
-
-fromInt :: Num a => Int -> a
-fromInt = fromInteger . toInteger
-
-gspostscript str = initialise stdheader ++ portrait ++ str ++ "showpage\n"
-postscript str = initialise stdheader ++ landscape ++ str ++ "showpage\n"
-
-ePostscript (reqdx,reqdy) str = initialise (stdheader++
- "%%BoundingBox: 0 0 "++show (cms2pts reqdx)++" "++show (cms2pts reqdy)++"\n"
- ++ "%%EndComments\n")
- ++ scale (fromInt reqdx*10/fromInt paperX) (fromInt reqdy*10/fromInt paperY) ++ str ++
- showpage
-
-initGraph title pedata (topX,topY) (xlabel,ylabel) keys =
- drawBox (Pt 0 0) paperX paperY ++
- drawBox (Pt 1 1) (paperX-2) 5 ++
- drawBox (Pt 1 (paperY-7)) (paperX-2) 6 ++
- setfont "BOLD" ++ moveto (Pt (paperX `div` 2) (paperY-6)) ++ cjustify (title) ++
- setfont "NORM" ++
- placePEs pedata ++
- translate 20 25 ++
- newpath ++ moveto (Pt 0 (-5)) ++ lineto (Pt 0 dimY) ++
- moveto (Pt (-5) 0) ++ lineto (Pt dimX 0) ++ stroke ++
- setfont "SMALL" ++
- markXAxis dimX topX++
- markYAxis dimY topY++
- moveto (Pt 0 (dimY+4)) ++ rjustify ylabel ++ stroke ++
- moveto (Pt dimX (-8)) ++ rjustify xlabel ++ stroke ++
- setfont "NORM" ++
- dokeys dimX keys
-
-placePEs (pes,on) | checkPEs (tail pes) on =
- showActive (length pes) (length used) ++
- showUsed pes used ++ setfont "NORM"
- where used = if on==[] then tail pes else on
-
-
-cms2pts :: Int -> Int
-cms2pts x = round (28.4584 * fromInt x)
-
-plotCurve :: Int -> [Point] -> Postscript
-plotCurve x pts = setgray x ++ fillObject pts
-
-plot :: [Point] -> Postscript
-plot points = plotCurve 5 (Pt 0 0:points)
-
-dokeys left keys = concat (map2 format (places 0) keys)
- where
- format pt@(Pt x y) (col,tex,pc) = fillBox pt 16 9 col ++ stroke ++ moveto (Pt (x+17) (y+3))
- ++ text tex ++ stroke ++ moveto (Pt (x+8) (y+3)) ++
- inv col ++ setfont "BOLD" ++ cjustify (pc) ++
- stroke ++ setfont "NORM" ++ setgray 10
- no=left `div` length keys
- places n | n == no = []
- places n = (Pt (n*no) (-17)):places (n+1)
-
-showActive t f =
- setfont "LARGE" ++ moveto (Pt 10 16) ++ cjustify (show f) ++
- setfont "SMALL" ++ moveto (Pt 10 12) ++ cjustify "PE(s)" ++ stroke ++
- setfont "SMALL" ++ moveto (Pt 10 8) ++ cjustify "displayed" ++ stroke ++
- setfont "NORM"
-
-showUsed (m:pes) on = moveto (Pt 2 2) ++ setfont "SMALL" ++ text "Configuration:" ++
- dopes (paperX-27) (("SMALLITALIC",showPE m):map f pes) ++ stroke
- where
- f pe | elem pe on = ("SMALLBOLD",showPE pe)
- | otherwise = ("SMALL",showPE pe)
-
-dopes left pes = concat (map2 format (places 0) pes)
- where
- format pt@(Pt x y) (font,tex) = setfont font ++ moveto pt ++ text tex ++ stroke
- no=left `div` ((length pes*2)+1)
- f x = (no*((x*2)+1)) + 27
- places n | n>2*no = []
- places n = (Pt (f n) 2):places (n+1)
-
-
-
-checkPEs pes [] = True
-checkPEs pes (p:ps) | elem p pes = checkPEs pes ps
- | otherwise = error ("Attempt to gather information from inactive PE - "++ showPE p)
-
-showPE :: PElement -> String
-showPE (PE str no) = str++"."++show no
-
-inv x | x>=5 = setgray 0
- | otherwise = setgray 10
-
-dimX = paperX-30
-dimY = paperY-40
-
-markXAxis :: Int -> Int -> Postscript
-markXAxis dimX maxX = label 10 ++ markOnX 100
- where
- label 0 = ""
- label x = newpath ++ moveto (Pt (notch x) 0) ++ rlineto 0 (-2) ++
- moveto (Pt (notch x) (-5)) ++
- cjustify (printFloat (t x)) ++ stroke ++ label (x-1)
- t x = fromInt x*(fromInt maxX / fromInt 10)
- notch x = x*(dimX `div` 10)
-
-markOnX n = mapcat notches [1..n] ++ stroke
- where
- notches n = movetofloat (m*fromInt n) 0 ++ (rlineto 0 (-1)) ++ stroke
- m = fromInt dimX/fromInt n
-
-
-markYAxis :: Int -> Int -> Postscript
-markYAxis dimY maxY = label 10 ++ markOnY (calibrate maxY)
- where
- label 0 = ""
- label x = newpath ++ moveto (Pt 0 (notch x)) ++ rlineto (-2) 0 ++
- moveto (Pt (-3) (notch x)) ++
- rjustify (printFloat (t x)) ++ stroke ++ label (x-1)
- t x = fromInt x*(fromInt maxY / fromInt 10)
- notch x = x*(dimY `div` 10)
-
-calibrate x | x<=1 = 1
- | x<=100 = x
- | otherwise = calibrate (x `div` 10)
-
-markOnY n = mapcat notches [1..n] ++ stroke
- where
- notches n = movetofloat 0 (m*fromInt n) ++ (rlineto (-1) 0)
- m = fromInt dimY/fromInt n
-
-movetofloat x y = show x ++ " " ++ show y ++ " moveto\n"
-
-
-determineScale :: [Point] -> (Int,Int)
-determineScale pts = (axisScale x, axisScale y)
- where (min,Pt x y) = minandmax pts
-
-axisScale :: Int -> Int
-axisScale x = axisScale' x 1
-axisScale' x m | x <= m = m
- | x <= m*2 = m*2
- | x <= m*5 = m*5
- | x <= m*10 = m*10
- | otherwise = axisScale' x (m*10)
-
-minandmax :: [Point] -> (Point,Point)
-minandmax [] = error "No points"
-minandmax (p:ps) = f (p,p) ps
- where
- f p [] = p
- f (Pt minx miny,Pt maxx maxy) (Pt x y:ps) = f (Pt minx' miny',Pt maxx' maxy') ps
- where minx' = min x minx
- miny' = min y miny
- maxx' = max x maxx
- maxy' = max y maxy
-
-
-printFloat :: Float -> String
-printFloat x = f (show (round (x*10)))
- where
- f "0" = "0"
- f r | x<1 = "0."++r
- f (r:"0") | x<10 = [r]
- f (r:m) | x<10 = r:'.':m
- f _ = show (round x)