AdapTable contains a sophisticated Parser - a powerful, custom-built tool developed by the Adaptable Tools team to evaluate queries.
The parser is designed to be fast, efficient and highly performant using caching and other techniques
The Parser is used at run-time to evaluate 2 important objects - both of which are widely used in AdapTable:
- Predicates - a type used primarily for Filters that always returns a boolean value (e.g. 'Positive', 'Today') and sometimes receives an input argument (e.g. 'Contains', 'GreaterThan')
- Queries - a more powerful construct that can contain numerous conditions and arguments, and supports multiple return types (also known as expressions)
Generally there is no need for developers to understand how the parser works; merely to ensure that it is provided with valid queries.
One exception to this rule, is if Server Searching is being used; in that scenario AdapTable queries and predicates will need to be evaluated remotely.
To help you evaluate Expressions remotely, AdapTable makes the AST it uses for a query available via Query API.
Using the Parser
Predicates and Expressions are both intended to be fully human-readable and can, fairly easily, be written entirely by hand.
Those provided in Predefined Config will most likely be hand written
However at run-time AdapTable provides a very helpful Expression Editor with many useful features designed to help users write queries and ensure valid output.
The following demos contain Expressions: