49 const T& value()
const {
return value_; }
50 virtual std::string str()
const = 0;
72 std::string str()
const;
74 virtual dag::ValuePtr evaluate(
EvalContext&)
const override;
76 virtual void Accept(
Visitor&)
const;
89 std::string str()
const;
91 virtual dag::ValuePtr evaluate(
EvalContext&)
const override;
93 virtual void Accept(
Visitor&)
const;
107 std::string str()
const;
109 virtual dag::ValuePtr evaluate(
EvalContext&)
const override;
111 virtual void Accept(
Visitor&)
const;
virtual void PrettyPrint(Bytestream &, size_t indent=0) const override
Print a human-readable representation to an output stream and return that output stream.
virtual void PrettyPrint(Bytestream &, size_t indent=0) const override
Print a human-readable representation to an output stream and return that output stream.
An expression whose value is literally expressed in the source file.
A literal 'true' or 'false' value in code.
A string value enclosed by single or double quotes.
Base class for expressions that can be evaluated.
virtual void PrettyPrint(Bytestream &, size_t indent=0) const override
Print a human-readable representation to an output stream and return that output stream.
A ostream-like class that may support formatting.
An integer value in code.
A range of characters in source code.
A context for evaluating AST Expression objects.
The name of a value, function, parameter or argument.
Interface for visitors that walk the AST.
Declaration of fabrique::ast::Expression.