+ : NAME ':' mparts { undefined }
+
+q_dc_name :: { Name }
+ : NAME ':' mparts { undefined }
+
+q_tc_name :: { Name }
+ : NAME ':' mparts { undefined }
+
+q_var_occ :: { Name }
+ : NAME ':' vparts { undefined }
+
+mparts :: { [String] }
+ : CNAME { [$1] }
+ | CNAME '.' mparts { $1:$3 }
+
+vparts :: { [String] }
+ : var_occ { [$1] }
+ | CNAME '.' vparts { $1:$3 }