packages feed

language-vhdl 0.1.3 → 0.1.4

raw patch · 3 files changed

+54/−30 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.VHDL.Pretty: instance Language.VHDL.Pretty.Pretty Language.VHDL.Syntax.ExtendedDigit
- Language.VHDL.Pretty: instance Language.VHDL.Pretty.Pretty a => Language.VHDL.Pretty.Pretty (GHC.Base.Maybe a)
- Language.VHDL.Syntax: BDIAttrSepc :: AttributeSpecification -> BlockDeclarativeItem
- Language.VHDL.Syntax: BDIConfigSepc :: ConfigurationSpecification -> BlockDeclarativeItem
- Language.VHDL.Syntax: BaseSpecifier :: BaseSpecifier
- Language.VHDL.Syntax: ExtendedDigit :: ExtendedDigit
- Language.VHDL.Syntax: data ExtendedDigit
- Language.VHDL.Syntax: instance GHC.Classes.Eq Language.VHDL.Syntax.ExtendedDigit
- Language.VHDL.Syntax: instance GHC.Show.Show Language.VHDL.Syntax.ExtendedDigit
- Language.VHDL.Syntax: type SubprogramDeclaration = SubprogramSpecification
+ Language.VHDL.Pretty: instance Language.VHDL.Pretty.Pretty Language.VHDL.Syntax.SubprogramDeclaration
+ Language.VHDL.Pretty: instance Language.VHDL.Pretty.Pretty a => Language.VHDL.Pretty.Pretty (GHC.Maybe.Maybe a)
+ Language.VHDL.Syntax: BDIAttrSpec :: AttributeSpecification -> BlockDeclarativeItem
+ Language.VHDL.Syntax: BDIConfigSpec :: ConfigurationSpecification -> BlockDeclarativeItem
+ Language.VHDL.Syntax: BSBinary :: BaseSpecifier
+ Language.VHDL.Syntax: BSHexadecimal :: BaseSpecifier
+ Language.VHDL.Syntax: BSOctal :: BaseSpecifier
+ Language.VHDL.Syntax: SubprogramDeclaration :: SubprogramSpecification -> SubprogramDeclaration
+ Language.VHDL.Syntax: [bsl_base_specifier] :: BitStringLiteral -> BaseSpecifier
+ Language.VHDL.Syntax: [bsl_bit_value] :: BitStringLiteral -> BitValue
+ Language.VHDL.Syntax: instance GHC.Classes.Eq Language.VHDL.Syntax.SubprogramDeclaration
+ Language.VHDL.Syntax: instance GHC.Show.Show Language.VHDL.Syntax.SubprogramDeclaration
+ Language.VHDL.Syntax: newtype SubprogramDeclaration
+ Language.VHDL.Syntax: type ExtendedDigit = Char
- Language.VHDL.Syntax: Assertion :: Condition -> (Maybe Expression) -> (Maybe Expression) -> Assertion
+ Language.VHDL.Syntax: Assertion :: Condition -> Maybe Expression -> Maybe Expression -> Assertion
- Language.VHDL.Syntax: AssertionStatement :: (Maybe Label) -> Assertion -> AssertionStatement
+ Language.VHDL.Syntax: AssertionStatement :: Maybe Label -> Assertion -> AssertionStatement
- Language.VHDL.Syntax: BitStringLiteral :: BitStringLiteral
+ Language.VHDL.Syntax: BitStringLiteral :: BaseSpecifier -> BitValue -> BitStringLiteral
- Language.VHDL.Syntax: BitValue :: BitValue
+ Language.VHDL.Syntax: BitValue :: [ExtendedDigit] -> BitValue
- Language.VHDL.Syntax: DMechInertial :: (Maybe Expression) -> DelayMechanism
+ Language.VHDL.Syntax: DMechInertial :: Maybe Expression -> DelayMechanism
- Language.VHDL.Syntax: EAEntity :: Name -> (Maybe Identifier) -> EntityAspect
+ Language.VHDL.Syntax: EAEntity :: Name -> Maybe Identifier -> EntityAspect
- Language.VHDL.Syntax: ENand :: (Relation) -> (Maybe Relation) -> Expression
+ Language.VHDL.Syntax: ENand :: Relation -> Maybe Relation -> Expression
- Language.VHDL.Syntax: ENor :: (Relation) -> (Maybe Relation) -> Expression
+ Language.VHDL.Syntax: ENor :: Relation -> Maybe Relation -> Expression
- Language.VHDL.Syntax: FacPrim :: Primary -> (Maybe Primary) -> Factor
+ Language.VHDL.Syntax: FacPrim :: Primary -> Maybe Primary -> Factor
- Language.VHDL.Syntax: GenerateStatement :: Label -> GenerationScheme -> Maybe (BlockDeclarativeItem) -> [ConcurrentStatement] -> GenerateStatement
+ Language.VHDL.Syntax: GenerateStatement :: Label -> GenerationScheme -> Maybe [BlockDeclarativeItem] -> [ConcurrentStatement] -> GenerateStatement
- Language.VHDL.Syntax: IUEntity :: Name -> (Maybe Identifier) -> InstantiatedUnit
+ Language.VHDL.Syntax: IUEntity :: Name -> Maybe Identifier -> InstantiatedUnit
- Language.VHDL.Syntax: ProcedureCall :: Name -> (Maybe ActualParameterPart) -> ProcedureCall
+ Language.VHDL.Syntax: ProcedureCall :: Name -> Maybe ActualParameterPart -> ProcedureCall
- Language.VHDL.Syntax: ProcedureCallStatement :: (Maybe Label) -> ProcedureCall -> ProcedureCallStatement
+ Language.VHDL.Syntax: ProcedureCallStatement :: Maybe Label -> ProcedureCall -> ProcedureCallStatement
- Language.VHDL.Syntax: ReportStatement :: (Maybe Label) -> Expression -> (Maybe Expression) -> ReportStatement
+ Language.VHDL.Syntax: ReportStatement :: Maybe Label -> Expression -> Maybe Expression -> ReportStatement
- Language.VHDL.Syntax: SignalAssignmentStatement :: (Maybe Label) -> Target -> (Maybe DelayMechanism) -> Waveform -> SignalAssignmentStatement
+ Language.VHDL.Syntax: SignalAssignmentStatement :: Maybe Label -> Target -> Maybe DelayMechanism -> Waveform -> SignalAssignmentStatement
- Language.VHDL.Syntax: Signature :: (Maybe (Maybe [TypeMark], Maybe TypeMark)) -> Signature
+ Language.VHDL.Syntax: Signature :: Maybe (Maybe [TypeMark], Maybe TypeMark) -> Signature
- Language.VHDL.Syntax: VariableAssignmentStatement :: (Maybe Label) -> Target -> Expression -> VariableAssignmentStatement
+ Language.VHDL.Syntax: VariableAssignmentStatement :: Maybe Label -> Target -> Expression -> VariableAssignmentStatement
- Language.VHDL.Syntax: WaitStatement :: (Maybe Label) -> (Maybe SensitivityClause) -> (Maybe ConditionClause) -> (Maybe TimeoutClause) -> WaitStatement
+ Language.VHDL.Syntax: WaitStatement :: Maybe Label -> Maybe SensitivityClause -> Maybe ConditionClause -> Maybe TimeoutClause -> WaitStatement
- Language.VHDL.Syntax: WaveEExp :: Expression -> (Maybe Expression) -> WaveformElement
+ Language.VHDL.Syntax: WaveEExp :: Expression -> Maybe Expression -> WaveformElement
- Language.VHDL.Syntax: WaveENull :: (Maybe Expression) -> WaveformElement
+ Language.VHDL.Syntax: WaveENull :: Maybe Expression -> WaveformElement
- Language.VHDL.Syntax: [gens_block_declarative_item] :: GenerateStatement -> Maybe (BlockDeclarativeItem)
+ Language.VHDL.Syntax: [gens_block_declarative_item] :: GenerateStatement -> Maybe [BlockDeclarativeItem]

