X	input.hpp	/^template <class T> struct X { };$/;"	s
Y	input.hpp	/^template <int N> struct Y { };$/;"	s
M	input.hpp	/^#define M /;"	d
S	input.hpp	/^struct S {$/;"	s
i	input.hpp	/^	int i;$/;"	m	struct:S	typeref:typename:int
x2	input.hpp	/^	X< Y< 1 >> 2 > > x2;$/;"	m	struct:S	typeref:typename:X<Y<1>>2>>
x3	input.hpp	/^	X< Y< M >> 2 > > x3;$/;"	m	struct:S	typeref:typename:X<Y<M>>2>>
x4	input.hpp	/^	X< Y< M >> M > > x4;$/;"	m	struct:S	typeref:typename:X<Y<M>>M>>
x5	input.hpp	/^	X< Y< 1 < 2 > > x5;$/;"	m	struct:S	typeref:typename:X<Y<1<2>>
x6	input.hpp	/^	X< Y< M < 2 > > x6;$/;"	m	struct:S	typeref:typename:X<Y<M<2>>
x7	input.hpp	/^	X< Y< M < M > > x7;$/;"	m	struct:S	typeref:typename:X<Y<M<M>>
d	input.hpp	/^	double d;$/;"	m	struct:S	typeref:typename:double
