clash-lib-1.3.0: CAES Language for Synchronous Hardware - As a Library
Safe HaskellNone
LanguageHaskell2010

Clash.Netlist.Id.Internal

Synopsis

Documentation

lookupFreshCache# :: FreshCache -> Identifier -> Maybe Word Source #

Return identifier with highest extension for given identifier. See is_freshCache for more information.

For example, if the FreshCache contains "foo_12_25" and the given identifier is "foo_12_13" this function would return "Just 25". In this case, "foo_12_26" is guaranteed to be a fresh identifier.

updateFreshCache# :: HasCallStack => FreshCache -> Identifier -> FreshCache Source #

Add new identifier to FreshCache, see is_freshCache for more information.

mkUnique# :: HasCallStack => IdentifierSet -> Identifier -> (IdentifierSet, Identifier) Source #

Adds identifier at verbatim if its basename hasn't been used before. Otherwise it will return the first free identifier.

add# :: HasCallStack => IdentifierSet -> Identifier -> IdentifierSet Source #

Non-monadic, internal version of add

addMultiple# :: (HasCallStack, Foldable t) => IdentifierSet -> t Identifier -> IdentifierSet Source #

Non-monadic, internal version of addMultiple

addRaw# :: HasCallStack => IdentifierSet -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of addRaw

make# :: HasCallStack => IdentifierSet -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of make

makeBasic# :: HasCallStack => IdentifierSet -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of makeBasic

makeBasicOr# :: HasCallStack => IdentifierSet -> Text -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of makeBasicOr

next# :: HasCallStack => IdentifierSet -> Identifier -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of next

nextN# :: HasCallStack => Int -> IdentifierSet -> Identifier -> (IdentifierSet, [Identifier]) Source #

Non-monadic, internal version of nextN

deepenN# :: HasCallStack => Int -> IdentifierSet -> Identifier -> (IdentifierSet, [Identifier]) Source #

Non-monadic, internal version of deepenN

deepen# :: HasCallStack => IdentifierSet -> Identifier -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of deepen

suffix# :: HasCallStack => IdentifierSet -> Identifier -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of suffix

prefix# :: HasCallStack => IdentifierSet -> Identifier -> Text -> (IdentifierSet, Identifier) Source #

Non-monadic, internal version of prefix

isBasic# :: HDL -> Text -> Bool Source #

Is given string a valid basic identifier in given HDL?

isExtended# :: HDL -> Text -> Bool Source #

Is given string a valid extended identifier in given HDL?

toPrintableAscii# :: Text -> Text Source #

Convert given string to ASCII. Retains all printable ASCII. All other characters are thrown out.

parseIdentifier# :: Text -> (Text, [Word]) Source #

Split identifiers such as "foo_1_2" into ("foo", [2, 1]).

fromCoreId# :: IdentifierSet -> Id -> (IdentifierSet, Identifier) Source #

Convert a Clash Core Id to an identifier. Makes sure returned identifier is unique.

Orphan instances

Pretty Identifier Source # 
Instance details

Methods

pretty :: Identifier -> Doc ann #

prettyList :: [Identifier] -> Doc ann #