aboutsummaryrefslogtreecommitdiffstats
path: root/src/Tokenizer.hs
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2022-10-06 12:28:24 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-05 14:21:53 +0200
commit77117fa515c5853b5f756d899db0ec9b502298e7 (patch)
tree43e6ad438b315debae335b0d9e74b8f7f21bb1d8 /src/Tokenizer.hs
parentd69313ce44a9415555033926c6a64b4120455502 (diff)
Add line info to REPL
Diffstat (limited to 'src/Tokenizer.hs')
-rw-r--r--src/Tokenizer.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Tokenizer.hs b/src/Tokenizer.hs
index 6a5cc5c..777bedb 100644
--- a/src/Tokenizer.hs
+++ b/src/Tokenizer.hs
@@ -1,5 +1,6 @@
module Tokenizer (
tokenize,
+ tokenize'
) where
import qualified Data.Bifunctor as B
@@ -81,9 +82,15 @@ _tokenize fileName acc current (x:xs)
in _tokenize fileName (token1 : token2 : acc) [] xs
| otherwise = _tokenize fileName acc (x : current) xs
+type RowN = Int
+type ColN = Int
+
tokenize :: String -> String -> LContext [Token]
-tokenize fileName src = do
- let tChars = augment 1 1 src
+tokenize = tokenize' (1, 1)
+
+tokenize' :: (RowN, ColN) -> String -> String -> LContext [Token]
+tokenize' (row, col) fileName src = do
+ let tChars = augment row col src
tokens <- _tokenize fileName [] [] tChars
return $ tokens
$> reverse