|
pianod2
multisource multiuser scriptable networked music player
|
Evaluate a value/fill-in field. More...
#include <parsnip_evaluate.h>


Public Member Functions | |
| virtual bool | operator== (const Evaluator &other) const override |
| Check if two evaluators are the same. More... | |
| virtual void | convertToOptionEvaluator () override |
| Make any changes to the parse tree to convert it to an options evaluator. More... | |
| virtual SchemaBase * | getSchema () const =0 |
| virtual void | constructSchema (const DictionarySchema &scheme, const Schema::OptionSchemas &option_schemas, const SchemaIntegratorCallback &integrator) const override |
| Construct a schema from an evaluator tree. More... | |
| Evaluator ()=default | |
| Evaluator (Evaluator *original) | |
| Upgrade an evaluator. More... | |
Public Member Functions inherited from Parsnip::Evaluator | |
| Evaluator (Evaluator *original) | |
| Upgrade an evaluator. More... | |
| virtual | ~Evaluator ()=default |
| int | evaluate (ArgvCursor *cursor, Parsnip::Data &result_dict) |
| Evaluate a token in the command line, and recurse if there is more to go. More... | |
| bool | operator!= (const Evaluator &other) const |
Static Public Member Functions | |
| static void | construct (EvaluatorRef &parser, const ArgvCursor &cursor, CommandId id, Parser *parent_parser, std::string name, std::string keywords) |
| Construct a value/fill-in token handler. More... | |
Static Public Member Functions inherited from Parsnip::Evaluator | |
| static void | construct (EvaluatorRef &evaluator, const ArgvCursor &cursor, CommandId id, Parser *parent_parser) |
| Construct token handler from the token in a parsing definition. More... | |
Protected Member Functions | |
| virtual Evaluator * | getNextEvaluator (const StringType &value) const override |
| Determine if and how to evaluate additional command line tokens. More... | |
Protected Member Functions inherited from Parsnip::Evaluator | |
| Evaluator ()=default | |
| void | setCommandId (CommandId id) |
| Set the command ID in an evaluator. More... | |
| virtual Parsnip::Data | evaluateToken (class ArgvCursor *cursor) const =0 |
| Evaluate command line tokens. More... | |
Protected Attributes | |
| EvaluatorRef | next_evaluator |
Protected Attributes inherited from Parsnip::Evaluator | |
| CommandId | command_id {NoCommand} |
| If this completes a command, the command ID. More... | |
| std::string | name |
| If not empty, the name by which this value shall be accessed. More... | |
Additional Inherited Members | |
Public Types inherited from Parsnip::Evaluator | |
| using | StringType = std::string |
| using | CommandId = int |
Static Protected Member Functions inherited from Parsnip::Evaluator | |
| static void | set_name (EvaluatorRef &target, const std::string &name) |
| Assign a name by which to store values for value evaluators. More... | |
Evaluate a value/fill-in field.
|
static |
Construct a value/fill-in token handler.
Construct token handler accepting a fixed list of values from the parsing definition.
| parser | See Evaluator::construct |
| cursor | See Evaluator::construct |
| id | See Evaluator::construct |
| parent_parser | The containing parser, with previously constructed option parsers that may be referenced. |
| name | The name by which to access the selected keyword. |
| format | Format and range details for numbers. Construct a value/fill-in token handler |


|
overridevirtual |
Construct a schema from an evaluator tree.
This function depth-first searches the evaluation tree, calling the integrator function at leaf nodes and other valid statement endpoints.
| schema | The schema, as constructed from the parse tree root. |
| option_schemas | Schemas for option parsers that may be needed. |
| integrator | An integrator that merges various statement patterns into a complete schema. |
| NoSuchKey | A necessary option schema was not found. |
| SchemaConflict | Statement definitions generate schema inconsistencies. |
Implements Parsnip::Evaluator.

|
overridevirtual |
Make any changes to the parse tree to convert it to an options evaluator.
Implements Parsnip::Evaluator.

|
default |
| Parsnip::Evaluator::Evaluator |
Upgrade an evaluator.
The original must be a TerminatorEvaluator; other type should never be upgraded. Herein we initialize the new evaluator with the relevant bits.
|
overrideprotectedvirtual |
Determine if and how to evaluate additional command line tokens.
| token | The current token being evaluated. |
Implements Parsnip::Evaluator.
|
pure virtual |
Implemented in Parsnip::RealEvaluator, Parsnip::IntegerEvaluator, Parsnip::RegExEvaluator, and Parsnip::StringEvaluator.

|
overridevirtual |
Check if two evaluators are the same.
Subclasses should override this to check their details.
| other | Another evaluator to which to compare. |
Reimplemented from Parsnip::Evaluator.
Reimplemented in Parsnip::RealEvaluator, Parsnip::IntegerEvaluator, and Parsnip::RegExEvaluator.
|
protected |