diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-03-09 16:20:28 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-03-09 16:20:28 +0100 |
| commit | ddff2e34a8f5e7fdb4a9e67d4df1edfa393ab3b7 (patch) | |
| tree | 0ef7eddfeadb0c7201bdc0fd3851350239229b06 /main.hs | |
| parent | c27e85f27b8db206da23b813358ea44e302f2419 (diff) | |
| download | computorv1-ddff2e34a8f5e7fdb4a9e67d4df1edfa393ab3b7.tar.gz computorv1-ddff2e34a8f5e7fdb4a9e67d4df1edfa393ab3b7.tar.bz2 computorv1-ddff2e34a8f5e7fdb4a9e67d4df1edfa393ab3b7.zip | |
Refactoring file structure
Diffstat (limited to 'main.hs')
| -rw-r--r-- | main.hs | 45 |
1 files changed, 0 insertions, 45 deletions
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 |
