Parsnip
parsing library
Loading...
Searching...
No Matches
Public Member Functions
Parsnip::RemainingValuesEvaluator Class Reference

Gather the rest of the command line tokens in a list. More...

#include <parsnip_evaluate.h>

Inheritance diagram for Parsnip::RemainingValuesEvaluator:
Parsnip::RemainderEvaluator Parsnip::Evaluator

Public Member Functions

virtual Parsnip::Data evaluateToken (ArgvCursor *cursor) const override
 
virtual void constructSchema (const DictionarySchema &scheme, const Schema::OptionSchemas &option_schemas, const SchemaIntegratorCallback &integrator) const override
 Construct a schema from an evaluator tree.
 
- Public Member Functions inherited from Parsnip::RemainderEvaluator
virtual EvaluatorgetNextEvaluator (const StringType &value) const override
 An evaluator that represents the rest of the command line.
 
virtual bool operator== (const Evaluator &other) const override
 Check if two evaluators are the same.
 
virtual void convertToOptionEvaluator () override
 Make any changes to the parse tree to convert it to an options evaluator.
 
 Evaluator ()=default
 
 Evaluator (Evaluator *original)
 Upgrade an evaluator.
 
- Public Member Functions inherited from Parsnip::Evaluator
 Evaluator (Evaluator *original)
 Upgrade an evaluator.
 
int evaluate (ArgvCursor *cursor, Parsnip::Data &result_dict)
 Evaluate a token in the command line, and recurse if there is more to go.
 
bool operator!= (const Evaluator &other) const
 

Additional Inherited Members

- Public Types inherited from Parsnip::Evaluator
using StringType = std::string
 
using CommandId = int
 
- 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.
 
- Protected Member Functions inherited from Parsnip::Evaluator
void setCommandId (CommandId id)
 Set the command ID in an evaluator.
 
- 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.
 
- 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.
 
std::string name
 If not empty, the name by which this value shall be accessed.
 

Detailed Description

Gather the rest of the command line tokens in a list.

Member Function Documentation

◆ constructSchema()

void Parsnip::RemainingValuesEvaluator::constructSchema ( const DictionarySchema schema,
const Schema::OptionSchemas &  option_schemas,
const SchemaIntegratorCallback &  integrator 
) const
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.

Parameters
schemaThe schema, as constructed from the parse tree root.
option_schemasSchemas for option parsers that may be needed.
integratorAn integrator that merges various statement patterns into a complete schema.
Exceptions
NoSuchKeyA necessary option schema was not found.
SchemaConflictStatement definitions generate schema inconsistencies.

Implements Parsnip::Evaluator.

◆ evaluateToken()

Parsnip::Data Parsnip::RemainingValuesEvaluator::evaluateToken ( ArgvCursor cursor) const
overridevirtual
Returns
any remaining tokens in a list

Implements Parsnip::Evaluator.


The documentation for this class was generated from the following files: