// option-def, type-spec, fundamental-type-spec, option-name-seq, // option-name, initializer, initializer-expr // class c { bool --bool; char --char; int -i1; unsigned int -i2; int unsigned -i3; long -i4; long int -i5; int long -i6; unsigned long -i7; long unsigned -i8; unsigned long int -i9; long unsigned int -i10; int long unsigned -i11; unsigned int long -i12; short -i13; unsigned short -i14; short unsigned -i15; char -i16; signed char -i17; char signed -i18; unsigned char -i19; char unsigned -i20; long long -ll1; long long int -ll2; long long unsigned -ll3; int long long -ll4; unsigned long long -ll5; long long int unsigned -ll6; long long unsigned int -ll7; unsigned long long int -ll8; unsigned int long long -ll9; int long long unsigned -ll10; int unsigned long long -ll11; double -d1; long double -d2; double long -d3; foo -o1; ::foo -o2; ::foo -o3; foo::bar -o4; ::foo::bar -o5; ::foo::baz -o6; ::foo::baz< ::fox<2> > -o7; bool -n1|--name1|/name1; bool "-n2"|"--name2"; string -init1 = "string"; char -init2 = 'c'; int -init3 = -5; bool -inti4 = true; long -init5 = (2 * 4 - 5); type -init6 = type::default_value; type -init7 (abc, 2 - 1); };