====================== Empty bracket argument ====================== message([[]]) --- (source_file (command_invocation (identifier) (arguments (argument (bracket_argument (bracket_open) (bracket_close) ) ) ) ) ) ========================== One empty bracket argument ========================== message([[An argument]]) --- (source_file (command_invocation (identifier) (arguments (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) ) ) ) ==================== One bracket argument ==================== message([[An argument]]) --- (source_file (command_invocation (identifier) (arguments (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) ) ) ) ===================== Two bracket arguments ===================== message([[First argument]] [[Second argument]]) --- (source_file (command_invocation (identifier) (arguments (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) (seperation (space)) (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) ) ) ) ===================================== Two bracket with two equals arguments ===================================== message( [====[First argument]====] [====[Second argument]====] ) --- (source_file (command_invocation (identifier) (seperation (space)) (arguments (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) (seperation (space)) (argument (bracket_argument (bracket_open) (bracket_content) (bracket_close) ) ) (seperation (line_ending (newline))) ) ) )