Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type AstComparisonOperator = Int32
- pattern AstComparisonOperatorGreaterThan :: forall a. (Num a, Eq a) => a
- pattern AstComparisonOperatorLessThan :: forall a. (Num a, Eq a) => a
- pattern AstComparisonOperatorLessEqual :: forall a. (Num a, Eq a) => a
- pattern AstComparisonOperatorGreaterEqual :: forall a. (Num a, Eq a) => a
- pattern AstComparisonOperatorNotEqual :: forall a. (Num a, Eq a) => a
- pattern AstComparisonOperatorEqual :: forall a. (Num a, Eq a) => a
- type AstSign = Int32
- pattern AstSignNone :: forall a. (Num a, Eq a) => a
- pattern AstSignNegation :: forall a. (Num a, Eq a) => a
- pattern AstSignDoubleNegation :: forall a. (Num a, Eq a) => a
- type AstTermType = Int32
- pattern AstTermTypeSymbol :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeVariable :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeUnaryOperation :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeBinaryOperation :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeInterval :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeFunction :: forall a. (Num a, Eq a) => a
- pattern AstTermTypeExternalFunction :: forall a. (Num a, Eq a) => a
- pattern AstTermTypePool :: forall a. (Num a, Eq a) => a
- type AstUnaryOperator = Int32
- pattern AstUnaryOperatorMinus :: forall a. (Num a, Eq a) => a
- pattern AstUnaryOperatorNegation :: forall a. (Num a, Eq a) => a
- pattern AstUnaryOperatorAbsolute :: forall a. (Num a, Eq a) => a
- type AstBinaryOperator = Int32
- pattern AstBinaryOperatorXor :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorOr :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorAnd :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorPlus :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorMinus :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorMultiplication :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorDivision :: forall a. (Num a, Eq a) => a
- pattern AstBinaryOperatorModulo :: forall a. (Num a, Eq a) => a
- type AstLiteralType = Int32
- pattern AstLiteralTypeBoolean :: forall a. (Num a, Eq a) => a
- pattern AstLiteralTypeSymbolic :: forall a. (Num a, Eq a) => a
- pattern AstLiteralTypeComparison :: forall a. (Num a, Eq a) => a
- pattern AstLiteralTypeCsp :: forall a. (Num a, Eq a) => a
- type AstAggregateFunction = Int32
- pattern AstAggregateFunctionCount :: forall a. (Num a, Eq a) => a
- pattern AstAggregateFunctionSum :: forall a. (Num a, Eq a) => a
- pattern AstAggregateFunctionSump :: forall a. (Num a, Eq a) => a
- pattern AstAggregateFunctionMin :: forall a. (Num a, Eq a) => a
- pattern AstAggregateFunctionMax :: forall a. (Num a, Eq a) => a
- type AstTheoryTermType = Int32
- pattern AstTheoryTermTypeSymbol :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeVariable :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeTuple :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeList :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeSet :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeFunction :: forall a. (Num a, Eq a) => a
- pattern AstTheoryTermTypeUnparsedTerm :: forall a. (Num a, Eq a) => a
- type AstHeadLiteralType = Int32
- pattern AstHeadLiteralTypeLiteral :: forall a. (Num a, Eq a) => a
- pattern AstHeadLiteralTypeDisjunction :: forall a. (Num a, Eq a) => a
- pattern AstHeadLiteralTypeAggregate :: forall a. (Num a, Eq a) => a
- pattern AstHeadLiteralTypeHeadAggregate :: forall a. (Num a, Eq a) => a
- pattern AstHeadLiteralTypeTheoryAtom :: forall a. (Num a, Eq a) => a
- type AstBodyLiteralType = Int32
- pattern AstBodyLiteralTypeLiteral :: forall a. (Num a, Eq a) => a
- pattern AstBodyLiteralTypeConditional :: forall a. (Num a, Eq a) => a
- pattern AstBodyLiteralTypeAggregate :: forall a. (Num a, Eq a) => a
- pattern AstBodyLiteralTypeBodyAggregate :: forall a. (Num a, Eq a) => a
- pattern AstBodyLiteralTypeTheoryAtom :: forall a. (Num a, Eq a) => a
- pattern AstBodyLiteralTypeDisjoint :: forall a. (Num a, Eq a) => a
- type AstTheoryOperatorType = Int32
- pattern AstTheoryOperatorTypeUnary :: forall a. (Num a, Eq a) => a
- pattern AstTheoryOperatorTypeBinaryLeft :: forall a. (Num a, Eq a) => a
- pattern AstTheoryOperatorTypeBinaryRight :: forall a. (Num a, Eq a) => a
- type AstTheoryAtomDefType = Int32
- pattern AstTheoryAtomDefinitionTypeHead :: forall a. (Num a, Eq a) => a
- pattern AstTheoryAtomDefinitionTypeBody :: forall a. (Num a, Eq a) => a
- pattern AstTheoryAtomDefinitionTypeAny :: forall a. (Num a, Eq a) => a
- pattern AstTheoryAtomDefinitionTypeDirective :: forall a. (Num a, Eq a) => a
- type AstScriptType = Int32
- pattern AstScriptTypeLua :: forall a. (Num a, Eq a) => a
- pattern AstScriptTypePython :: forall a. (Num a, Eq a) => a
- type AstStatementType = Int32
- pattern AstStatementTypeRule :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeConst :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeShowSignature :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeShowTerm :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeMinimize :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeScript :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeProgram :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeExternal :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeEdge :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeHeuristic :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeProjectAtom :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeProjectAtomSignature :: forall a. (Num a, Eq a) => a
- pattern AstStatementTypeTheoryDefinition :: forall a. (Num a, Eq a) => a
- data AstUnaryOperation = AstUnaryOperation AstUnaryOperator AstTerm
- data AstBinaryOperation = AstBinaryOperation AstBinaryOperator AstTerm AstTerm
- data AstInterval = AstInterval AstTerm AstTerm
- data AstFunction = AstFunction CString (Ptr AstTerm) CSize
- data AstPool = AstPool (Ptr AstTerm) CSize
- data AstTerm
- = AstTermSymbol Location Symbol
- | AstTermVariable Location CString
- | AstTermUOp Location (Ptr AstUnaryOperation)
- | AstTermBOp Location (Ptr AstBinaryOperation)
- | AstTermInterval Location (Ptr AstInterval)
- | AstTermFunction Location (Ptr AstFunction)
- | AstTermExtFunction Location (Ptr AstFunction)
- | AstTermPool Location (Ptr AstPool)
- data AstCspProductTerm = AstCspProductTerm Location AstTerm (Ptr AstTerm)
- data AstCspSumTerm = AstCspSumTerm Location (Ptr AstCspProductTerm) CSize
- data AstCspGuard = AstCspGuard AstComparisonOperator AstCspSumTerm
- data AstCspLiteral = AstCspLiteral AstCspSumTerm (Ptr AstCspGuard) CSize
- data AstId = AstId Location CString
- data AstComparison = AstComparison AstComparisonOperator AstTerm AstTerm
- data AstLiteral
- data AstAggregateGuard = AstAggregateGuard AstComparisonOperator AstTerm
- data AstConditionalLiteral = AstConditionalLiteral AstLiteral (Ptr AstLiteral) CSize
- data AstAggregate = AstAggregate (Ptr AstConditionalLiteral) CSize (Ptr AstAggregateGuard) (Ptr AstAggregateGuard)
- data AstBodyAggregateElement = AstBodyAggregateElement (Ptr AstTerm) CSize (Ptr AstLiteral) CSize
- data AstBodyAggregate = AstBodyAggregate AstAggregateFunction (Ptr AstBodyAggregateElement) CSize (Ptr AstAggregateGuard) (Ptr AstAggregateGuard)
- data AstHeadAggregateElement = AstHeadAggregateElement (Ptr AstTerm) CSize AstConditionalLiteral
- data AstHeadAggregate = AstHeadAggregate AstAggregateFunction (Ptr AstHeadAggregateElement) CSize (Ptr AstAggregateGuard) (Ptr AstAggregateGuard)
- data AstDisjunction = AstDisjunction (Ptr AstConditionalLiteral) CSize
- data AstDisjointElement = AstDisjointElement Location (Ptr AstTerm) CSize AstCspSumTerm (Ptr AstLiteral) CSize
- data AstDisjoint = AstDisjoint (Ptr AstDisjointElement) CSize
- data AstTheoryTermArray = AstTheoryTermArray (Ptr AstTheoryTerm) CSize
- data AstTheoryFunction = AstTheoryFunction CString (Ptr AstTheoryTerm) CSize
- data AstTheoryUnparsedTermElement = AstTheoryUnparsedTermElement (Ptr CString) CSize AstTheoryTerm
- data AstTheoryUnparsedTerm = AstTheoryUnparsedTerm (Ptr AstTheoryUnparsedTermElement) CSize
- data AstTheoryTerm
- = AstTheoryTermSymbol Location Symbol
- | AstTheoryTermVariable Location CString
- | AstTheoryTermTuple Location (Ptr AstTheoryTermArray)
- | AstTheoryTermList Location (Ptr AstTheoryTermArray)
- | AstTheoryTermSet Location (Ptr AstTheoryTermArray)
- | AstTheoryTermFunction Location (Ptr AstTheoryFunction)
- | AstTheoryTermUnparsed Location (Ptr AstTheoryUnparsedTerm)
- data AstTheoryAtomElement = AstTheoryAtomElement (Ptr AstTheoryTerm) CSize (Ptr AstLiteral) CSize
- data AstTheoryGuard = AstTheoryGuard CString AstTheoryTerm
- data AstTheoryAtom = AstTheoryAtom AstTerm (Ptr AstTheoryAtomElement) CSize AstTheoryGuard
- data AstHeadLiteral
- data AstBodyLiteral
- = AstBodyLiteral Location AstSign (Ptr AstLiteral)
- | AstBodyConditional Location (Ptr AstConditionalLiteral)
- | AstBodyLitAggregate Location AstSign (Ptr AstAggregate)
- | AstBodyBodyAggregate Location AstSign (Ptr AstBodyAggregate)
- | AstBodyTheoryAtom Location AstSign (Ptr AstTheoryAtom)
- | AstBodyDisjoint Location AstSign (Ptr AstDisjoint)
- data AstTheoryOperatorDefinition = AstTheoryOperatorDefinition Location CString CUInt AstTheoryOperatorType
- data AstTheoryTermDefinition = AstTheoryTermDefinition Location CString (Ptr AstTheoryOperatorDefinition) CSize
- data AstTheoryGuardDefinition = AstTheoryGuardDefinition CString (Ptr CString) CSize
- data AstTheoryAtomDefinition = AstTheoryAtomDefinition Location AstTheoryAtomDefType CString CUInt CString (Ptr AstTheoryGuardDefinition)
- data AstTheoryDefinition = AstTheoryDefinition CString (Ptr AstTheoryTermDefinition) CSize (Ptr AstTheoryAtomDefinition) CSize
- data AstRule = AstRule AstHeadLiteral (Ptr AstBodyLiteral) CSize
- data AstDefinition = AstDefinition CString AstTerm CBool
- data AstShowSignature = AstShowSignature Signature CBool
- data AstShowTerm = AstShowTerm AstTerm (Ptr AstBodyLiteral) CSize CBool
- data AstMinimize = AstMinimize AstTerm AstTerm (Ptr AstTerm) CSize (Ptr AstBodyLiteral) CSize
- data AstScript = AstScript AstScriptType CString
- data AstProgram = AstProgram CString (Ptr AstId) CSize
- data AstExternal = AstExternal AstTerm (Ptr AstBodyLiteral) CSize
- data AstEdge = AstEdge AstTerm AstTerm (Ptr AstBodyLiteral) CSize
- data AstHeuristic = AstHeuristic AstTerm (Ptr AstBodyLiteral) CSize AstTerm AstTerm AstTerm
- data AstProject = AstProject AstTerm (Ptr AstBodyLiteral) CSize
- data AstStatement
- = AstStmtRule Location (Ptr AstRule)
- | AstStmtDefinition Location (Ptr AstDefinition)
- | AstStmtShowSignature Location (Ptr AstShowSignature)
- | AstStmtShowTerm Location (Ptr AstShowTerm)
- | AstStmtMinimize Location (Ptr AstMinimize)
- | AstStmtScript Location (Ptr AstScript)
- | AstStmtProgram Location (Ptr AstProgram)
- | AstStmtExternal Location (Ptr AstExternal)
- | AstStmtEdge Location (Ptr AstEdge)
- | AstStmtHeuristic Location (Ptr AstHeuristic)
- | AstStmtProject Location (Ptr AstProject)
- | AstStmtSignature Location Signature
- | AstStmtTheoryDefn Location (Ptr AstTheoryDefinition)
- type CallbackAST a = Ptr AstStatement -> Ptr a -> IO CBool
- mkCallbackAst :: CallbackAST a -> IO (FunPtr (CallbackAST a))
- parseProgram :: MonadIO m => CString -> FunPtr (CallbackAST a) -> Ptr a -> FunPtr (Logger b) -> Ptr b -> CUInt -> m CBool
Enumerations
type AstComparisonOperator = Int32 Source #
pattern AstComparisonOperatorGreaterThan :: forall a. (Num a, Eq a) => a Source #
pattern AstComparisonOperatorLessThan :: forall a. (Num a, Eq a) => a Source #
pattern AstComparisonOperatorLessEqual :: forall a. (Num a, Eq a) => a Source #
pattern AstComparisonOperatorGreaterEqual :: forall a. (Num a, Eq a) => a Source #
pattern AstComparisonOperatorNotEqual :: forall a. (Num a, Eq a) => a Source #
pattern AstComparisonOperatorEqual :: forall a. (Num a, Eq a) => a Source #
pattern AstSignNone :: forall a. (Num a, Eq a) => a Source #
pattern AstSignNegation :: forall a. (Num a, Eq a) => a Source #
pattern AstSignDoubleNegation :: forall a. (Num a, Eq a) => a Source #
type AstTermType = Int32 Source #
pattern AstTermTypeSymbol :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeVariable :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeUnaryOperation :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeBinaryOperation :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeInterval :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeFunction :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypeExternalFunction :: forall a. (Num a, Eq a) => a Source #
pattern AstTermTypePool :: forall a. (Num a, Eq a) => a Source #
type AstUnaryOperator = Int32 Source #
pattern AstUnaryOperatorMinus :: forall a. (Num a, Eq a) => a Source #
pattern AstUnaryOperatorNegation :: forall a. (Num a, Eq a) => a Source #
pattern AstUnaryOperatorAbsolute :: forall a. (Num a, Eq a) => a Source #
type AstBinaryOperator = Int32 Source #
pattern AstBinaryOperatorXor :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorOr :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorAnd :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorPlus :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorMinus :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorMultiplication :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorDivision :: forall a. (Num a, Eq a) => a Source #
pattern AstBinaryOperatorModulo :: forall a. (Num a, Eq a) => a Source #
type AstLiteralType = Int32 Source #
pattern AstLiteralTypeBoolean :: forall a. (Num a, Eq a) => a Source #
pattern AstLiteralTypeSymbolic :: forall a. (Num a, Eq a) => a Source #
pattern AstLiteralTypeComparison :: forall a. (Num a, Eq a) => a Source #
pattern AstLiteralTypeCsp :: forall a. (Num a, Eq a) => a Source #
type AstAggregateFunction = Int32 Source #
pattern AstAggregateFunctionCount :: forall a. (Num a, Eq a) => a Source #
pattern AstAggregateFunctionSum :: forall a. (Num a, Eq a) => a Source #
pattern AstAggregateFunctionSump :: forall a. (Num a, Eq a) => a Source #
pattern AstAggregateFunctionMin :: forall a. (Num a, Eq a) => a Source #
pattern AstAggregateFunctionMax :: forall a. (Num a, Eq a) => a Source #
type AstTheoryTermType = Int32 Source #
pattern AstTheoryTermTypeSymbol :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeVariable :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeTuple :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeList :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeSet :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeFunction :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryTermTypeUnparsedTerm :: forall a. (Num a, Eq a) => a Source #
type AstHeadLiteralType = Int32 Source #
pattern AstHeadLiteralTypeLiteral :: forall a. (Num a, Eq a) => a Source #
pattern AstHeadLiteralTypeDisjunction :: forall a. (Num a, Eq a) => a Source #
pattern AstHeadLiteralTypeAggregate :: forall a. (Num a, Eq a) => a Source #
pattern AstHeadLiteralTypeHeadAggregate :: forall a. (Num a, Eq a) => a Source #
pattern AstHeadLiteralTypeTheoryAtom :: forall a. (Num a, Eq a) => a Source #
type AstBodyLiteralType = Int32 Source #
pattern AstBodyLiteralTypeLiteral :: forall a. (Num a, Eq a) => a Source #
pattern AstBodyLiteralTypeConditional :: forall a. (Num a, Eq a) => a Source #
pattern AstBodyLiteralTypeAggregate :: forall a. (Num a, Eq a) => a Source #
pattern AstBodyLiteralTypeBodyAggregate :: forall a. (Num a, Eq a) => a Source #
pattern AstBodyLiteralTypeTheoryAtom :: forall a. (Num a, Eq a) => a Source #
pattern AstBodyLiteralTypeDisjoint :: forall a. (Num a, Eq a) => a Source #
type AstTheoryOperatorType = Int32 Source #
pattern AstTheoryOperatorTypeUnary :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryOperatorTypeBinaryLeft :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryOperatorTypeBinaryRight :: forall a. (Num a, Eq a) => a Source #
type AstTheoryAtomDefType = Int32 Source #
pattern AstTheoryAtomDefinitionTypeHead :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryAtomDefinitionTypeBody :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryAtomDefinitionTypeAny :: forall a. (Num a, Eq a) => a Source #
pattern AstTheoryAtomDefinitionTypeDirective :: forall a. (Num a, Eq a) => a Source #
type AstScriptType = Int32 Source #
pattern AstScriptTypeLua :: forall a. (Num a, Eq a) => a Source #
pattern AstScriptTypePython :: forall a. (Num a, Eq a) => a Source #
type AstStatementType = Int32 Source #
pattern AstStatementTypeRule :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeConst :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeShowSignature :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeShowTerm :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeMinimize :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeScript :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeProgram :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeExternal :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeEdge :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeHeuristic :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeProjectAtom :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeProjectAtomSignature :: forall a. (Num a, Eq a) => a Source #
pattern AstStatementTypeTheoryDefinition :: forall a. (Num a, Eq a) => a Source #
Syntax Tree Definitions
data AstUnaryOperation Source #
data AstBinaryOperation Source #
data AstInterval Source #
data AstFunction Source #
data AstCspProductTerm Source #
data AstCspSumTerm Source #
data AstCspGuard Source #
data AstCspLiteral Source #
data AstComparison Source #
data AstLiteral Source #
data AstAggregateGuard Source #
data AstConditionalLiteral Source #
data AstAggregate Source #
data AstBodyAggregate Source #
data AstHeadAggregate Source #
data AstDisjunction Source #
data AstDisjointElement Source #
data AstDisjoint Source #
data AstTheoryTermArray Source #
data AstTheoryFunction Source #
data AstTheoryUnparsedTerm Source #
data AstTheoryTerm Source #
data AstTheoryAtomElement Source #
data AstTheoryGuard Source #
data AstTheoryAtom Source #
data AstHeadLiteral Source #
data AstBodyLiteral Source #
data AstTheoryDefinition Source #
data AstDefinition Source #
data AstShowSignature Source #
data AstShowTerm Source #
data AstMinimize Source #
data AstProgram Source #
data AstExternal Source #
data AstHeuristic Source #
data AstProject Source #
data AstStatement Source #
Functions
type CallbackAST a = Ptr AstStatement -> Ptr a -> IO CBool Source #
mkCallbackAst :: CallbackAST a -> IO (FunPtr (CallbackAST a)) Source #