All pastes #453194 Raw Edit

Untitled

public text v1 · immutable
·published 2007-04-22 20:32 UTC
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;
}