Skip to content
Snippets Groups Projects
Commit 53e6f30c authored by Adam Wardynski's avatar Adam Wardynski
Browse files

Expression, new abstract base class for all WCCL expressions.

This is to accomodate rules in future, and repurpose "Operator" to be a library api-level class for users of the library, for parsed functional operators.
parent a75eae8a
No related merge requests found
#ifndef LIBWCCL_OPS_EXPRESSION_H
#define LIBWCCL_OPS_EXPRESSION_H
#include <libcorpus2/tagset.h>
#include <boost/noncopyable.hpp>
namespace Wccl {
/**
* Abstract base class for WCCL expressions
*/
class Expression : public boost::noncopyable {
public:
/**
* @returns String representation of the expression.
*/
virtual std::string to_string(const Corpus2::Tagset& tagset) const = 0;
/**
* @returns String representation of the expression that does not
* require a tagset.
* @note Might be incomplete and/or contain internal info.
*/
virtual std::string to_raw_string() const = 0;
};
} /* end ns Wccl */
#endif // LIBWCCL_OPS_EXPRESSION_H
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment