PAL
Modified DFS which outputs Euler Trail.

procedure euler-trail(vertex v); { 
	foreach vertex u in succ(v) do { 
		remove edge(v,u) from graph; 
		euler-trail(u); 
		push(edge(v,u)); 
	} 
}