diff options
Diffstat (limited to 'Sil/Util/Parser.dcl')
-rw-r--r-- | Sil/Util/Parser.dcl | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Sil/Util/Parser.dcl b/Sil/Util/Parser.dcl index 6f5929c..e5d1cce 100644 --- a/Sil/Util/Parser.dcl +++ b/Sil/Util/Parser.dcl @@ -10,14 +10,13 @@ from Data.Maybe import :: Maybe from Sil.Error import :: Error -:: Positioned a = - { pos_line :: Int - , pos_val :: a - } +:: *ParseState a -fromPositioned :: (Positioned a) -> a +:: ParsePosition = + { pp_line :: Int + } -:: *ParseState a +class getPos a :: a -> ParsePosition :: ParseInput a = PI_NewLine @@ -36,7 +35,7 @@ class name a :: a -> String instance name String runParser :: (Parser a b) *(ParseState a) -> *(MaybeError Error b, *ParseState a) -getPositioner :: Parser a (b -> Positioned b) +getPosition :: Parser a ParsePosition (<?>) :: (Parser a b) Error -> Parser a b fail :: Parser a b top :: Parser a a |