| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | Timo B. Huebel (tbh@holumbus.org) |
| Safe Haskell | None |
Holumbus.Query.Language.Grammar
Contents
Description
Version : 0.2
The Holumbus query language definition.
The specific syntax of any query language can be designed independently by creating appropriate parsers. Also see Holumbus.Query.Language.Parser.
Query data types
The query language.
Constructors
| Word String | Single case-insensitive word. |
| Phrase String | Single case-insensitive phrase. |
| CaseWord String | Single case-sensitive word. |
| CasePhrase String | Single case-sensitive phrase. |
| FuzzyWord String | Single fuzzy word. |
| Specifier [Context] Query | Restrict query to a list of contexts. |
| Negation Query | Negate the query. |
| BinQuery BinOp Query Query | Combine two queries through a binary operation. |
A binary operation.
Optimizing
optimize :: Query -> QuerySource
Transforms all (BinQuery And q1 q2) where one of q1 or q2 is a Negation into
BinQuery Filter q1 q2 or BinQuery Filter q2 q1 respectively.
checkWith :: (String -> Bool) -> Query -> BoolSource
Check if the query arguments comply with some custom predicate.
extractTerms :: Query -> [String]Source
Returns a list of all terms in the query.