Drop the old frontend parser. It's fully replaced by the new parser module now.
frontend/parser: Renamed SDB_PARSE_EXPR to SDB_PARSE_ARITH. That's a bit more specific ;-)
frontend: Let the analyzer report details about errors.
frontend: Improved parser error reporting. All error messages are now written to a string buffer, allowing them to be displayed as part of the main error messages associated with failed commands.
frontend: Added basic support for semantic AST analysis. For now, the analyzer checks the types of all matcher operands.
frontend/parser: Made clear that parser modes are flags. It doesn't make a difference so far, but will avoid problems in the future.
frontend: Added sdb_fe_parse_expr(). This function enables a special new parser mode in which it only accepts simple expressions.
Cleaned up nomenclature in the parser. Replace the generic "expression" with "condition".
frontend parser: Added support for parsing single expressions. The parser has been extended to support different modes. In SDB_PARSE_EXPR mode, a single expression will be accepted as a start condition. The new function sdb_fe_parse_matcher() uses this to parse expressions. For now, this implements only the basic framework. Any identifier will be parsed as a simple name matcher expression.
frontend parser: Added 'len' parameter to sdb_fe_parse(). When greater than (or equal to) zero, this parameter let's the parser parse a substring of the specified query. This makes it easier to pass in a command stored in a connection's input string buffer.
frontend: Let sdb_fe_parse() return a list of parsed node objects. Each parse-tree node object represents a single command.
Declare sdb_fe_yyparse() in parser.h. Apparently, older versions of bison do not include the function prototype in the generated header file. Double-declarations don't hurt (as long as they match).
frontend: Added flex/bison based parser skeleton. For now, this implements a mostly empty parser and helper functions to parse strings (rather than open files). The parser accepts the "LIST" command and ignores SQL and C style comments.