diff --git a/A.csv b/A.csv deleted file mode 100644 index ad83ff0cbe81659d8754e72d6787442f7f010972..0000000000000000000000000000000000000000 --- a/A.csv +++ /dev/null @@ -1,3 +0,0 @@ -Steven , Steve , Butcher -Dudley , Dudley , Timms -Gillian , Gillian , Carter \ No newline at end of file diff --git a/B.csv b/B.csv deleted file mode 100644 index bf47bb37fc5f31f96d9ef7be71cafe1ea4efb211..0000000000000000000000000000000000000000 --- a/B.csv +++ /dev/null @@ -1,3 +0,0 @@ -jian,shi -andrew,sogokon -julian,rathke \ No newline at end of file diff --git a/CSV.hs b/CSV.hs index 39d0c4a3773bb5306350dcddce03648ff6ad6d44..6982355bc539da5dfc74bb86be3b609f3d7d3079 100644 --- a/CSV.hs +++ b/CSV.hs @@ -2,6 +2,7 @@ module CSV where import System.IO import Data.List +import Debug.Trace readCSV :: FilePath -> IO [[String]] readCSV fname = do @@ -9,16 +10,19 @@ readCSV fname = do return $ readCSVString str readCSVString :: String -> [[String]] -readCSVString whole = [splitElem ',' (line++" " ) | line <- splitElem '\n' whole] -splitElem :: Eq a => a -> [a] -> [[a]] -splitElem elem = split (/=elem) +readCSVString whole = [split ',' (' ':line ++ " ") | line <- split '\n' whole] +split :: Eq a => a -> [a] -> [[a]] -split :: (a -> Bool) -> [a] -> [[a]] -split p l = case span p l of - ([], _) -> [] - (match, []) -> [match] - (match, _:rem') -> match:split p rem' +split c l = (\(l, _, _) -> reverse $ map reverse l) $ head $ dropWhile notEnd $ iterate split_ ([], [], l) + where + split_ (la, wa, []) = (wa:la, [], []) + split_ (la, wa, c':l_tail) | c == c' = (wa:la, [], l_tail) + | otherwise = (la, c':wa, l_tail) + notEnd (_, [], []) = False + notEnd _= True + +split1 a = span (==a) print2DList :: [[String]] -> IO () print2DList = putStrLn.toCSVString diff --git a/Lexer.hs b/Lexer.hs deleted file mode 100644 index b82aa948d0bd41cbb67ba81b4da033578c8e18a1..0000000000000000000000000000000000000000 --- a/Lexer.hs +++ /dev/null @@ -1,7058 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-missing-signatures #-} -{-# LANGUAGE CPP #-} -{-# LINE 1 "Lexer.x" #-} - -module Lexer where -import Data.List - -#if __GLASGOW_HASKELL__ >= 603 -#include "ghcconfig.h" -#elif defined(__GLASGOW_HASKELL__) -#include "config.h" -#endif -#if __GLASGOW_HASKELL__ >= 503 -import Data.Array -#else -import Array -#endif -{-# LINE 1 "templates/wrappers.hs" #-} --- ----------------------------------------------------------------------------- --- Alex wrapper code. --- --- This code is in the PUBLIC DOMAIN; you may copy it freely and use --- it for any purpose whatsoever. - - - - - -import Data.Word (Word8) - - - - - - - - - - - - - - - - -import Data.Char (ord) -import qualified Data.Bits - --- | Encode a Haskell String to a list of Word8 values, in UTF8 format. -utf8Encode :: Char -> [Word8] -utf8Encode = uncurry (:) . utf8Encode' - -utf8Encode' :: Char -> (Word8, [Word8]) -utf8Encode' c = case go (ord c) of - (x, xs) -> (fromIntegral x, map fromIntegral xs) - where - go oc - | oc <= 0x7f = ( oc - , [ - ]) - - | oc <= 0x7ff = ( 0xc0 + (oc `Data.Bits.shiftR` 6) - , [0x80 + oc Data.Bits..&. 0x3f - ]) - - | oc <= 0xffff = ( 0xe0 + (oc `Data.Bits.shiftR` 12) - , [0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f) - , 0x80 + oc Data.Bits..&. 0x3f - ]) - | otherwise = ( 0xf0 + (oc `Data.Bits.shiftR` 18) - , [0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f) - , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f) - , 0x80 + oc Data.Bits..&. 0x3f - ]) - - - -type Byte = Word8 - --- ----------------------------------------------------------------------------- --- The input type - - -type AlexInput = (AlexPosn, -- current position, - Char, -- previous char - [Byte], -- pending bytes on current char - String) -- current input string - -ignorePendingBytes :: AlexInput -> AlexInput -ignorePendingBytes (p,c,_ps,s) = (p,c,[],s) - -alexInputPrevChar :: AlexInput -> Char -alexInputPrevChar (_p,c,_bs,_s) = c - -alexGetByte :: AlexInput -> Maybe (Byte,AlexInput) -alexGetByte (p,c,(b:bs),s) = Just (b,(p,c,bs,s)) -alexGetByte (_,_,[],[]) = Nothing -alexGetByte (p,_,[],(c:s)) = let p' = alexMove p c - in case utf8Encode' c of - (b, bs) -> p' `seq` Just (b, (p', c, bs, s)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- ----------------------------------------------------------------------------- --- Token positions - --- `Posn' records the location of a token in the input text. It has three --- fields: the address (number of chacaters preceding the token), line number --- and column of a token within the file. `start_pos' gives the position of the --- start of the file and `eof_pos' a standard encoding for the end of file. --- `move_pos' calculates the new position after traversing a given character, --- assuming the usual eight character tab stops. - - -data AlexPosn = AlexPn !Int !Int !Int - deriving (Eq,Show) - -alexStartPos :: AlexPosn -alexStartPos = AlexPn 0 1 1 - -alexMove :: AlexPosn -> Char -> AlexPosn -alexMove (AlexPn a l c) '\t' = AlexPn (a+1) l (c+alex_tab_size-((c-1) `mod` alex_tab_size)) -alexMove (AlexPn a l _) '\n' = AlexPn (a+1) (l+1) 1 -alexMove (AlexPn a l c) _ = AlexPn (a+1) l (c+1) - - --- ----------------------------------------------------------------------------- --- Monad (default and with ByteString input) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- ----------------------------------------------------------------------------- --- Basic wrapper - - - - - - - - - - - - - - - - - - - - - - - - --- ----------------------------------------------------------------------------- --- Basic wrapper, ByteString version - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- ----------------------------------------------------------------------------- --- Posn wrapper - --- Adds text positions to the basic model. - - ---alexScanTokens :: String -> [token] -alexScanTokens str0 = go (alexStartPos,'\n',[],str0) - where go inp__@(pos,_,_,str) = - case alexScan inp__ 0 of - AlexEOF -> [] - AlexError ((AlexPn _ line column),_,_,_) -> error $ "lexical error at line " ++ (show line) ++ ", column " ++ (show column) - AlexSkip inp__' _ln -> go inp__' - AlexToken inp__' len act -> act pos (take len str) : go inp__' - - - --- ----------------------------------------------------------------------------- --- Posn wrapper, ByteString version - - - - - - - - - - - - - - --- ----------------------------------------------------------------------------- --- GScan wrapper - --- For compatibility with previous versions of Alex, and because we can. - - - - - - - - - - - - - - -alex_tab_size :: Int -alex_tab_size = 8 -alex_base :: Array Int Int -alex_base = listArray (0 :: Int, 73) - [ -8 - , -115 - , -54 - , -53 - , -13 - , -108 - , 115 - , -99 - , -101 - , 0 - , 228 - , 436 - , -104 - , 0 - , 368 - , 590 - , -49 - , -102 - , -95 - , 713 - , 649 - , 0 - , 616 - , 895 - , 867 - , 0 - , 896 - , 1112 - , 1140 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , -89 - , 1224 - , 1252 - , 1336 - , 1364 - , 1448 - , 1476 - , 1560 - , 1588 - , 1672 - , 1700 - , 1784 - , 1812 - , 1896 - , 1924 - , 2008 - , 2036 - , 2120 - , 2148 - , 2232 - , 2260 - , 2344 - , 2372 - , 2456 - , 2484 - , 2568 - , 2596 - , 2654 - , 877 - , 2729 - , 0 - ] - -alex_table :: Array Int Int -alex_table = listArray (0 :: Int, 2984) - [ 0 - , 22 - , 22 - , 22 - , 22 - , 22 - , 25 - , 34 - , 35 - , 17 - , 8 - , 12 - , 1 - , 33 - , 30 - , 29 - , 18 - , 0 - , 0 - , 0 - , 0 - , 0 - , 5 - , 0 - , 22 - , 0 - , 11 - , 23 - , 0 - , 0 - , 0 - , 0 - , 37 - , 38 - , 0 - , 36 - , 42 - , 16 - , 43 - , 3 - , 72 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 39 - , 40 - , 0 - , 2 - , 0 - , 0 - , 0 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 31 - , 41 - , 32 - , 0 - , 0 - , 0 - , 60 - , 60 - , 57 - , 60 - , 60 - , 56 - , 60 - , 60 - , 59 - , 60 - , 60 - , 60 - , 53 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 65 - , 60 - , 60 - , 60 - , 44 - , 60 - , 60 - , 19 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 4 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 14 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 20 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 73 - , 22 - , 22 - , 22 - , 22 - , 22 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 22 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , 15 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 71 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 19 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 21 - , 20 - , 4 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 13 - , 14 - , 6 - , 9 - , 9 - , 9 - , 10 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 45 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 24 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 27 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 28 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 69 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 48 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 49 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 68 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 67 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 54 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 64 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 63 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 61 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 7 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 58 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 62 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 55 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 66 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 52 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 51 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 50 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 47 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 46 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 0 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 26 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 60 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 70 - , 72 - , 72 - , 72 - , 72 - , 72 - , 72 - , 72 - , 72 - , 72 - , 72 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - ] - -alex_check :: Array Int Int -alex_check = listArray (0 :: Int, 2984) - [ -1 - , 9 - , 10 - , 11 - , 12 - , 13 - , 121 - , 61 - , 61 - , 117 - , 109 - , 112 - , 116 - , 62 - , 116 - , 110 - , 105 - , -1 - , -1 - , -1 - , -1 - , -1 - , 111 - , -1 - , 32 - , -1 - , 34 - , 35 - , -1 - , -1 - , -1 - , -1 - , 40 - , 41 - , -1 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , -1 - , 61 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 34 - , 9 - , 10 - , 11 - , 12 - , 13 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 32 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 0 - , 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 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , 94 - , 95 - , 96 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 127 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 10 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , -1 - , -1 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , 69 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - ] - -alex_deflt :: Array Int Int -alex_deflt = listArray (0 :: Int, 73) - [ -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 13 - , 13 - , -1 - , -1 - , 21 - , 21 - , -1 - , -1 - , -1 - , -1 - , 23 - , 23 - , 23 - , -1 - , 23 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - ] - -alex_accept = listArray (0 :: Int, 73) - [ AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccSkip - , AlexAccSkip - , AlexAcc 49 - , AlexAcc 48 - , AlexAcc 47 - , AlexAcc 46 - , AlexAcc 45 - , AlexAcc 44 - , AlexAcc 43 - , AlexAcc 42 - , AlexAcc 41 - , AlexAcc 40 - , AlexAcc 39 - , AlexAcc 38 - , AlexAcc 37 - , AlexAcc 36 - , AlexAcc 35 - , AlexAcc 34 - , AlexAcc 33 - , AlexAcc 32 - , AlexAcc 31 - , AlexAcc 30 - , AlexAcc 29 - , AlexAcc 28 - , AlexAcc 27 - , AlexAcc 26 - , AlexAcc 25 - , AlexAcc 24 - , AlexAcc 23 - , AlexAcc 22 - , AlexAcc 21 - , AlexAcc 20 - , AlexAcc 19 - , AlexAcc 18 - , AlexAcc 17 - , AlexAcc 16 - , AlexAcc 15 - , AlexAcc 14 - , AlexAcc 13 - , AlexAcc 12 - , AlexAcc 11 - , AlexAcc 10 - , AlexAcc 9 - , AlexAcc 8 - , AlexAcc 7 - , AlexAcc 6 - , AlexAcc 5 - , AlexAcc 4 - , AlexAcc 3 - , AlexAcc 2 - , AlexAcc 1 - , AlexAcc 0 - ] - -alex_actions = array (0 :: Int, 50) - [ (49,alex_action_2) - , (48,alex_action_3) - , (47,alex_action_4) - , (46,alex_action_5) - , (45,alex_action_6) - , (44,alex_action_7) - , (43,alex_action_8) - , (42,alex_action_9) - , (41,alex_action_10) - , (40,alex_action_11) - , (39,alex_action_12) - , (38,alex_action_13) - , (37,alex_action_14) - , (36,alex_action_15) - , (35,alex_action_16) - , (34,alex_action_17) - , (33,alex_action_18) - , (32,alex_action_19) - , (31,alex_action_20) - , (30,alex_action_21) - , (29,alex_action_22) - , (28,alex_action_23) - , (27,alex_action_24) - , (26,alex_action_25) - , (25,alex_action_25) - , (24,alex_action_25) - , (23,alex_action_25) - , (22,alex_action_25) - , (21,alex_action_25) - , (20,alex_action_25) - , (19,alex_action_25) - , (18,alex_action_25) - , (17,alex_action_25) - , (16,alex_action_25) - , (15,alex_action_25) - , (14,alex_action_25) - , (13,alex_action_25) - , (12,alex_action_25) - , (11,alex_action_25) - , (10,alex_action_25) - , (9,alex_action_25) - , (8,alex_action_25) - , (7,alex_action_25) - , (6,alex_action_25) - , (5,alex_action_25) - , (4,alex_action_25) - , (3,alex_action_26) - , (2,alex_action_27) - , (1,alex_action_28) - , (0,alex_action_29) - ] - -{-# LINE 49 "Lexer.x" #-} - ---token type: -data Token = - TokenFilter AlexPosn | - TokenIsEmpty AlexPosn | - TokenContains AlexPosn | - TokenSetName AlexPosn String | - TokenNat AlexPosn Int | - TokenPosNat AlexPosn Int | - TokenVarName AlexPosn String | - TokenTrue AlexPosn | - TokenFalse AlexPosn | - TokenString AlexPosn String | - TokenLeftSqBracket AlexPosn | - TokenRightSqBracket AlexPosn | - TokenArrow AlexPosn | - TokenisEqual AlexPosn | - TokenisNotEqual AlexPosn | - TokenPlus AlexPosn | - TokenLeftBracket AlexPosn | - TokenRightBracket AlexPosn | - TokenSemiCol AlexPosn | - TokenCol AlexPosn | - TokenLambda AlexPosn | - TokenComma AlexPosn | - TokenFullStop AlexPosn | - TokenInSet AlexPosn | - TokenXProduct AlexPosn | - TokenXXProduct AlexPosn | - TokenOutSet AlexPosn | - TokenMap AlexPosn - deriving (Eq, Show) - - -pos :: Token -> AlexPosn - -pos token = case token of - (TokenFilter p ) -> p - (TokenIsEmpty p ) -> p - (TokenContains p ) -> p - (TokenSetName p _) -> p - (TokenNat p _) -> p - (TokenPosNat p _) -> p - (TokenVarName p _) -> p - (TokenTrue p ) -> p - (TokenFalse p ) -> p - (TokenString p _) -> p - (TokenLeftSqBracket p ) -> p - (TokenRightSqBracket p ) -> p - (TokenArrow p ) -> p - (TokenisEqual p ) -> p - (TokenisNotEqual p ) -> p - (TokenPlus p ) -> p - (TokenLeftBracket p ) -> p - (TokenRightBracket p ) -> p - (TokenSemiCol p ) -> p - (TokenCol p ) -> p - (TokenLambda p ) -> p - (TokenComma p ) -> p - (TokenFullStop p ) -> p - (TokenInSet p ) -> p - (TokenXProduct p ) -> p - (TokenXXProduct p ) -> p - (TokenOutSet p ) -> p - (TokenMap p) -> p - - -alex_action_2 = \p s -> TokenContains p -alex_action_3 = \p s -> TokenIsEmpty p -alex_action_4 = \p s -> TokenFilter p -alex_action_5 = \p s -> TokenTrue p -alex_action_6 = \p s -> TokenFalse p -alex_action_7 = \p s -> TokenInSet p -alex_action_8 = \p s -> TokenOutSet p -alex_action_9 = \p s -> TokenLeftSqBracket p -alex_action_10 = \p s -> TokenRightSqBracket p -alex_action_11 = \p s -> TokenArrow p -alex_action_12 = \p s -> TokenisEqual p -alex_action_13 = \p s -> TokenisNotEqual p -alex_action_14 = \p s -> TokenPlus p -alex_action_15 = \p s -> TokenLeftBracket p -alex_action_16 = \p s -> TokenRightBracket p -alex_action_17 = \p s -> TokenCol p -alex_action_18 = \p s -> TokenSemiCol p -alex_action_19 = \p s -> TokenLambda p -alex_action_20 = \p s -> TokenComma p -alex_action_21 = \p s -> TokenFullStop p -alex_action_22 = \p s -> TokenXProduct p -alex_action_23 = \p s -> TokenXXProduct p -alex_action_24 = \p s -> TokenMap p -alex_action_25 = \p s -> TokenVarName p s -alex_action_26 = \p s -> TokenSetName p s -alex_action_27 = \p s -> TokenPosNat p (read s) -alex_action_28 = \p s -> TokenNat p (read s) -alex_action_29 = \p s -> TokenString p (init.tail $ s) -{-# LINE 1 "templates/GenericTemplate.hs" #-} --- ----------------------------------------------------------------------------- --- ALEX TEMPLATE --- --- This code is in the PUBLIC DOMAIN; you may copy it freely and use --- it for any purpose whatsoever. - --- ----------------------------------------------------------------------------- --- INTERNALS and main scanner engine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -alexIndexInt16OffAddr arr off = arr ! off - - - - - - - - - - - - - - - - - - - - - - - - -alexIndexInt32OffAddr arr off = arr ! off - - - - - - - - - - - -quickIndex arr i = arr ! i - - --- ----------------------------------------------------------------------------- --- Main lexing routines - -data AlexReturn a - = AlexEOF - | AlexError !AlexInput - | AlexSkip !AlexInput !Int - | AlexToken !AlexInput !Int a - --- alexScan :: AlexInput -> StartCode -> AlexReturn a -alexScan input__ (sc) - = alexScanUser undefined input__ (sc) - -alexScanUser user__ input__ (sc) - = case alex_scan_tkn user__ input__ (0) input__ sc AlexNone of - (AlexNone, input__') -> - case alexGetByte input__ of - Nothing -> - - - - AlexEOF - Just _ -> - - - - AlexError input__' - - (AlexLastSkip input__'' len, _) -> - - - - AlexSkip input__'' len - - (AlexLastAcc k input__''' len, _) -> - - - - AlexToken input__''' len (alex_actions ! k) - - --- Push the input through the DFA, remembering the most recent accepting --- state it encountered. - -alex_scan_tkn user__ orig_input len input__ s last_acc = - input__ `seq` -- strict in the input - let - new_acc = (check_accs (alex_accept `quickIndex` (s))) - in - new_acc `seq` - case alexGetByte input__ of - Nothing -> (new_acc, input__) - Just (c, new_input) -> - - - - case fromIntegral c of { (ord_c) -> - let - base = alexIndexInt32OffAddr alex_base s - offset = (base + ord_c) - check = alexIndexInt16OffAddr alex_check offset - - new_s = if (offset >= (0)) && (check == ord_c) - then alexIndexInt16OffAddr alex_table offset - else alexIndexInt16OffAddr alex_deflt s - in - case new_s of - (-1) -> (new_acc, input__) - -- on an error, we want to keep the input *before* the - -- character that failed, not after. - _ -> alex_scan_tkn user__ orig_input (if c < 0x80 || c >= 0xC0 then (len + (1)) else len) - -- note that the length is increased ONLY if this is the 1st byte in a char encoding) - new_input new_s new_acc - } - where - check_accs (AlexAccNone) = last_acc - check_accs (AlexAcc a ) = AlexLastAcc a input__ (len) - check_accs (AlexAccSkip) = AlexLastSkip input__ (len) - - check_accs (AlexAccPred a predx rest) - | predx user__ orig_input (len) input__ - = AlexLastAcc a input__ (len) - | otherwise - = check_accs rest - check_accs (AlexAccSkipPred predx rest) - | predx user__ orig_input (len) input__ - = AlexLastSkip input__ (len) - | otherwise - = check_accs rest - - -data AlexLastAcc - = AlexNone - | AlexLastAcc !Int !AlexInput !Int - | AlexLastSkip !AlexInput !Int - -data AlexAcc user - = AlexAccNone - | AlexAcc Int - | AlexAccSkip - - | AlexAccPred Int (AlexAccPred user) (AlexAcc user) - | AlexAccSkipPred (AlexAccPred user) (AlexAcc user) - -type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool - --- ----------------------------------------------------------------------------- --- Predicates on a rule - -alexAndPred p1 p2 user__ in1 len in2 - = p1 user__ in1 len in2 && p2 user__ in1 len in2 - ---alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__ - -alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__) - ---alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__ - ---alexRightContext :: Int -> AlexAccPred _ -alexRightContext (sc) user__ _ _ input__ = - case alex_scan_tkn user__ input__ (0) input__ sc AlexNone of - (AlexNone, _) -> False - _ -> True - -- TODO: there's no need to find the longest - -- match when checking the right context, just - -- the first match will do. - diff --git a/P.csv b/P.csv deleted file mode 100644 index b33bda1b93503ff9aa2ebb1751bb1a752a95692d..0000000000000000000000000000000000000000 --- a/P.csv +++ /dev/null @@ -1,4 +0,0 @@ -1 ,5 ,4 , -2 , ,2 , -3 ,7 ,1 ,2 -4 ,8 , , \ No newline at end of file diff --git a/P42.csv b/P42.csv deleted file mode 100644 index ae56f619e71099db05328103bf595edc62b35956..0000000000000000000000000000000000000000 --- a/P42.csv +++ /dev/null @@ -1,5 +0,0 @@ -David , Beckham -Pele , -Diego , Maradona -Cristiano, Ronaldo -Ronaldinho , \ No newline at end of file diff --git a/Parser.hs b/Parser.hs deleted file mode 100644 index a16a0175c20b12fafd5129acda0805aedda9e9f5..0000000000000000000000000000000000000000 --- a/Parser.hs +++ /dev/null @@ -1,1458 +0,0 @@ -{-# OPTIONS_GHC -w #-} -module Parser where -import Lexer -import Types -import CSV -import qualified Data.Array as Happy_Data_Array -import qualified Data.Bits as Bits -import Control.Applicative(Applicative(..)) -import Control.Monad (ap) - --- parser produced by Happy Version 1.20.0 - -data HappyAbsSyn t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 - = HappyTerminal (Token) - | HappyErrorToken Prelude.Int - | HappyAbsSyn4 t4 - | HappyAbsSyn5 t5 - | HappyAbsSyn6 t6 - | HappyAbsSyn7 t7 - | HappyAbsSyn8 t8 - | HappyAbsSyn9 t9 - | HappyAbsSyn10 t10 - | HappyAbsSyn11 t11 - | HappyAbsSyn12 t12 - | HappyAbsSyn13 t13 - -happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int -happyExpList = Happy_Data_Array.listArray (0,182) ([16384,0,0,0,2,0,0,64,0,0,0,0,0,0,0,0,16384,0,4,0,0,8,0,64,0,0,52000,33792,798,2048,0,0,0,0,0,0,0,0,0,6144,1557,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38464,2049,1597,0,1024,0,0,0,0,0,0,0,0,0,0,0,2304,0,0,22784,8198,6388,0,0,0,0,0,0,0,0,0,0,49152,12328,416,0,0,512,0,0,4096,0,8,0,0,35840,834,24,0,1,0,38464,2049,1597,45568,16396,12776,36864,101,36674,32769,812,31248,12,6500,53376,99,52000,33792,798,22784,8198,6388,51200,50,51105,16384,406,15624,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,4,0,0,34136,12294,0,0,0,32768,812,31248,12,0,16,0,0,2048,0,22784,8198,6388,51200,50,51105,16384,406,15624,6,6144,1541,50,0,0,0,0,0,0,0,1,0,0,2048,0,0,0,0,0,0,0,0,38464,2049,1597,0,1024,0,0,0,0,32768,812,31248,12,32768,0,0,52000,33792,798,0,0,0,51200,50,51105,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0 - ]) - -{-# NOINLINE happyExpListPerState #-} -happyExpListPerState st = - token_strs_expected - where token_strs = ["error","%dummy","%start_parseSource","Prog","SetDecl","SetDecls","Instructions","Expr","PredefFunc","SetNames","VarNames","Exprs","Nats","filter","in","out","SetName","Nat","PosNat","VarName","true","false","Str","'['","'{'","'}'","']'","\"->\"","\"==\"","\"/=\"","'('","')'","';'","':'","'\\\\'","','","'.'","'+'","x","map","xx","contains","isEmpty","let","if","else","then","'='","or","and","%eof"] - bit_start = st Prelude.* 51 - bit_end = (st Prelude.+ 1) Prelude.* 51 - read_bit = readArrayBit happyExpList - bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1] - bits_indexed = Prelude.zip bits [0..50] - token_strs_expected = Prelude.concatMap f bits_indexed - f (Prelude.False, _) = [] - f (Prelude.True, nr) = [token_strs Prelude.!! nr] - -action_0 (15) = happyShift action_2 -action_0 (4) = happyGoto action_3 -action_0 _ = happyFail (happyExpListPerState 0) - -action_1 (15) = happyShift action_2 -action_1 _ = happyFail (happyExpListPerState 1) - -action_2 (17) = happyShift action_6 -action_2 (5) = happyGoto action_4 -action_2 (6) = happyGoto action_5 -action_2 _ = happyFail (happyExpListPerState 2) - -action_3 (51) = happyAccept -action_3 _ = happyFail (happyExpListPerState 3) - -action_4 _ = happyReduce_3 - -action_5 (16) = happyShift action_8 -action_5 (36) = happyShift action_9 -action_5 _ = happyFail (happyExpListPerState 5) - -action_6 (34) = happyShift action_7 -action_6 _ = happyFail (happyExpListPerState 6) - -action_7 (18) = happyShift action_28 -action_7 _ = happyFail (happyExpListPerState 7) - -action_8 (14) = happyShift action_14 -action_8 (17) = happyShift action_15 -action_8 (18) = happyShift action_16 -action_8 (20) = happyShift action_17 -action_8 (23) = happyShift action_18 -action_8 (24) = happyShift action_19 -action_8 (35) = happyShift action_20 -action_8 (40) = happyShift action_21 -action_8 (42) = happyShift action_22 -action_8 (43) = happyShift action_23 -action_8 (44) = happyShift action_24 -action_8 (45) = happyShift action_25 -action_8 (49) = happyShift action_26 -action_8 (50) = happyShift action_27 -action_8 (7) = happyGoto action_11 -action_8 (8) = happyGoto action_12 -action_8 (9) = happyGoto action_13 -action_8 _ = happyFail (happyExpListPerState 8) - -action_9 (17) = happyShift action_6 -action_9 (5) = happyGoto action_10 -action_9 _ = happyFail (happyExpListPerState 9) - -action_10 _ = happyReduce_4 - -action_11 _ = happyReduce_1 - -action_12 (24) = happyShift action_35 -action_12 (25) = happyShift action_36 -action_12 (29) = happyShift action_37 -action_12 (31) = happyShift action_38 -action_12 (33) = happyShift action_39 -action_12 (38) = happyShift action_40 -action_12 (39) = happyShift action_41 -action_12 (49) = happyShift action_42 -action_12 (50) = happyShift action_43 -action_12 _ = happyFail (happyExpListPerState 12) - -action_13 _ = happyReduce_23 - -action_14 _ = happyReduce_27 - -action_15 _ = happyReduce_21 - -action_16 _ = happyReduce_22 - -action_17 _ = happyReduce_20 - -action_18 _ = happyReduce_15 - -action_19 (14) = happyShift action_14 -action_19 (17) = happyShift action_15 -action_19 (18) = happyShift action_16 -action_19 (20) = happyShift action_17 -action_19 (23) = happyShift action_18 -action_19 (24) = happyShift action_19 -action_19 (35) = happyShift action_20 -action_19 (40) = happyShift action_21 -action_19 (42) = happyShift action_22 -action_19 (43) = happyShift action_23 -action_19 (44) = happyShift action_24 -action_19 (45) = happyShift action_25 -action_19 (49) = happyShift action_26 -action_19 (50) = happyShift action_27 -action_19 (8) = happyGoto action_33 -action_19 (9) = happyGoto action_13 -action_19 (12) = happyGoto action_34 -action_19 _ = happyFail (happyExpListPerState 19) - -action_20 (31) = happyShift action_32 -action_20 _ = happyFail (happyExpListPerState 20) - -action_21 _ = happyReduce_30 - -action_22 _ = happyReduce_28 - -action_23 (24) = happyReduce_29 -action_23 (25) = happyReduce_29 -action_23 (26) = happyReduce_29 -action_23 (27) = happyReduce_29 -action_23 (29) = happyReduce_29 -action_23 (31) = happyReduce_29 -action_23 (32) = happyReduce_29 -action_23 (33) = happyReduce_29 -action_23 (36) = happyReduce_29 -action_23 (38) = happyReduce_29 -action_23 (39) = happyReduce_29 -action_23 (46) = happyReduce_29 -action_23 (47) = happyReduce_29 -action_23 (49) = happyReduce_29 -action_23 (50) = happyReduce_29 -action_23 _ = happyReduce_29 - -action_24 (17) = happyShift action_30 -action_24 (20) = happyShift action_31 -action_24 _ = happyFail (happyExpListPerState 24) - -action_25 (14) = happyShift action_14 -action_25 (17) = happyShift action_15 -action_25 (18) = happyShift action_16 -action_25 (20) = happyShift action_17 -action_25 (23) = happyShift action_18 -action_25 (24) = happyShift action_19 -action_25 (35) = happyShift action_20 -action_25 (40) = happyShift action_21 -action_25 (42) = happyShift action_22 -action_25 (43) = happyShift action_23 -action_25 (44) = happyShift action_24 -action_25 (45) = happyShift action_25 -action_25 (49) = happyShift action_26 -action_25 (50) = happyShift action_27 -action_25 (8) = happyGoto action_29 -action_25 (9) = happyGoto action_13 -action_25 _ = happyFail (happyExpListPerState 25) - -action_26 _ = happyReduce_32 - -action_27 _ = happyReduce_31 - -action_28 _ = happyReduce_2 - -action_29 (24) = happyShift action_35 -action_29 (25) = happyShift action_36 -action_29 (29) = happyShift action_37 -action_29 (31) = happyShift action_38 -action_29 (38) = happyShift action_40 -action_29 (39) = happyShift action_41 -action_29 (47) = happyShift action_59 -action_29 (49) = happyShift action_42 -action_29 (50) = happyShift action_43 -action_29 _ = happyFail (happyExpListPerState 29) - -action_30 (48) = happyShift action_58 -action_30 _ = happyFail (happyExpListPerState 30) - -action_31 (48) = happyShift action_57 -action_31 _ = happyFail (happyExpListPerState 31) - -action_32 (20) = happyShift action_56 -action_32 (11) = happyGoto action_55 -action_32 _ = happyFail (happyExpListPerState 32) - -action_33 (24) = happyShift action_35 -action_33 (25) = happyShift action_36 -action_33 (29) = happyShift action_37 -action_33 (31) = happyShift action_38 -action_33 (36) = happyShift action_54 -action_33 (38) = happyShift action_40 -action_33 (39) = happyShift action_41 -action_33 (49) = happyShift action_42 -action_33 (50) = happyShift action_43 -action_33 _ = happyReduce_37 - -action_34 (27) = happyShift action_53 -action_34 _ = happyFail (happyExpListPerState 34) - -action_35 (14) = happyShift action_14 -action_35 (17) = happyShift action_15 -action_35 (18) = happyShift action_16 -action_35 (20) = happyShift action_17 -action_35 (23) = happyShift action_18 -action_35 (24) = happyShift action_19 -action_35 (35) = happyShift action_20 -action_35 (40) = happyShift action_21 -action_35 (42) = happyShift action_22 -action_35 (43) = happyShift action_23 -action_35 (44) = happyShift action_24 -action_35 (45) = happyShift action_25 -action_35 (49) = happyShift action_26 -action_35 (50) = happyShift action_27 -action_35 (8) = happyGoto action_52 -action_35 (9) = happyGoto action_13 -action_35 _ = happyFail (happyExpListPerState 35) - -action_36 (14) = happyShift action_14 -action_36 (17) = happyShift action_15 -action_36 (18) = happyShift action_16 -action_36 (20) = happyShift action_17 -action_36 (23) = happyShift action_18 -action_36 (24) = happyShift action_19 -action_36 (35) = happyShift action_20 -action_36 (40) = happyShift action_21 -action_36 (42) = happyShift action_22 -action_36 (43) = happyShift action_23 -action_36 (44) = happyShift action_24 -action_36 (45) = happyShift action_25 -action_36 (49) = happyShift action_26 -action_36 (50) = happyShift action_27 -action_36 (8) = happyGoto action_33 -action_36 (9) = happyGoto action_13 -action_36 (12) = happyGoto action_51 -action_36 _ = happyFail (happyExpListPerState 36) - -action_37 (14) = happyShift action_14 -action_37 (17) = happyShift action_15 -action_37 (18) = happyShift action_16 -action_37 (20) = happyShift action_17 -action_37 (23) = happyShift action_18 -action_37 (24) = happyShift action_19 -action_37 (35) = happyShift action_20 -action_37 (40) = happyShift action_21 -action_37 (42) = happyShift action_22 -action_37 (43) = happyShift action_23 -action_37 (44) = happyShift action_24 -action_37 (45) = happyShift action_25 -action_37 (49) = happyShift action_26 -action_37 (50) = happyShift action_27 -action_37 (8) = happyGoto action_50 -action_37 (9) = happyGoto action_13 -action_37 _ = happyFail (happyExpListPerState 37) - -action_38 (14) = happyShift action_14 -action_38 (17) = happyShift action_15 -action_38 (18) = happyShift action_16 -action_38 (20) = happyShift action_17 -action_38 (23) = happyShift action_18 -action_38 (24) = happyShift action_19 -action_38 (35) = happyShift action_20 -action_38 (40) = happyShift action_21 -action_38 (42) = happyShift action_22 -action_38 (43) = happyShift action_23 -action_38 (44) = happyShift action_24 -action_38 (45) = happyShift action_25 -action_38 (49) = happyShift action_26 -action_38 (50) = happyShift action_27 -action_38 (8) = happyGoto action_33 -action_38 (9) = happyGoto action_13 -action_38 (12) = happyGoto action_49 -action_38 _ = happyFail (happyExpListPerState 38) - -action_39 (14) = happyShift action_14 -action_39 (17) = happyShift action_15 -action_39 (18) = happyShift action_16 -action_39 (20) = happyShift action_17 -action_39 (23) = happyShift action_18 -action_39 (24) = happyShift action_19 -action_39 (35) = happyShift action_20 -action_39 (40) = happyShift action_21 -action_39 (42) = happyShift action_22 -action_39 (43) = happyShift action_23 -action_39 (44) = happyShift action_24 -action_39 (45) = happyShift action_25 -action_39 (49) = happyShift action_26 -action_39 (50) = happyShift action_27 -action_39 (7) = happyGoto action_48 -action_39 (8) = happyGoto action_12 -action_39 (9) = happyGoto action_13 -action_39 _ = happyReduce_5 - -action_40 (14) = happyShift action_14 -action_40 (17) = happyShift action_15 -action_40 (18) = happyShift action_16 -action_40 (20) = happyShift action_17 -action_40 (23) = happyShift action_18 -action_40 (24) = happyShift action_19 -action_40 (35) = happyShift action_20 -action_40 (40) = happyShift action_21 -action_40 (42) = happyShift action_22 -action_40 (43) = happyShift action_23 -action_40 (44) = happyShift action_24 -action_40 (45) = happyShift action_25 -action_40 (49) = happyShift action_26 -action_40 (50) = happyShift action_27 -action_40 (8) = happyGoto action_47 -action_40 (9) = happyGoto action_13 -action_40 _ = happyFail (happyExpListPerState 40) - -action_41 (14) = happyShift action_14 -action_41 (17) = happyShift action_15 -action_41 (18) = happyShift action_16 -action_41 (20) = happyShift action_17 -action_41 (23) = happyShift action_18 -action_41 (24) = happyShift action_19 -action_41 (35) = happyShift action_20 -action_41 (40) = happyShift action_21 -action_41 (42) = happyShift action_22 -action_41 (43) = happyShift action_23 -action_41 (44) = happyShift action_24 -action_41 (45) = happyShift action_25 -action_41 (49) = happyShift action_26 -action_41 (50) = happyShift action_27 -action_41 (8) = happyGoto action_46 -action_41 (9) = happyGoto action_13 -action_41 _ = happyFail (happyExpListPerState 41) - -action_42 (14) = happyShift action_14 -action_42 (17) = happyShift action_15 -action_42 (18) = happyShift action_16 -action_42 (20) = happyShift action_17 -action_42 (23) = happyShift action_18 -action_42 (24) = happyShift action_19 -action_42 (35) = happyShift action_20 -action_42 (40) = happyShift action_21 -action_42 (42) = happyShift action_22 -action_42 (43) = happyShift action_23 -action_42 (44) = happyShift action_24 -action_42 (45) = happyShift action_25 -action_42 (49) = happyShift action_26 -action_42 (50) = happyShift action_27 -action_42 (8) = happyGoto action_45 -action_42 (9) = happyGoto action_13 -action_42 _ = happyFail (happyExpListPerState 42) - -action_43 (14) = happyShift action_14 -action_43 (17) = happyShift action_15 -action_43 (18) = happyShift action_16 -action_43 (20) = happyShift action_17 -action_43 (23) = happyShift action_18 -action_43 (24) = happyShift action_19 -action_43 (35) = happyShift action_20 -action_43 (40) = happyShift action_21 -action_43 (42) = happyShift action_22 -action_43 (43) = happyShift action_23 -action_43 (44) = happyShift action_24 -action_43 (45) = happyShift action_25 -action_43 (49) = happyShift action_26 -action_43 (50) = happyShift action_27 -action_43 (8) = happyGoto action_44 -action_43 (9) = happyGoto action_13 -action_43 _ = happyFail (happyExpListPerState 43) - -action_44 (24) = happyShift action_35 -action_44 (25) = happyShift action_36 -action_44 (29) = happyShift action_37 -action_44 (31) = happyShift action_38 -action_44 (38) = happyShift action_40 -action_44 (39) = happyShift action_41 -action_44 (49) = happyShift action_42 -action_44 (50) = happyShift action_43 -action_44 _ = happyReduce_25 - -action_45 (24) = happyShift action_35 -action_45 (25) = happyShift action_36 -action_45 (29) = happyShift action_37 -action_45 (31) = happyShift action_38 -action_45 (38) = happyShift action_40 -action_45 (39) = happyShift action_41 -action_45 (49) = happyShift action_42 -action_45 (50) = happyShift action_43 -action_45 _ = happyReduce_24 - -action_46 (24) = happyShift action_35 -action_46 (25) = happyShift action_36 -action_46 (29) = happyShift action_37 -action_46 (31) = happyShift action_38 -action_46 (38) = happyShift action_40 -action_46 (39) = happyShift action_41 -action_46 (49) = happyShift action_42 -action_46 (50) = happyShift action_43 -action_46 _ = happyReduce_10 - -action_47 (24) = happyShift action_35 -action_47 (25) = happyShift action_36 -action_47 (29) = happyShift action_37 -action_47 (31) = happyShift action_38 -action_47 (38) = happyShift action_40 -action_47 (39) = happyShift action_41 -action_47 (49) = happyShift action_42 -action_47 (50) = happyShift action_43 -action_47 _ = happyReduce_11 - -action_48 _ = happyReduce_6 - -action_49 (32) = happyShift action_69 -action_49 _ = happyFail (happyExpListPerState 49) - -action_50 (24) = happyShift action_35 -action_50 (25) = happyShift action_36 -action_50 (29) = happyShift action_37 -action_50 (31) = happyShift action_38 -action_50 (38) = happyShift action_40 -action_50 (39) = happyShift action_41 -action_50 (49) = happyShift action_42 -action_50 (50) = happyShift action_43 -action_50 _ = happyReduce_9 - -action_51 (26) = happyShift action_68 -action_51 _ = happyFail (happyExpListPerState 51) - -action_52 (24) = happyShift action_35 -action_52 (25) = happyShift action_36 -action_52 (27) = happyShift action_66 -action_52 (29) = happyShift action_37 -action_52 (31) = happyShift action_38 -action_52 (36) = happyShift action_67 -action_52 (38) = happyShift action_40 -action_52 (39) = happyShift action_41 -action_52 (49) = happyShift action_42 -action_52 (50) = happyShift action_43 -action_52 _ = happyFail (happyExpListPerState 52) - -action_53 _ = happyReduce_14 - -action_54 (14) = happyShift action_14 -action_54 (17) = happyShift action_15 -action_54 (18) = happyShift action_16 -action_54 (20) = happyShift action_17 -action_54 (23) = happyShift action_18 -action_54 (24) = happyShift action_19 -action_54 (35) = happyShift action_20 -action_54 (40) = happyShift action_21 -action_54 (42) = happyShift action_22 -action_54 (43) = happyShift action_23 -action_54 (44) = happyShift action_24 -action_54 (45) = happyShift action_25 -action_54 (49) = happyShift action_26 -action_54 (50) = happyShift action_27 -action_54 (8) = happyGoto action_33 -action_54 (9) = happyGoto action_13 -action_54 (12) = happyGoto action_65 -action_54 _ = happyFail (happyExpListPerState 54) - -action_55 (32) = happyShift action_64 -action_55 _ = happyFail (happyExpListPerState 55) - -action_56 (36) = happyShift action_63 -action_56 _ = happyReduce_35 - -action_57 (14) = happyShift action_14 -action_57 (17) = happyShift action_15 -action_57 (18) = happyShift action_16 -action_57 (20) = happyShift action_17 -action_57 (23) = happyShift action_18 -action_57 (24) = happyShift action_19 -action_57 (35) = happyShift action_20 -action_57 (40) = happyShift action_21 -action_57 (42) = happyShift action_22 -action_57 (43) = happyShift action_23 -action_57 (44) = happyShift action_24 -action_57 (45) = happyShift action_25 -action_57 (49) = happyShift action_26 -action_57 (50) = happyShift action_27 -action_57 (8) = happyGoto action_62 -action_57 (9) = happyGoto action_13 -action_57 _ = happyFail (happyExpListPerState 57) - -action_58 (14) = happyShift action_14 -action_58 (17) = happyShift action_15 -action_58 (18) = happyShift action_16 -action_58 (20) = happyShift action_17 -action_58 (23) = happyShift action_18 -action_58 (24) = happyShift action_19 -action_58 (35) = happyShift action_20 -action_58 (40) = happyShift action_21 -action_58 (42) = happyShift action_22 -action_58 (43) = happyShift action_23 -action_58 (44) = happyShift action_24 -action_58 (45) = happyShift action_25 -action_58 (49) = happyShift action_26 -action_58 (50) = happyShift action_27 -action_58 (8) = happyGoto action_61 -action_58 (9) = happyGoto action_13 -action_58 _ = happyFail (happyExpListPerState 58) - -action_59 (14) = happyShift action_14 -action_59 (17) = happyShift action_15 -action_59 (18) = happyShift action_16 -action_59 (20) = happyShift action_17 -action_59 (23) = happyShift action_18 -action_59 (24) = happyShift action_19 -action_59 (35) = happyShift action_20 -action_59 (40) = happyShift action_21 -action_59 (42) = happyShift action_22 -action_59 (43) = happyShift action_23 -action_59 (44) = happyShift action_24 -action_59 (45) = happyShift action_25 -action_59 (49) = happyShift action_26 -action_59 (50) = happyShift action_27 -action_59 (8) = happyGoto action_60 -action_59 (9) = happyGoto action_13 -action_59 _ = happyFail (happyExpListPerState 59) - -action_60 (24) = happyShift action_35 -action_60 (25) = happyShift action_36 -action_60 (29) = happyShift action_37 -action_60 (31) = happyShift action_38 -action_60 (38) = happyShift action_40 -action_60 (39) = happyShift action_41 -action_60 (46) = happyShift action_74 -action_60 (49) = happyShift action_42 -action_60 (50) = happyShift action_43 -action_60 _ = happyFail (happyExpListPerState 60) - -action_61 (24) = happyShift action_35 -action_61 (25) = happyShift action_36 -action_61 (29) = happyShift action_37 -action_61 (31) = happyShift action_38 -action_61 (38) = happyShift action_40 -action_61 (39) = happyShift action_41 -action_61 (49) = happyShift action_42 -action_61 (50) = happyShift action_43 -action_61 _ = happyReduce_18 - -action_62 (24) = happyShift action_35 -action_62 (25) = happyShift action_36 -action_62 (29) = happyShift action_37 -action_62 (31) = happyShift action_38 -action_62 (38) = happyShift action_40 -action_62 (39) = happyShift action_41 -action_62 (49) = happyShift action_42 -action_62 (50) = happyShift action_43 -action_62 _ = happyReduce_19 - -action_63 (20) = happyShift action_56 -action_63 (11) = happyGoto action_73 -action_63 _ = happyFail (happyExpListPerState 63) - -action_64 (28) = happyShift action_72 -action_64 _ = happyFail (happyExpListPerState 64) - -action_65 _ = happyReduce_38 - -action_66 _ = happyReduce_12 - -action_67 (14) = happyShift action_14 -action_67 (17) = happyShift action_15 -action_67 (18) = happyShift action_16 -action_67 (20) = happyShift action_17 -action_67 (23) = happyShift action_18 -action_67 (24) = happyShift action_19 -action_67 (35) = happyShift action_20 -action_67 (40) = happyShift action_21 -action_67 (42) = happyShift action_22 -action_67 (43) = happyShift action_23 -action_67 (44) = happyShift action_24 -action_67 (45) = happyShift action_25 -action_67 (49) = happyShift action_26 -action_67 (50) = happyShift action_27 -action_67 (8) = happyGoto action_33 -action_67 (9) = happyGoto action_13 -action_67 (12) = happyGoto action_71 -action_67 _ = happyFail (happyExpListPerState 67) - -action_68 (31) = happyShift action_70 -action_68 _ = happyFail (happyExpListPerState 68) - -action_69 _ = happyReduce_7 - -action_70 (14) = happyShift action_14 -action_70 (17) = happyShift action_15 -action_70 (18) = happyShift action_16 -action_70 (20) = happyShift action_17 -action_70 (23) = happyShift action_18 -action_70 (24) = happyShift action_19 -action_70 (35) = happyShift action_20 -action_70 (40) = happyShift action_21 -action_70 (42) = happyShift action_22 -action_70 (43) = happyShift action_23 -action_70 (44) = happyShift action_24 -action_70 (45) = happyShift action_25 -action_70 (49) = happyShift action_26 -action_70 (50) = happyShift action_27 -action_70 (8) = happyGoto action_33 -action_70 (9) = happyGoto action_13 -action_70 (12) = happyGoto action_78 -action_70 _ = happyFail (happyExpListPerState 70) - -action_71 (27) = happyShift action_77 -action_71 _ = happyFail (happyExpListPerState 71) - -action_72 (14) = happyShift action_14 -action_72 (17) = happyShift action_15 -action_72 (18) = happyShift action_16 -action_72 (20) = happyShift action_17 -action_72 (23) = happyShift action_18 -action_72 (24) = happyShift action_19 -action_72 (35) = happyShift action_20 -action_72 (40) = happyShift action_21 -action_72 (42) = happyShift action_22 -action_72 (43) = happyShift action_23 -action_72 (44) = happyShift action_24 -action_72 (45) = happyShift action_25 -action_72 (49) = happyShift action_26 -action_72 (50) = happyShift action_27 -action_72 (8) = happyGoto action_76 -action_72 (9) = happyGoto action_13 -action_72 _ = happyFail (happyExpListPerState 72) - -action_73 _ = happyReduce_36 - -action_74 (14) = happyShift action_14 -action_74 (17) = happyShift action_15 -action_74 (18) = happyShift action_16 -action_74 (20) = happyShift action_17 -action_74 (23) = happyShift action_18 -action_74 (24) = happyShift action_19 -action_74 (35) = happyShift action_20 -action_74 (40) = happyShift action_21 -action_74 (42) = happyShift action_22 -action_74 (43) = happyShift action_23 -action_74 (44) = happyShift action_24 -action_74 (45) = happyShift action_25 -action_74 (49) = happyShift action_26 -action_74 (50) = happyShift action_27 -action_74 (8) = happyGoto action_75 -action_74 (9) = happyGoto action_13 -action_74 _ = happyFail (happyExpListPerState 74) - -action_75 (24) = happyShift action_35 -action_75 (25) = happyShift action_36 -action_75 (29) = happyShift action_37 -action_75 (31) = happyShift action_38 -action_75 (38) = happyShift action_40 -action_75 (39) = happyShift action_41 -action_75 (49) = happyShift action_42 -action_75 (50) = happyShift action_43 -action_75 _ = happyReduce_17 - -action_76 (24) = happyShift action_35 -action_76 (25) = happyShift action_36 -action_76 (29) = happyShift action_37 -action_76 (31) = happyShift action_38 -action_76 (38) = happyShift action_40 -action_76 (39) = happyShift action_41 -action_76 (49) = happyShift action_42 -action_76 (50) = happyShift action_43 -action_76 _ = happyReduce_16 - -action_77 _ = happyReduce_13 - -action_78 (32) = happyShift action_79 -action_78 _ = happyFail (happyExpListPerState 78) - -action_79 _ = happyReduce_8 - -happyReduce_1 = happyReduce 4 4 happyReduction_1 -happyReduction_1 ((HappyAbsSyn7 happy_var_4) `HappyStk` - _ `HappyStk` - (HappyAbsSyn6 happy_var_2) `HappyStk` - _ `HappyStk` - happyRest) - = HappyAbsSyn4 - ((happy_var_2,happy_var_4) - ) `HappyStk` happyRest - -happyReduce_2 = happySpecReduce_3 5 happyReduction_2 -happyReduction_2 _ - _ - (HappyTerminal (TokenSetName _ happy_var_1)) - = HappyAbsSyn5 - (happy_var_1 - ) -happyReduction_2 _ _ _ = notHappyAtAll - -happyReduce_3 = happySpecReduce_1 6 happyReduction_3 -happyReduction_3 (HappyAbsSyn5 happy_var_1) - = HappyAbsSyn6 - ([happy_var_1] - ) -happyReduction_3 _ = notHappyAtAll - -happyReduce_4 = happySpecReduce_3 6 happyReduction_4 -happyReduction_4 (HappyAbsSyn5 happy_var_3) - _ - (HappyAbsSyn6 happy_var_1) - = HappyAbsSyn6 - (happy_var_3:happy_var_1 - ) -happyReduction_4 _ _ _ = notHappyAtAll - -happyReduce_5 = happySpecReduce_2 7 happyReduction_5 -happyReduction_5 _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn7 - ([happy_var_1] - ) -happyReduction_5 _ _ = notHappyAtAll - -happyReduce_6 = happySpecReduce_3 7 happyReduction_6 -happyReduction_6 (HappyAbsSyn7 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn7 - (happy_var_1:happy_var_3 - ) -happyReduction_6 _ _ _ = notHappyAtAll - -happyReduce_7 = happyReduce 4 8 happyReduction_7 -happyReduction_7 (_ `HappyStk` - (HappyAbsSyn12 happy_var_3) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_1) `HappyStk` - happyRest) - = HappyAbsSyn8 - (FuncCall happy_var_1 [] happy_var_3 - ) `HappyStk` happyRest - -happyReduce_8 = happyReduce 7 8 happyReduction_8 -happyReduction_8 (_ `HappyStk` - (HappyAbsSyn12 happy_var_6) `HappyStk` - _ `HappyStk` - _ `HappyStk` - (HappyAbsSyn12 happy_var_3) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_1) `HappyStk` - happyRest) - = HappyAbsSyn8 - (FuncCall happy_var_1 happy_var_3 happy_var_6 - ) `HappyStk` happyRest - -happyReduce_9 = happySpecReduce_3 8 happyReduction_9 -happyReduction_9 (HappyAbsSyn8 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn8 - (FuncCall (PredefFunc IsEqual) [] [happy_var_1, happy_var_3] - ) -happyReduction_9 _ _ _ = notHappyAtAll - -happyReduce_10 = happySpecReduce_3 8 happyReduction_10 -happyReduction_10 (HappyAbsSyn8 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn8 - (FuncCall (PredefFunc XProduct) [happy_var_1, happy_var_3] [] - ) -happyReduction_10 _ _ _ = notHappyAtAll - -happyReduce_11 = happySpecReduce_3 8 happyReduction_11 -happyReduction_11 (HappyAbsSyn8 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn8 - (FuncCall (PredefFunc Plus) [happy_var_1, happy_var_3] [] - ) -happyReduction_11 _ _ _ = notHappyAtAll - -happyReduce_12 = happyReduce 4 8 happyReduction_12 -happyReduction_12 (_ `HappyStk` - (HappyAbsSyn8 happy_var_3) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_1) `HappyStk` - happyRest) - = HappyAbsSyn8 - (FuncCall (PredefFunc RecordIndex) [] [happy_var_1, happy_var_3] - ) `HappyStk` happyRest - -happyReduce_13 = happyReduce 6 8 happyReduction_13 -happyReduction_13 (_ `HappyStk` - (HappyAbsSyn12 happy_var_5) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_3) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_1) `HappyStk` - happyRest) - = HappyAbsSyn8 - (FuncCall (PredefFunc RecordSelect) [] (happy_var_1:happy_var_3:happy_var_5) - ) `HappyStk` happyRest - -happyReduce_14 = happySpecReduce_3 8 happyReduction_14 -happyReduction_14 _ - (HappyAbsSyn12 happy_var_2) - _ - = HappyAbsSyn8 - (Record happy_var_2 - ) -happyReduction_14 _ _ _ = notHappyAtAll - -happyReduce_15 = happySpecReduce_1 8 happyReduction_15 -happyReduction_15 (HappyTerminal (TokenString _ happy_var_1)) - = HappyAbsSyn8 - (Types.String $ stripWhitespace happy_var_1 - ) -happyReduction_15 _ = notHappyAtAll - -happyReduce_16 = happyReduce 6 8 happyReduction_16 -happyReduction_16 ((HappyAbsSyn8 happy_var_6) `HappyStk` - _ `HappyStk` - _ `HappyStk` - (HappyAbsSyn11 happy_var_3) `HappyStk` - _ `HappyStk` - _ `HappyStk` - happyRest) - = HappyAbsSyn8 - (FuncDef [] happy_var_3 happy_var_6 - ) `HappyStk` happyRest - -happyReduce_17 = happyReduce 6 8 happyReduction_17 -happyReduction_17 ((HappyAbsSyn8 happy_var_6) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_4) `HappyStk` - _ `HappyStk` - (HappyAbsSyn8 happy_var_2) `HappyStk` - _ `HappyStk` - happyRest) - = HappyAbsSyn8 - (If happy_var_2 happy_var_4 happy_var_6 - ) `HappyStk` happyRest - -happyReduce_18 = happyReduce 4 8 happyReduction_18 -happyReduction_18 ((HappyAbsSyn8 happy_var_4) `HappyStk` - _ `HappyStk` - (HappyTerminal (TokenSetName _ happy_var_2)) `HappyStk` - _ `HappyStk` - happyRest) - = HappyAbsSyn8 - (Let True happy_var_2 happy_var_4 - ) `HappyStk` happyRest - -happyReduce_19 = happyReduce 4 8 happyReduction_19 -happyReduction_19 ((HappyAbsSyn8 happy_var_4) `HappyStk` - _ `HappyStk` - (HappyTerminal (TokenVarName _ happy_var_2)) `HappyStk` - _ `HappyStk` - happyRest) - = HappyAbsSyn8 - (Let False happy_var_2 happy_var_4 - ) `HappyStk` happyRest - -happyReduce_20 = happySpecReduce_1 8 happyReduction_20 -happyReduction_20 (HappyTerminal (TokenVarName _ happy_var_1)) - = HappyAbsSyn8 - (Var happy_var_1 - ) -happyReduction_20 _ = notHappyAtAll - -happyReduce_21 = happySpecReduce_1 8 happyReduction_21 -happyReduction_21 (HappyTerminal (TokenSetName _ happy_var_1)) - = HappyAbsSyn8 - (Var happy_var_1 - ) -happyReduction_21 _ = notHappyAtAll - -happyReduce_22 = happySpecReduce_1 8 happyReduction_22 -happyReduction_22 (HappyTerminal (TokenNat _ happy_var_1)) - = HappyAbsSyn8 - (Types.Int happy_var_1 - ) -happyReduction_22 _ = notHappyAtAll - -happyReduce_23 = happySpecReduce_1 8 happyReduction_23 -happyReduction_23 (HappyAbsSyn9 happy_var_1) - = HappyAbsSyn8 - (PredefFunc happy_var_1 - ) -happyReduction_23 _ = notHappyAtAll - -happyReduce_24 = happySpecReduce_3 8 happyReduction_24 -happyReduction_24 (HappyAbsSyn8 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn8 - (FuncCall (PredefFunc Or) [] [happy_var_1,happy_var_3] - ) -happyReduction_24 _ _ _ = notHappyAtAll - -happyReduce_25 = happySpecReduce_3 8 happyReduction_25 -happyReduction_25 (HappyAbsSyn8 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn8 - (FuncCall (PredefFunc And) [] [happy_var_1,happy_var_3] - ) -happyReduction_25 _ _ _ = notHappyAtAll - -happyReduce_26 = happySpecReduce_1 9 happyReduction_26 -happyReduction_26 _ - = HappyAbsSyn9 - (IsEmpty - ) - -happyReduce_27 = happySpecReduce_1 9 happyReduction_27 -happyReduction_27 _ - = HappyAbsSyn9 - (Filter - ) - -happyReduce_28 = happySpecReduce_1 9 happyReduction_28 -happyReduction_28 _ - = HappyAbsSyn9 - (Contains - ) - -happyReduce_29 = happySpecReduce_1 9 happyReduction_29 -happyReduction_29 _ - = HappyAbsSyn9 - (IsEmpty - ) - -happyReduce_30 = happySpecReduce_1 9 happyReduction_30 -happyReduction_30 _ - = HappyAbsSyn9 - (Map - ) - -happyReduce_31 = happySpecReduce_1 9 happyReduction_31 -happyReduction_31 _ - = HappyAbsSyn9 - (And - ) - -happyReduce_32 = happySpecReduce_1 9 happyReduction_32 -happyReduction_32 _ - = HappyAbsSyn9 - (Or - ) - -happyReduce_33 = happySpecReduce_1 10 happyReduction_33 -happyReduction_33 (HappyTerminal (TokenSetName _ happy_var_1)) - = HappyAbsSyn10 - ([happy_var_1] - ) -happyReduction_33 _ = notHappyAtAll - -happyReduce_34 = happySpecReduce_3 10 happyReduction_34 -happyReduction_34 (HappyAbsSyn10 happy_var_3) - _ - (HappyTerminal (TokenSetName _ happy_var_1)) - = HappyAbsSyn10 - (happy_var_1:happy_var_3 - ) -happyReduction_34 _ _ _ = notHappyAtAll - -happyReduce_35 = happySpecReduce_1 11 happyReduction_35 -happyReduction_35 (HappyTerminal (TokenVarName _ happy_var_1)) - = HappyAbsSyn11 - ([happy_var_1] - ) -happyReduction_35 _ = notHappyAtAll - -happyReduce_36 = happySpecReduce_3 11 happyReduction_36 -happyReduction_36 (HappyAbsSyn11 happy_var_3) - _ - (HappyTerminal (TokenVarName _ happy_var_1)) - = HappyAbsSyn11 - (happy_var_1:happy_var_3 - ) -happyReduction_36 _ _ _ = notHappyAtAll - -happyReduce_37 = happySpecReduce_1 12 happyReduction_37 -happyReduction_37 (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn12 - ([happy_var_1] - ) -happyReduction_37 _ = notHappyAtAll - -happyReduce_38 = happySpecReduce_3 12 happyReduction_38 -happyReduction_38 (HappyAbsSyn12 happy_var_3) - _ - (HappyAbsSyn8 happy_var_1) - = HappyAbsSyn12 - (happy_var_1:happy_var_3 - ) -happyReduction_38 _ _ _ = notHappyAtAll - -happyReduce_39 = happySpecReduce_1 13 happyReduction_39 -happyReduction_39 (HappyTerminal (TokenNat _ happy_var_1)) - = HappyAbsSyn13 - ([happy_var_1] - ) -happyReduction_39 _ = notHappyAtAll - -happyReduce_40 = happySpecReduce_3 13 happyReduction_40 -happyReduction_40 (HappyAbsSyn13 happy_var_3) - _ - (HappyTerminal (TokenNat _ happy_var_1)) - = HappyAbsSyn13 - (happy_var_1:happy_var_3 - ) -happyReduction_40 _ _ _ = notHappyAtAll - -happyNewToken action sts stk [] = - action 51 51 notHappyAtAll (HappyState action) sts stk [] - -happyNewToken action sts stk (tk:tks) = - let cont i = action i i tk (HappyState action) sts stk tks in - case tk of { - TokenFilter _ -> cont 14; - TokenInSet _ -> cont 15; - TokenOutSet _ -> cont 16; - TokenSetName _ happy_dollar_dollar -> cont 17; - TokenNat _ happy_dollar_dollar -> cont 18; - TokenPosNat _ happy_dollar_dollar -> cont 19; - TokenVarName _ happy_dollar_dollar -> cont 20; - TokenTrue _ -> cont 21; - TokenFalse _ -> cont 22; - TokenString _ happy_dollar_dollar -> cont 23; - TokenLeftSqBracket _ -> cont 24; - TokenLeftBrace _ -> cont 25; - TokenRightBrace _ -> cont 26; - TokenRightSqBracket _ -> cont 27; - TokenArrow _ -> cont 28; - TokenisEqual _ -> cont 29; - TokenisNotEqual _ -> cont 30; - TokenLeftBracket _ -> cont 31; - TokenRightBracket _ -> cont 32; - TokenSemiCol _ -> cont 33; - TokenCol _ -> cont 34; - TokenLambda _ -> cont 35; - TokenComma _ -> cont 36; - TokenFullStop _ -> cont 37; - TokenPlus _ -> cont 38; - TokenXProduct _ -> cont 39; - TokenMap _ -> cont 40; - TokenXXProduct _ -> cont 41; - TokenContains _ -> cont 42; - TokenIsEmpty _ -> cont 43; - TokenLet _ -> cont 44; - TokenIf _ -> cont 45; - TokenElse _ -> cont 46; - TokenThen _ -> cont 47; - TokenEqual _ -> cont 48; - TokenBoolAND _ -> cont 49; - TokenBoolOR _ -> cont 50; - _ -> happyError' ((tk:tks), []) - } - -happyError_ explist 51 tk tks = happyError' (tks, explist) -happyError_ explist _ tk tks = happyError' ((tk:tks), explist) - -newtype HappyIdentity a = HappyIdentity a -happyIdentity = HappyIdentity -happyRunIdentity (HappyIdentity a) = a - -instance Prelude.Functor HappyIdentity where - fmap f (HappyIdentity a) = HappyIdentity (f a) - -instance Applicative HappyIdentity where - pure = HappyIdentity - (<*>) = ap -instance Prelude.Monad HappyIdentity where - return = pure - (HappyIdentity p) >>= q = q p - -happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b -happyThen = (Prelude.>>=) -happyReturn :: () => a -> HappyIdentity a -happyReturn = (Prelude.return) -happyThen1 m k tks = (Prelude.>>=) m (\a -> k a tks) -happyReturn1 :: () => a -> b -> HappyIdentity a -happyReturn1 = \a tks -> (Prelude.return) a -happyError' :: () => ([(Token)], [Prelude.String]) -> HappyIdentity a -happyError' = HappyIdentity Prelude.. (\(tokens, _) -> parseError tokens) -parseSource tks = happyRunIdentity happySomeParser where - happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn4 z -> happyReturn z; _other -> notHappyAtAll }) - -happySeq = happyDontSeq - - -parseError :: [Token] -> a -parseError tokens = error $ "Parse error: " ++ (show.pos.head) tokens - -tokenPosn :: Token -> String -tokenPosn t = let (AlexPn _ line col) = pos t in (show line) ++ ':' : (show col) -{-# LINE 1 "templates/GenericTemplate.hs" #-} --- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data Happy_IntList = HappyCons Prelude.Int Happy_IntList - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -infixr 9 `HappyStk` -data HappyStk a = HappyStk a (HappyStk a) - ------------------------------------------------------------------------------ --- starting the parse - -happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll - ------------------------------------------------------------------------------ --- Accepting the parse - --- If the current token is ERROR_TOK, it means we've just accepted a partial --- parse (a %partial parser). We must ignore the saved token on the top of --- the stack in this case. -happyAccept (1) tk st sts (_ `HappyStk` ans `HappyStk` _) = - happyReturn1 ans -happyAccept j tk st sts (HappyStk ans _) = - (happyReturn1 ans) - ------------------------------------------------------------------------------ --- Arrays only: do the next action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -indexShortOffAddr arr off = arr Happy_Data_Array.! off - - -{-# INLINE happyLt #-} -happyLt x y = (x Prelude.< y) - - - - - - -readArrayBit arr bit = - Bits.testBit (indexShortOffAddr arr (bit `Prelude.div` 16)) (bit `Prelude.mod` 16) - - - - - - ------------------------------------------------------------------------------ --- HappyState data type (not arrays) - - - -newtype HappyState b c = HappyState - (Prelude.Int -> -- token number - Prelude.Int -> -- token number (yes, again) - b -> -- token semantic value - HappyState b c -> -- current state - [HappyState b c] -> -- state stack - c) - - - ------------------------------------------------------------------------------ --- Shifting a token - -happyShift new_state (1) tk st sts stk@(x `HappyStk` _) = - let i = (case x of { HappyErrorToken (i) -> i }) in --- trace "shifting the error token" $ - new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk) - -happyShift new_state i tk st sts stk = - happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk) - --- happyReduce is specialised for the common cases. - -happySpecReduce_0 i fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk - = action nt j tk st ((st):(sts)) (fn `HappyStk` stk) - -happySpecReduce_1 i fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk') - = let r = fn v1 in - happySeq r (action nt j tk st sts (r `HappyStk` stk')) - -happySpecReduce_2 i fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk') - = let r = fn v1 v2 in - happySeq r (action nt j tk st sts (r `HappyStk` stk')) - -happySpecReduce_3 i fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') - = let r = fn v1 v2 v3 in - happySeq r (action nt j tk st sts (r `HappyStk` stk')) - -happyReduce k i fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happyReduce k nt fn j tk st sts stk - = case happyDrop (k Prelude.- ((1) :: Prelude.Int)) sts of - sts1@(((st1@(HappyState (action))):(_))) -> - let r = fn stk in -- it doesn't hurt to always seq here... - happyDoSeq r (action nt j tk st1 sts1 r) - -happyMonadReduce k nt fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happyMonadReduce k nt fn j tk st sts stk = - case happyDrop k ((st):(sts)) of - sts1@(((st1@(HappyState (action))):(_))) -> - let drop_stk = happyDropStk k stk in - happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk)) - -happyMonad2Reduce k nt fn (1) tk st sts stk - = happyFail [] (1) tk st sts stk -happyMonad2Reduce k nt fn j tk st sts stk = - case happyDrop k ((st):(sts)) of - sts1@(((st1@(HappyState (action))):(_))) -> - let drop_stk = happyDropStk k stk - - - - - - _ = nt :: Prelude.Int - new_state = action - - in - happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) - -happyDrop (0) l = l -happyDrop n ((_):(t)) = happyDrop (n Prelude.- ((1) :: Prelude.Int)) t - -happyDropStk (0) l = l -happyDropStk n (x `HappyStk` xs) = happyDropStk (n Prelude.- ((1)::Prelude.Int)) xs - ------------------------------------------------------------------------------ --- Moving to a new state after a reduction - - - - - - - - - -happyGoto action j tk st = action j j tk (HappyState action) - - ------------------------------------------------------------------------------ --- Error recovery (ERROR_TOK is the error token) - --- parse error if we are in recovery and we fail again -happyFail explist (1) tk old_st _ stk@(x `HappyStk` _) = - let i = (case x of { HappyErrorToken (i) -> i }) in --- trace "failing" $ - happyError_ explist i tk - -{- We don't need state discarding for our restricted implementation of - "error". In fact, it can cause some bogus parses, so I've disabled it - for now --SDM - --- discard a state -happyFail ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) - (saved_tok `HappyStk` _ `HappyStk` stk) = --- trace ("discarding state, depth " ++ show (length stk)) $ - DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk)) --} - --- Enter error recovery: generate an error token, --- save the old token and carry on. -happyFail explist i tk (HappyState (action)) sts stk = --- trace "entering error recovery" $ - action (1) (1) tk (HappyState (action)) sts ((HappyErrorToken (i)) `HappyStk` stk) - --- Internal happy errors: - -notHappyAtAll :: a -notHappyAtAll = Prelude.error "Internal Happy error\n" - ------------------------------------------------------------------------------ --- Hack to get the typechecker to accept our action functions - - - - - - - ------------------------------------------------------------------------------ --- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq --- otherwise it emits --- happySeq = happyDontSeq - -happyDoSeq, happyDontSeq :: a -> b -> b -happyDoSeq a b = a `Prelude.seq` b -happyDontSeq a b = b - ------------------------------------------------------------------------------ --- Don't inline any functions from the template. GHC has a nasty habit --- of deciding to inline happyGoto everywhere, which increases the size of --- the generated parser quite a bit. - - - - - - - - - -{-# NOINLINE happyShift #-} -{-# NOINLINE happySpecReduce_0 #-} -{-# NOINLINE happySpecReduce_1 #-} -{-# NOINLINE happySpecReduce_2 #-} -{-# NOINLINE happySpecReduce_3 #-} -{-# NOINLINE happyReduce #-} -{-# NOINLINE happyMonadReduce #-} -{-# NOINLINE happyGoto #-} -{-# NOINLINE happyFail #-} - --- end of Happy Template. diff --git a/Q.csv b/Q.csv deleted file mode 100644 index e3281094c0264d8786678c0faa5f7cff334dd6f8..0000000000000000000000000000000000000000 --- a/Q.csv +++ /dev/null @@ -1,4 +0,0 @@ -1 ,6 ,4 ,7 -2 ,8 ,5 ,3 -2 , , ,1 -4 , ,2 ,3 \ No newline at end of file diff --git a/R.csv b/R.csv deleted file mode 100644 index 5f2c21269165f15da2188e526c4461a0317518f9..0000000000000000000000000000000000000000 --- a/R.csv +++ /dev/null @@ -1,4 +0,0 @@ -1 ,5 ,4 ,0 -2 , 0,2 ,0 -3 ,7 ,1 ,2 -4 ,8 , 0,0 \ No newline at end of file diff --git a/S.csv b/S.csv deleted file mode 100644 index b3697e56f2298286b201563d547e42babce6ef7c..0000000000000000000000000000000000000000 --- a/S.csv +++ /dev/null @@ -1,4 +0,0 @@ -1 ,6 ,4 ,7 -2 ,8 ,5 ,3 -2 ,0,0,1 -4 ,0,2 ,3 \ No newline at end of file diff --git a/SampleSet.csv b/SampleSet.csv deleted file mode 100644 index f912eeba142cff35ae3a045abe37418111daa8fd..0000000000000000000000000000000000000000 --- a/SampleSet.csv +++ /dev/null @@ -1,5 +0,0 @@ - hello ,tree -big ,apple -hello,world -he,good -hello,good bye diff --git a/sampleprogram.txt b/sampleprogram.txt deleted file mode 100644 index 6e4db43ce75394cfcfea7a333c0e74911ea91083..0000000000000000000000000000000000000000 --- a/sampleprogram.txt +++ /dev/null @@ -1,6 +0,0 @@ -.in -SampleSet:4 - -.out -let f = \(r) -> r[1] == "hello"; -filter[SampleSet](f); \ No newline at end of file diff --git a/solutions/pr1.cql b/solutions/pr1.cql deleted file mode 100644 index f9bfb751ab7fe0abaacc7b74c0c67cd81b33533a..0000000000000000000000000000000000000000 --- a/solutions/pr1.cql +++ /dev/null @@ -1,6 +0,0 @@ -.in -A:2, # declare input files and their numbers of cols in .in section -B:2 - -.out # statements for the query are in .out section -A x B; # returns the cartesian product of the two sets (conjunction) \ No newline at end of file diff --git a/solutions/pr2.cql b/solutions/pr2.cql deleted file mode 100644 index 7411d3213e48552103ca4e9a2e5b7cda555ae982..0000000000000000000000000000000000000000 --- a/solutions/pr2.cql +++ /dev/null @@ -1,6 +0,0 @@ -.in -A:3 - -.out -filter( \(r) -> r[1] == r[2]); -map (\(r) -> r[3,1]); \ No newline at end of file diff --git a/solutions/pr3.cql b/solutions/pr3.cql deleted file mode 100644 index 5dc784d5397ce53d453b08192bebe247592cdfa1..0000000000000000000000000000000000000000 --- a/solutions/pr3.cql +++ /dev/null @@ -1,9 +0,0 @@ -.in -P: 4, -Q: 4 - -.out -P x Q; -filter(\(r) -> r[1] == r[5]); -let f = \(a,y) -> if (isEmpty(a)) then y else a; -map (\(r) -> [r[1], f(r[2], r[6]), f(r[3], r[7]), f(r[4], r[8])]); \ No newline at end of file diff --git a/solutions/pr4.cql b/solutions/pr4.cql deleted file mode 100644 index d8425281c1a50055894782a4635d172cf2c5f008..0000000000000000000000000000000000000000 --- a/solutions/pr4.cql +++ /dev/null @@ -1,5 +0,0 @@ -.in -P42 :2 - -.out -filter (\(r) -> not(isEmpty(r[2]) ) ); \ No newline at end of file diff --git a/solutions/pr5.cql b/solutions/pr5.cql deleted file mode 100644 index f34636ec2f22bd74a8f39567878a1dec46232c78..0000000000000000000000000000000000000000 --- a/solutions/pr5.cql +++ /dev/null @@ -1,5 +0,0 @@ -.in -A:1 - -.out -map{A}(\(r) -> [r[1],"0",r[1]] ); \ No newline at end of file