searchql v2.1.2 SearchQL.LogicalParser
Parses logical expressions in a SearchQL query.
Summary
Functions
Parses a list of tokens and returns that list with logical expressions replaced by logical tokens. Note that logical parsing is case-insensitive
Functions
Parses a list of tokens and returns that list with logical expressions replaced by logical tokens. Note that logical parsing is case-insensitive.
iex> SearchQL.LogicalParser.parse([data: "foo and bar"])
[data: "foo", data: "bar"]
This function parses tokens in reverse order, “OR”s before “AND”s. This results in a parsing where “AND” has the higher precedence, and where operator precedence is left-associative:
iex> SearchQL.LogicalParser.parse([data: "foo or bar and baz and qux"])
[or: {
[data: "foo"],
[data: "bar", data: "baz", data: "qux"]}]