diff options
author | Camil Staps | 2017-07-30 09:17:44 +0200 |
---|---|---|
committer | Camil Staps | 2017-07-30 09:17:44 +0200 |
commit | ebde44b28b551f670c9e5c4c038d03e94bfbb1d2 (patch) | |
tree | 7d021edb338a4fc6210a38fb2d3f0dafdda85ec2 /Sil/Util/Parser.icl | |
parent | Force logical order of output in cli (diff) |
Reorganise: make Position a field in Syntax types
Diffstat (limited to 'Sil/Util/Parser.icl')
-rw-r--r-- | Sil/Util/Parser.icl | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/Sil/Util/Parser.icl b/Sil/Util/Parser.icl index 83da78c..92bc08f 100644 --- a/Sil/Util/Parser.icl +++ b/Sil/Util/Parser.icl @@ -14,9 +14,6 @@ import Data.Maybe import Sil.Error -fromPositioned :: (Positioned a) -> a -fromPositioned p = p.pos_val - :: *ParseState a = { ps_line :: Int , ps_input :: [ParseInput a] @@ -89,8 +86,8 @@ doPS f = Parser \st -> (Ok (), f st) runParser :: (Parser a b) *(ParseState a) -> *(MaybeError Error b, *ParseState a) runParser (Parser f) i = f i -getPositioner :: Parser a (b -> Positioned b) -getPositioner = Parser \st=:{ps_line} -> (Ok \x -> {pos_line=ps_line, pos_val=x}, st) +getPosition :: Parser a ParsePosition +getPosition = Parser \st=:{ps_line} -> (Ok {pp_line=ps_line}, st) (<?>) :: (Parser a b) Error -> Parser a b (<?>) p e = Parser \i -> case runParser p i of |