|
pianod2
multisource multiuser scriptable networked music player
|
Evaluate remainder with a different parser. More...
#include <parsnip_evaluate.h>


Public Member Functions | |
| virtual bool | operator== (const Evaluator &) const override |
| Check if two evaluators are the same. More... | |
| virtual void | constructSchema (const DictionarySchema &scheme, const Schema::OptionSchemas &option_schemas, const SchemaIntegratorCallback &integrator) const override |
| Construct a schema from an evaluator tree. More... | |
Public Member Functions inherited from Parsnip::RemainderEvaluator | |
| virtual Evaluator * | getNextEvaluator (const StringType &value) const override |
| An evaluator that represents the rest of the command line. More... | |
| virtual void | convertToOptionEvaluator () override |
| Make any changes to the parse tree to convert it to an options evaluator. 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 std::vector< OptionEvaluator * > | construct (EvaluatorRef &evaluator, std::string option_parser_type, bool iterative, const Parser *parent_parser) |
| Construct an evaluator (or validate the existing validator) that parsers the remainder with an option parser. 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 Parsnip::Data | evaluateToken (class ArgvCursor *cursor) const override |
| Evaluate 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... | |
Private Attributes | |
| OptionParserRef | option_parser |
| bool | regurgitate {false} |
| Evaluator to use next when iterating; points to parent to allow multiple option evaluators to be used in parallel. More... | |
| bool | iterate {false} |
| If true, repeat parsing; if false, parse only once. More... | |
Friends | |
| class | OptionParser |
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... | |
Protected Attributes inherited from Parsnip::RemainderEvaluator | |
| EvaluatorRef | terminating_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... | |
Evaluate remainder with a different parser.
|
static |
Construct an evaluator (or validate the existing validator) that parsers the remainder with an option parser.
| evaluator | The evaluator being constructed. |
| option_parser_type | The name of the option parser to use. |
| iterative | If true, option parser should iterate. |
| parent_parser | The containing parser, with previously-defined option parsers to utilize. |


|
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.
|
overrideprotectedvirtual |
Evaluate command line tokens.
| cursor | Provides tokens from the command line. Must be bumped forward as they are processed. |
Implements Parsnip::Evaluator.

|
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::RemainderEvaluator.
|
friend |
|
private |
If true, repeat parsing; if false, parse only once.
|
private |
|
private |
Evaluator to use next when iterating; points to parent to allow multiple option evaluators to be used in parallel.
If true, back up one token before starting evaluation.