Files

language-vhdl.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                language-vhdl-version:             0.1.3+version:             0.1.4 synopsis:            VHDL AST and pretty printer in Haskell. -- description:          license:             BSD3
src/Language/VHDL/Pretty.hs view
@@ -4,7 +4,8 @@ module Language.VHDL.Pretty (Pretty (..)) where  import Language.VHDL.Syntax-import Text.PrettyPrint     hiding (Mode)+import Text.PrettyPrint hiding (Mode)+import Prelude hiding ((<>))  -------------------------------------------------------------------------------- -- * Pretty printing class@@ -121,7 +122,10 @@     <+> text "OF" <+> pp s     <+> text "IS" <+> pp e <+> semi -instance Pretty BaseSpecifier where pp = error "missing: BaseSpecifier" -- todo+instance Pretty BaseSpecifier where+  pp BSOctal = char 'o'+  pp BSBinary = char 'b'+  pp BSHexadecimal = char 'x'  instance Pretty BaseUnitDeclaration where pp = error "missing: BaseUnitDeclaration" -- todo @@ -138,9 +142,11 @@   pp (BindingIndication e g p) =     vcat [condR (text "USE") e, cond id g, cond id p] -instance Pretty BitStringLiteral where pp = error "missing: BitStringLiteral" -- todo+instance Pretty BitStringLiteral where+  pp (BitStringLiteral bs bv) = pp bs <> doubleQuotes (pp bv) -instance Pretty BitValue where pp = error "missing: BitValue" -- todo+instance Pretty BitValue where+  pp (BitValue eds) = text eds  instance Pretty BlockConfiguration where   pp (BlockConfiguration s u c) =@@ -161,8 +167,8 @@   pp (BDIAlias a)       = pp a   pp (BDIComp c)        = pp c   pp (BDIAttrDecl a)    = pp a-  pp (BDIAttrSepc a)    = pp a-  pp (BDIConfigSepc c)  = pp c+  pp (BDIAttrSpec a)    = pp a+  pp (BDIConfigSpec c)  = pp c   pp (BDIDisconSpec d)  = pp d   pp (BDIUseClause u)   = pp u   pp (BDIGroupTemp g)   = pp g@@ -464,7 +470,7 @@   pp (EChar c) = pp c  instance Pretty EnumerationTypeDefinition where-  pp (EnumerationTypeDefinition es) = commaSep $ fmap pp es+  pp (EnumerationTypeDefinition es) = parens . commaSep . fmap pp $ es  instance Pretty ExitStatement where   pp (ExitStatement l b c) =@@ -482,8 +488,6 @@   pp (ENor r rs)  = pp r <+> condL (text "NOR")  rs   pp (EXnor rs)   = textSep "XNOR" $ map pp rs -instance Pretty ExtendedDigit where pp = error "missing: ExtendedDigit" -- todo- instance Pretty ExtendedIdentifier where pp = error "missing: ExtendedIdentifier" -- todo  instance Pretty Factor where@@ -537,15 +541,15 @@   pp (GenerateStatement l g d s) =     pp l <+> colon `hangs` vcat       [ pp g <+> text "GENERATE"-      , cond indent d+      , maybe empty (indent . vcat . fmap pp) d       , cond (const $ text "BEGIN") d       , indent $ vcat $ fmap pp s       , text "END GENERATE" <+> pp l <+> semi       ]  instance Pretty GenerationScheme where-  pp (GSFor p) = pp p-  pp (GSIf c)  = pp c+  pp (GSFor p) = text "FOR" <+> pp p+  pp (GSIf c)  = text "IF" <+> pp c  instance Pretty GenericClause where   pp (GenericClause ls) = text "GENERIC" <+> parens (pp ls) <+> semi@@ -1055,6 +1059,9 @@         Nothing    -> empty         Just True  -> text "PURE"         Just False -> text "IMPURE"++instance Pretty SubprogramDeclaration where+  pp (SubprogramDeclaration s) = pp s <+> semi  --instance Pretty SubprogramStatementPart where pp = undefined 
src/Language/VHDL/Syntax.hs view
@@ -192,8 +192,8 @@   | BDIAlias        AliasDeclaration   | BDIComp         ComponentDeclaration   | BDIAttrDecl     AttributeDeclaration-  | BDIAttrSepc     AttributeSpecification-  | BDIConfigSepc   ConfigurationSpecification+  | BDIAttrSpec     AttributeSpecification+  | BDIConfigSpec   ConfigurationSpecification   | BDIDisconSpec   DisconnectionSpecification   | BDIUseClause    UseClause   | BDIGroupTemp    GroupTemplateDeclaration@@ -333,7 +333,8 @@     operator_symbol ::= string_literal -} -type SubprogramDeclaration   = SubprogramSpecification+newtype SubprogramDeclaration = SubprogramDeclaration SubprogramSpecification+  deriving (Eq, Show)  data SubprogramSpecification =     SubprogramProcedure {@@ -530,7 +531,7 @@ -- * 2.6 Package bodies {-     package_body ::=-      PACKAGE  package_simple_name IS+      PACKAGE BODY package_simple_name IS         package_body_declarative_part       END [ PACKAGE BODY ] [ package_simple_name ] ; @@ -2573,7 +2574,7 @@ data GenerateStatement = GenerateStatement {     gens_label                  :: Label   , gens_generation_scheme      :: GenerationScheme-  , gens_block_declarative_item :: Maybe (BlockDeclarativeItem)+  , gens_block_declarative_item :: Maybe [BlockDeclarativeItem]   , gens_concurrent_statement   :: [ConcurrentStatement]   }   deriving (Eq, Show)@@ -2791,7 +2792,35 @@  type BasedInteger = Integer +type ExtendedDigit = Char+ --------------------------------------------------------------------------------+-- *** 13.7 Bit string literals++{-+    bit_string_literal ::= base_specifier "[ bit_value ]"++    bit_value ::= extended_digit { [ underline ] extended_digit }++    base_specifier ::= B | O | X+-}++data BitStringLiteral = BitStringLiteral {+    bsl_base_specifier :: BaseSpecifier+  , bsl_bit_value :: BitValue+  }+  deriving (Eq, Show)++data BitValue = BitValue [ExtendedDigit]+  deriving (Eq, Show)++data BaseSpecifier =+    BSOctal+  | BSBinary+  | BSHexadecimal+  deriving (Eq, Show)++-------------------------------------------------------------------------------- -- --                                  - ToDo - --@@ -2808,9 +2837,6 @@  -------------------------------------------------------------------------------- -data BaseSpecifier = BaseSpecifier-  deriving (Eq, Show)- data BaseUnitDeclaration = BaseUnitDeclaration   deriving (Eq, Show) @@ -2821,15 +2847,6 @@   deriving (Eq, Show)  data BasicIdentifier = BasicIdentifier-  deriving (Eq, Show)--data BitStringLiteral = BitStringLiteral-  deriving (Eq, Show)--data BitValue = BitValue-  deriving (Eq, Show)--data ExtendedDigit = ExtendedDigit   deriving (Eq, Show)  data ExtendedIdentifier = ExtendedIdentifier