rendered paste body
int main(int argc, char *argv[])
{
VariableList* varList = new VariableList();
Variable* a = new Variable("a");
Variable* b = new Variable("b");
Expression* pattern = new Plus(a, b);
Variable* x = new Variable("x");
Variable* y = new Variable("y");
Expression* exp = new Plus(x, y);
if (exp->matches(pattern, varList))
{
VariableListNode* now;
for (now = varList->head; now; now = now->next)
{
cout << now->variable->name << " = ";
if (now->variable->value->getExpType() == TypeVariable)
{
Variable* var = (Variable*)now->variable->value;
cout << var->name << endl;
}
else
cout << "not a variable" << endl;
}
}
else
cout << "No match" << endl;
return EXIT_SUCCESS;
}