From ddff2e34a8f5e7fdb4a9e67d4df1edfa393ab3b7 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 9 Mar 2020 16:20:28 +0100 Subject: Refactoring file structure --- main.hs | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 main.hs (limited to 'main.hs') diff --git a/main.hs b/main.hs deleted file mode 100644 index c327d2b..0000000 --- a/main.hs +++ /dev/null @@ -1,45 +0,0 @@ -import System.Environment -import Data.Char - -data TokenType = Number | Add | Sub | Mul | Exp | Equal deriving (Show) -data Token = Token TokenType Float deriving (Show) - -main = do - args <- getArgs - -- putStr $ show args - let l = lexer $ (head args) - putStrLn $ show l - - -lexer :: String -> [Token] -lexer "" = [] -lexer (c:rest) - | c == ' ' = lexer rest - | isDigit c = (Token Number (read (isolateFloat (c:rest)) :: Float)) : lexer (afterFloat (c:rest)) - | c == '+' = (Token Add 0.0) : lexer rest - | c == '-' = (Token Sub 0.0) : lexer rest - | c == '*' = (Token Mul 0.0) : lexer rest - | c == '^' = (Token Exp 0.0) : lexer rest - | c == '=' = (Token Equal 0.0) : lexer rest - - where isolateFloat :: String -> String - isolateFloat "" = "" - isolateFloat (c:cs) - | isDigit c = c : isolateFloat cs - | c == '.' = c : isolateFloat cs - | otherwise = "" - - afterFloat :: String -> String - afterFloat "" = "" - afterFloat (c:cs) - | isDigit c = afterFloat cs - | c == '.' = afterFloat cs - | otherwise = (c:cs) - - --- parse :: Lexing -> SyntaxTree --- parse s = 2 --- --- --- eval :: SyntaxTree -> Maybe [Float] --- eval _ = 0.0 -- cgit