| Copyright | (c) 2013-2016 Galois Inc. |
|---|---|
| License | BSD3 |
| Maintainer | cryptol@galois.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Cryptol.Parser.Position
Description
Synopsis
- data Position
- line :: Position -> Int
- col :: Position -> Int
- colOffset :: Position -> Int
- start :: Position
- startOfLine :: Int -> Position
- beforeStartOfLine :: Int -> Position
- move :: Position -> Char -> Position
- moves :: Position -> Text -> Position
- advanceColBy :: Int -> Position -> Position
- replPosition :: (Int, Int) -> Position
- data Range = Range {}
- emptyRange :: Range
- rComb :: Range -> Range -> Range
- rCombs :: [Range] -> Range
- rCombMaybe :: Maybe Range -> Maybe Range -> Maybe Range
- rangeWithin :: Range -> Range -> Bool
- data Located a = Located {}
- class HasLoc t where
- class HasLoc t => AddLoc t where
- at :: (HasLoc l, AddLoc t) => l -> t -> t
- combLoc :: (a -> b -> c) -> Located a -> Located b -> Located c
Position
Instances
startOfLine :: Int -> Position Source #
beforeStartOfLine :: Int -> Position Source #
Range
Instances
| Generic Range Source # | |||||
Defined in Cryptol.Parser.Position Associated Types
| |||||
| Show Range Source # | |||||
| NoPos Range Source # | |||||
| HasLoc Range Source # | |||||
| PP Range Source # | |||||
| NFData Range Source # | |||||
Defined in Cryptol.Parser.Position | |||||
| Eq Range Source # | |||||
| Ord Range Source # | |||||
| type Rep Range Source # | |||||
Defined in Cryptol.Parser.Position type Rep Range = D1 ('MetaData "Range" "Cryptol.Parser.Position" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) (C1 ('MetaCons "Range" 'PrefixI 'True) (S1 ('MetaSel ('Just "from") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Position) :*: (S1 ('MetaSel ('Just "to") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Position) :*: S1 ('MetaSel ('Just "source") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))) | |||||
emptyRange :: Range Source #
An empty range.
Caution: using this on the LHS of a use of rComb will cause the empty source to propagate.
rangeWithin :: Range -> Range -> Bool Source #
Returns True if the first range is contained in the second one.
Located
Instances
| Foldable Located Source # | |||||
Defined in Cryptol.Parser.Position Methods fold :: Monoid m => Located m -> m # foldMap :: Monoid m => (a -> m) -> Located a -> m # foldMap' :: Monoid m => (a -> m) -> Located a -> m # foldr :: (a -> b -> b) -> b -> Located a -> b # foldr' :: (a -> b -> b) -> b -> Located a -> b # foldl :: (b -> a -> b) -> b -> Located a -> b # foldl' :: (b -> a -> b) -> b -> Located a -> b # foldr1 :: (a -> a -> a) -> Located a -> a # foldl1 :: (a -> a -> a) -> Located a -> a # elem :: Eq a => a -> Located a -> Bool # maximum :: Ord a => Located a -> a # minimum :: Ord a => Located a -> a # | |||||
| Traversable Located Source # | |||||
| Functor Located Source # | |||||
| Generic (Located a) Source # | |||||
Defined in Cryptol.Parser.Position Associated Types
| |||||
| Show a => Show (Located a) Source # | |||||
| TraverseNames a => TraverseNames (Located a) Source # | |||||
Defined in Cryptol.IR.TraverseNames Methods traverseNamesIP :: (Applicative f, ?name :: Name -> f Name) => Located a -> f (Located a) Source # | |||||
| NoPos (Located t) Source # | |||||
| AddLoc (Located a) Source # | |||||
| HasLoc (Located a) Source # | |||||
| ModuleInstance a => ModuleInstance (Located a) Source # | |||||
Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Located a -> Located a Source # | |||||
| ShowParseable a => ShowParseable (Located a) Source # | |||||
Defined in Cryptol.TypeCheck.Parseable | |||||
| PP a => PP (Located a) Source # | |||||
| PPName a => PPName (Located a) Source # | |||||
Defined in Cryptol.Parser.Position | |||||
| NFData a => NFData (Located a) Source # | |||||
Defined in Cryptol.Parser.Position | |||||
| Eq a => Eq (Located a) Source # | |||||
| Ord a => Ord (Located a) Source # | |||||
| type Rep (Located a) Source # | |||||
Defined in Cryptol.Parser.Position type Rep (Located a) = D1 ('MetaData "Located" "Cryptol.Parser.Position" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) (C1 ('MetaCons "Located" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcRange") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range) :*: S1 ('MetaSel ('Just "thing") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))) | |||||
Instances
| HasLoc Range Source # | |
| HasLoc Expr Source # | |
| HasLoc (Bind name) Source # | |
| HasLoc (BindParams name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (Decl name) Source # | |
| HasLoc (EnumCon name) Source # | |
| HasLoc (EnumDecl name) Source # | |
| HasLoc (Expr name) Source # | |
| HasLoc (Match name) Source # | |
| HasLoc (ModParam name) Source # | |
| HasLoc a => HasLoc (Named a) Source # | |
| HasLoc (NestedModule name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (Newtype name) Source # | |
| HasLoc (ParamDecl name) Source # | |
| HasLoc (ParameterConstraint name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (ParameterFun name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (ParameterType name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (Pattern name) Source # | |
| HasLoc (PrimType name) Source # | |
| HasLoc (PropGuardCase name) Source # | |
Defined in Cryptol.Parser.AST | |
| HasLoc (PropSyn name) Source # | |
| HasLoc (Schema name) Source # | |
| HasLoc (SigDecl name) Source # | |
| HasLoc (TParam name) Source # | |
| HasLoc (TopDecl name) Source # | |
| HasLoc a => HasLoc (TopLevel a) Source # | |
| HasLoc (TySyn name) Source # | |
| HasLoc (Type name) Source # | |
| HasLoc (Located a) Source # | |
| HasLoc a => HasLoc (Maybe a) Source # | |
| HasLoc a => HasLoc [a] Source # | |
| HasLoc (ModuleG mname name) Source # | |
| (HasLoc a, HasLoc b) => HasLoc (a, b) Source # | |