aboutsummaryrefslogtreecommitdiffstats
path: root/src/Parser.hs
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2022-12-07 14:33:07 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-07 14:33:07 +0200
commit05fcc94a561335a6502fc98c3737a7e851d1285a (patch)
tree6a6d0259b392842766d73011d78881a6e2cb8153 /src/Parser.hs
parentb469c4a3f05e5e18d3650803b3323f8a72b5e076 (diff)
Fix function body let issue
Diffstat (limited to 'src/Parser.hs')
-rw-r--r--src/Parser.hs26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/Parser.hs b/src/Parser.hs
index 3779fe5..959a630 100644
--- a/src/Parser.hs
+++ b/src/Parser.hs
@@ -20,9 +20,9 @@ validateBalance allowed asts = do
$ throwL (astPos $ MB.fromJust curlyM) "unbalanced hash map"
return asts
where
- parenM = L.find ((== ASTSymbol "(") . astNode) asts
- bracketM = L.find ((== ASTSymbol "[") . astNode) asts
- curlyM = L.find ((== ASTSymbol "{") . astNode) asts
+ parenM = L.find ((== ASTSymbol "(") . an) asts
+ bracketM = L.find ((== ASTSymbol "[") . an) asts
+ curlyM = L.find ((== ASTSymbol "{") . an) asts
parseToken :: Token -> AST
parseToken (Token token tr tc tf)
@@ -42,33 +42,33 @@ parseToken (Token token tr tc tf)
removeQuotes s = drop 1 s $> take (length s - 2)
isBoolean t = t `elem` ["true", "false"]
asBoolean t = t == "true"
- ast node = AST { astNode = node, astRow = tr, astColumn = tc, astFileName = tf }
+ ast node = AST { an = node, astRow = tr, astColumn = tc, astFileName = tf }
_parse :: [AST] -> [Token] -> LContext [AST]
_parse acc' [] = do
acc <- validateBalance [] acc'
return $ reverse acc
_parse acc (Token { tokenContent = ")" }:rest) = do
- let children' = takeWhile (astNode .> (/= ASTSymbol "(")) acc
+ let children' = takeWhile (an .> (/= ASTSymbol "(")) acc
children <- validateBalance ["("] children'
- let openParen = MB.fromJust $ L.find (astNode .> (== ASTSymbol "(")) acc
- let fnCall = openParen { astNode = ASTFunctionCall (reverse children) }
+ let openParen = MB.fromJust $ L.find (an .> (== ASTSymbol "(")) acc
+ let fnCall = openParen { an = ASTFunctionCall (reverse children) }
let newAcc = fnCall : drop (length children + 1) acc
_parse newAcc rest
_parse acc (Token { tokenContent = "]" }:rest) = do
- let children' = takeWhile (astNode .> (/= ASTSymbol "[")) acc
+ let children' = takeWhile (an .> (/= ASTSymbol "[")) acc
children <- validateBalance ["["] children'
- let openBracket = MB.fromJust $ L.find (astNode .> (== ASTSymbol "[")) acc
- let vec = openBracket { astNode = ASTVector (reverse children) }
+ let openBracket = MB.fromJust $ L.find (an .> (== ASTSymbol "[")) acc
+ let vec = openBracket { an = ASTVector (reverse children) }
let newAcc = vec : drop (length children + 1) acc
_parse newAcc rest
_parse acc (Token { tokenContent = "}" }:rest) = do
- let children' = takeWhile (astNode .> (/= ASTSymbol "{")) acc
+ let children' = takeWhile (an .> (/= ASTSymbol "{")) acc
children <- validateBalance ["{"] children'
- let openCurly = MB.fromJust $ L.find (astNode .> (== ASTSymbol "{")) acc
+ let openCurly = MB.fromJust $ L.find (an .> (== ASTSymbol "{")) acc
pairs <- asPairsM (reverse children) `catchError`
\(LException _ e) -> throwL (astPos openCurly) e
- let hmap = openCurly { astNode = ASTHashMap (M.fromList pairs) }
+ let hmap = openCurly { an = ASTHashMap (M.fromList pairs) }
let newAcc = hmap : drop (length children + 1) acc
_parse newAcc rest
_parse acc (token:rest) =