Refactored parsing variable lists to reuse it with quantified expressions.
This commit is contained in:
@@ -58,7 +58,6 @@ boost::intrusive_ptr<Derived> Binary<Derived>::parse(Context &context,
|
||||
|
||||
auto expression = boost::intrusive_ptr<Derived>(new Derived);
|
||||
|
||||
// Assume that expression identifier (imply, exists, etc.) is already parsed
|
||||
// Parse arguments of the expression
|
||||
expression->Binary<Derived>::setArgument(0, parseExpression(context, expressionContext));
|
||||
expression->Binary<Derived>::setArgument(1, parseExpression(context, expressionContext));
|
||||
|
@@ -63,7 +63,6 @@ boost::intrusive_ptr<Derived> NAry<Derived>::parse(Context &context,
|
||||
|
||||
parser.skipWhiteSpace();
|
||||
|
||||
// Assume that expression identifier (and, or, etc.) is already parsed
|
||||
// Parse arguments of the expression
|
||||
while (parser.currentCharacter() != ')')
|
||||
{
|
||||
|
@@ -21,8 +21,10 @@ class Variable: public ExpressionCRTP<Variable>
|
||||
public:
|
||||
static const Expression::Type ExpressionType = Expression::Type::Variable;
|
||||
|
||||
static void parseTypedDeclaration(Context &context, ExpressionContext &expressionContext);
|
||||
static void parseTypedDeclarations(Context &context, ExpressionContext &expressionContext);
|
||||
static void parseTypedDeclaration(Context &context, ExpressionContext &expressionContext,
|
||||
Variables &variables);
|
||||
static void parseTypedDeclarations(Context &context, ExpressionContext &expressionContext,
|
||||
Variables &variables);
|
||||
|
||||
static VariablePointer parseAndFind(Context &context,
|
||||
const ExpressionContext &expressionContext);
|
||||
|
Reference in New Issue
Block a user