# Test empty script

==>

Script()

# Line comment

% Line comment
  % Line comment indented with spaces
	% Line comment indented with a tab

==>

Script(LineComment,LineComment,LineComment)

# Keywords

break enumeration properties while

==>

Script(Keyword,Keyword,Keyword,Keyword)

# Character vector

'Test character vector.'

==>
 
Script(String)

# String array

"Test string array."

==>
 
Script(String)

# Multiline comment

%{
  Test multiline comment.
%}
%{
  Test multiline comment with whitespace before ending delimiter.
  The whitespace could be a space or a tab, and can be before or
  after either delimiter without invalidating the multiline comment.
    %}
not_a_comment % Line below is a LineComment
%}

==>
 
Script(MultilineComment,MultilineComment,Identifier,LineComment,LineComment)

# Transpose

A1'

==>

Script(Identifier)

# Symbol

A + B

==>

Script(Identifier,Symbol,Identifier)

# System command

test ! echo "Test system command"

==>

Script(Identifier,SystemCommand)

# Magic command

%%magic command

==>

Script(Magic)
