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