Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Bluespec.Classic.AST.Syntax
Synopsis
- data CPackage = CPackage Id (Either [CExport] [CExport]) [CImport] [CFixity] [CDefn] [CInclude]
- data CExport
- data CImport
- = CImpId Bool Id
- | CImpSign String Bool CSignature
- data CSignature = CSignature Id [Id] [CFixity] [CDefn]
- data CFixity
- data CDefn
- = Ctype IdK [Id] CType
- | Cdata {
- cd_visible :: Bool
- cd_name :: IdK
- cd_type_vars :: [Id]
- cd_original_summands :: COSummands
- cd_internal_summands :: CSummands
- cd_derivings :: [CTypeclass]
- | Cstruct Bool StructSubType IdK [Id] CFields [CTypeclass]
- | Cclass (Maybe Bool) [CPred] IdK [Id] CFunDeps CFields
- | Cinstance CQType [CDefl]
- | CValue Id [CClause]
- | CValueSign CDef
- | Cforeign {
- cforg_name :: Id
- cforg_type :: CQType
- cforg_foreign_name :: Maybe String
- cforg_ports :: Maybe ([String], [String])
- | Cprimitive Id CQType
- | CprimType IdK
- | CPragma Pragma
- | CIinstance Id CQType
- | CItype IdK [Id] [Position]
- | CIclass (Maybe Bool) [CPred] IdK [Id] CFunDeps [Position]
- | CIValueSign Id CQType
- data IdK
- type CFunDeps = [([Id], [Id])]
- data CExpr
- = CLam (Either Position Id) CExpr
- | CLamT (Either Position Id) CQType CExpr
- | Cletseq [CDefl] CExpr
- | Cletrec [CDefl] CExpr
- | CSelect CExpr Id
- | CCon Id [CExpr]
- | Ccase Position CExpr CCaseArms
- | CStruct (Maybe Bool) Id [(Id, CExpr)]
- | CStructUpd CExpr [(Id, CExpr)]
- | Cwrite Position CExpr CExpr
- | CAny Position UndefKind
- | CVar Id
- | CApply CExpr [CExpr]
- | CTaskApply CExpr [CExpr]
- | CTaskApplyT CExpr CType [CExpr]
- | CLit CLiteral
- | CBinOp CExpr Id CExpr
- | CHasType CExpr CQType
- | Cif Position CExpr CExpr CExpr
- | CSub Position CExpr CExpr
- | CSub2 CExpr CExpr CExpr
- | CSubUpdate Position CExpr (CExpr, CExpr) CExpr
- | Cmodule Position [CMStmt]
- | Cinterface Position (Maybe Id) [CDefl]
- | CmoduleVerilog CExpr Bool VClockInfo VResetInfo [(VArgInfo, CExpr)] [VFieldInfo] VSchedInfo VPathInfo
- | CForeignFuncC Id CQType
- | Cdo Bool CStmts
- | Caction Position CStmts
- | Crules [CSchedulePragma] [CRule]
- | COper [COp]
- | CCon1 Id Id CExpr
- | CSelectTT Id CExpr Id
- | CCon0 (Maybe Id) Id
- | CConT Id Id [CExpr]
- | CStructT CType [(Id, CExpr)]
- | CSelectT Id Id
- | CLitT CType CLiteral
- | CAnyT Position UndefKind CType
- | CmoduleVerilogT CType CExpr Bool VClockInfo VResetInfo [(VArgInfo, CExpr)] [VFieldInfo] VSchedInfo VPathInfo
- | CForeignFuncCT Id CType
- | CTApply CExpr [CType]
- | Cattributes [(Position, PProp)]
- data CLiteral = CLiteral Position Literal
- data COp
- type CSummands = [CInternalSummand]
- data CInternalSummand = CInternalSummand {
- cis_names :: [Id]
- cis_arg_type :: CType
- cis_tag_encoding :: Integer
- type COSummands = [COriginalSummand]
- data COriginalSummand = COriginalSummand {
- cos_names :: [Id]
- cos_arg_types :: [CQType]
- cos_field_names :: Maybe [Id]
- cos_tag_encoding :: Maybe Integer
- data CField = CField {
- cf_name :: Id
- cf_pragmas :: Maybe [IfcPragma]
- cf_type :: CQType
- cf_default :: [CClause]
- cf_orig_type :: Maybe CType
- type CFields = [CField]
- data CCaseArm = CCaseArm {
- cca_pattern :: CPat
- cca_filters :: [CQual]
- cca_consequent :: CExpr
- type CCaseArms = [CCaseArm]
- data CStmt
- type CStmts = [CStmt]
- data CMStmt
- data CRule
- = CRule [RulePragma] (Maybe CExpr) [CQual] CExpr
- | CRuleNest [RulePragma] (Maybe CExpr) [CQual] [CRule]
- data CDefl
- data CDef
- data CClause = CClause [CPat] [CQual] CExpr
- data CQual
- data CPat
- data CPOp
- newtype CInclude = CInclude String
- cApply :: Int -> CExpr -> [CExpr] -> CExpr
- cVApply :: Id -> [CExpr] -> CExpr
- getName :: CDefn -> Either Position Id
- iKName :: IdK -> Id
Documentation
Instances
Show CPackage Source # | |
Eq CPackage Source # | |
Ord CPackage Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Pretty CPackage Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CPackage -> Doc pPrintList :: PrettyLevel -> [CPackage] -> Doc |
Instances
Show CExport Source # | |
Eq CExport Source # | |
Ord CExport Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Pretty CExport Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CExport -> Doc pPrintList :: PrettyLevel -> [CExport] -> Doc |
Constructors
CImpId Bool Id | |
CImpSign String Bool CSignature |
Instances
Show CImport Source # | |
Eq CImport Source # | |
Ord CImport Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Pretty CImport Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CImport -> Doc pPrintList :: PrettyLevel -> [CImport] -> Doc |
data CSignature Source #
Constructors
CSignature Id [Id] [CFixity] [CDefn] |
Instances
Show CSignature Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods showsPrec :: Int -> CSignature -> ShowS show :: CSignature -> String showList :: [CSignature] -> ShowS | |
Eq CSignature Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Ord CSignature Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods compare :: CSignature -> CSignature -> Ordering (<) :: CSignature -> CSignature -> Bool (<=) :: CSignature -> CSignature -> Bool (>) :: CSignature -> CSignature -> Bool (>=) :: CSignature -> CSignature -> Bool max :: CSignature -> CSignature -> CSignature min :: CSignature -> CSignature -> CSignature | |
Pretty CSignature Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CSignature -> Doc pPrint :: CSignature -> Doc pPrintList :: PrettyLevel -> [CSignature] -> Doc |
Instances
Show CFixity Source # | |
Eq CFixity Source # | |
Ord CFixity Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Pretty CFixity Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CFixity -> Doc pPrintList :: PrettyLevel -> [CFixity] -> Doc |
Constructors
Ctype IdK [Id] CType | |
Cdata | |
Fields
| |
Cstruct Bool StructSubType IdK [Id] CFields [CTypeclass] | |
Cclass (Maybe Bool) [CPred] IdK [Id] CFunDeps CFields | |
Cinstance CQType [CDefl] | |
CValue Id [CClause] | |
CValueSign CDef | |
Cforeign | |
Fields
| |
Cprimitive Id CQType | |
CprimType IdK | |
CPragma Pragma | |
CIinstance Id CQType | |
CItype IdK [Id] [Position] | |
CIclass (Maybe Bool) [CPred] IdK [Id] CFunDeps [Position] | |
CIValueSign Id CQType |
Instances
Show CDefn Source # | |
Eq CDefn Source # | |
Ord CDefn Source # | |
HasPosition CDefn Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CDefn -> Position Source # | |
Pretty CDefn Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CDefn -> Doc pPrintList :: PrettyLevel -> [CDefn] -> Doc |
Instances
Show IdK Source # | |
Eq IdK Source # | |
Ord IdK Source # | |
HasPosition IdK Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: IdK -> Position Source # | |
Pretty IdK Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax |
Constructors
Instances
Show CExpr Source # | |
Eq CExpr Source # | |
Ord CExpr Source # | |
HasPosition CExpr Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CExpr -> Position Source # | |
Pretty CExpr Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CExpr -> Doc pPrintList :: PrettyLevel -> [CExpr] -> Doc |
Instances
Show CLiteral Source # | |
Eq CLiteral Source # | |
Ord CLiteral Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
HasPosition CLiteral Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CLiteral -> Position Source # | |
Pretty CLiteral Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CLiteral -> Doc pPrintList :: PrettyLevel -> [CLiteral] -> Doc |
Instances
Show COp Source # | |
Eq COp Source # | |
Ord COp Source # | |
HasPosition COp Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: COp -> Position Source # | |
Pretty COp Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax |
type CSummands = [CInternalSummand] Source #
data CInternalSummand Source #
Constructors
CInternalSummand | |
Fields
|
Instances
Show CInternalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods showsPrec :: Int -> CInternalSummand -> ShowS show :: CInternalSummand -> String showList :: [CInternalSummand] -> ShowS | |
Eq CInternalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods (==) :: CInternalSummand -> CInternalSummand -> Bool (/=) :: CInternalSummand -> CInternalSummand -> Bool | |
Ord CInternalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods compare :: CInternalSummand -> CInternalSummand -> Ordering (<) :: CInternalSummand -> CInternalSummand -> Bool (<=) :: CInternalSummand -> CInternalSummand -> Bool (>) :: CInternalSummand -> CInternalSummand -> Bool (>=) :: CInternalSummand -> CInternalSummand -> Bool max :: CInternalSummand -> CInternalSummand -> CInternalSummand min :: CInternalSummand -> CInternalSummand -> CInternalSummand | |
HasPosition CInternalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods |
type COSummands = [COriginalSummand] Source #
data COriginalSummand Source #
Constructors
COriginalSummand | |
Fields
|
Instances
Show COriginalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods showsPrec :: Int -> COriginalSummand -> ShowS show :: COriginalSummand -> String showList :: [COriginalSummand] -> ShowS | |
Eq COriginalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods (==) :: COriginalSummand -> COriginalSummand -> Bool (/=) :: COriginalSummand -> COriginalSummand -> Bool | |
Ord COriginalSummand Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods compare :: COriginalSummand -> COriginalSummand -> Ordering (<) :: COriginalSummand -> COriginalSummand -> Bool (<=) :: COriginalSummand -> COriginalSummand -> Bool (>) :: COriginalSummand -> COriginalSummand -> Bool (>=) :: COriginalSummand -> COriginalSummand -> Bool max :: COriginalSummand -> COriginalSummand -> COriginalSummand min :: COriginalSummand -> COriginalSummand -> COriginalSummand |
Constructors
CField | |
Fields
|
Constructors
CCaseArm | |
Fields
|
Instances
Show CCaseArm Source # | |
Eq CCaseArm Source # | |
Ord CCaseArm Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
HasPosition CCaseArm Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CCaseArm -> Position Source # |
Constructors
CSBindT CPat (Maybe CExpr) [(Position, PProp)] CQType CExpr | |
CSBind CPat (Maybe CExpr) [(Position, PProp)] CExpr | |
CSletseq [CDefl] | |
CSletrec [CDefl] | |
CSExpr (Maybe CExpr) CExpr |
Instances
Show CStmt Source # | |
Eq CStmt Source # | |
Ord CStmt Source # | |
HasPosition CStmt Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CStmt -> Position Source # | |
Pretty CStmt Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CStmt -> Doc pPrintList :: PrettyLevel -> [CStmt] -> Doc |
Constructors
CMStmt CStmt | |
CMrules CExpr | |
CMinterface CExpr | |
CMTupleInterface Position [CExpr] |
Instances
Show CMStmt Source # | |
Eq CMStmt Source # | |
Ord CMStmt Source # | |
HasPosition CMStmt Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CMStmt -> Position Source # | |
Pretty CMStmt Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CMStmt -> Doc pPrintList :: PrettyLevel -> [CMStmt] -> Doc |
Constructors
CRule [RulePragma] (Maybe CExpr) [CQual] CExpr | |
CRuleNest [RulePragma] (Maybe CExpr) [CQual] [CRule] |
Instances
Show CRule Source # | |
Eq CRule Source # | |
Ord CRule Source # | |
HasPosition CRule Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CRule -> Position Source # | |
Pretty CRule Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CRule -> Doc pPrintList :: PrettyLevel -> [CRule] -> Doc |
A definition with a binding. Can occur as a let expression, let statement in a do block, a typeclass instance defn, or bindings in an interface.
Instances
Show CDefl Source # | |
Eq CDefl Source # | |
Ord CDefl Source # | |
HasPosition CDefl Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CDefl -> Position Source # | |
Pretty CDefl Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CDefl -> Doc pPrintList :: PrettyLevel -> [CDefl] -> Doc |
Instances
Show CDef Source # | |
Eq CDef Source # | |
Ord CDef Source # | |
HasPosition CDef Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CDef -> Position Source # | |
Pretty CDef Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CDef -> Doc pPrintList :: PrettyLevel -> [CDef] -> Doc |
Instances
Show CClause Source # | |
Eq CClause Source # | |
Ord CClause Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
HasPosition CClause Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CClause -> Position Source # | |
Pretty CClause Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CClause -> Doc pPrintList :: PrettyLevel -> [CClause] -> Doc |
Instances
Show CQual Source # | |
Eq CQual Source # | |
Ord CQual Source # | |
HasPosition CQual Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CQual -> Position Source # | |
Pretty CQual Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CQual -> Doc pPrintList :: PrettyLevel -> [CQual] -> Doc |
Constructors
CPCon Id [CPat] | |
CPstruct (Maybe Bool) Id [(Id, CPat)] | |
CPVar Id | |
CPAs Id CPat | |
CPAny Position | |
CPLit CLiteral | |
CPMixedLit Position Integer [(Integer, Maybe Integer)] | |
CPOper [CPOp] | |
CPCon1 Id Id CPat | |
CPConTs Id Id [CType] [CPat] |
Instances
Show CPat Source # | |
Eq CPat Source # | |
Ord CPat Source # | |
HasPosition CPat Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CPat -> Position Source # | |
Pretty CPat Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CPat -> Doc pPrintList :: PrettyLevel -> [CPat] -> Doc |
Instances
Show CPOp Source # | |
Eq CPOp Source # | |
Ord CPOp Source # | |
HasPosition CPOp Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods getPosition :: CPOp -> Position Source # | |
Pretty CPOp Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CPOp -> Doc pPrintList :: PrettyLevel -> [CPOp] -> Doc |
Constructors
CInclude String |
Instances
Show CInclude Source # | |
Eq CInclude Source # | |
Ord CInclude Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax | |
Pretty CInclude Source # | |
Defined in Language.Bluespec.Classic.AST.Syntax Methods pPrintPrec :: PrettyLevel -> Rational -> CInclude -> Doc pPrintList :: PrettyLevel -> [CInclude] -> Doc |