======================================= Unquoted generator expression [gen_exp] ======================================= message($<>) --- (source_file (normal_command (identifier) (argument_list (argument (unquoted_argument (gen_exp) ) ) ) ) ) ===================================== Quoted generator expression [gen_exp] ===================================== message("$<>") --- (source_file (normal_command (identifier) (argument_list (argument (quoted_argument (quoted_element (gen_exp) ) ) ) ) ) ) ===================== No argument [gen_exp] ===================== message($) --- (source_file (normal_command (identifier) (argument_list (argument (unquoted_argument (gen_exp (argument (unquoted_argument) ) ) ) ) ) ) ) ============================================ No argument with superfluous colon [gen_exp] ============================================ message($) --- (source_file (normal_command (identifier) (argument_list (argument (unquoted_argument (gen_exp (argument (unquoted_argument) ) ) ) ) ) ) ) ====================== One argument [gen_exp] ====================== message($) --- (source_file (normal_command (identifier) (argument_list (argument (unquoted_argument (gen_exp (argument (unquoted_argument)) (argument (unquoted_argument) ) ) ) ) ) ) ) ======================= Two arguments [gen_exp] ======================= message($) --- (source_file (normal_command (identifier) (argument_list (argument (unquoted_argument (gen_exp (argument (unquoted_argument)) (argument (unquoted_argument)) (argument (unquoted_argument) ) ) ) ) ) ) )