===
Variable : Direct assignment
===

$MyVariable = 1, 2, 3

$Path = "C:\Windows\System32"

---

(program
  (statement_list
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))))))))))))))
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (string_literal
                                (expandable_string_literal)))))))))))))))))

===
Variable : Command results
===

$Processes = Get-Process

$Today = (Get-Date).DateTime

---

(program
  (statement_list
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
        (pipeline_chain
          (command
            (command_name))))))
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (member_access
                                (parenthesized_expression
                                  (pipeline
                                  (pipeline_chain
                                    (command
                                      (command_name)))))
                                (member_name
                                  (simple_name))))))))))))))))))

===
Variable : Multi assignment
===

$a = $b = $c = 0

---

(program
  (statement_list
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (assignment_expression
            (left_assignment_expression
              (logical_expression
                (bitwise_expression
                  (comparison_expression
                    (additive_expression
                      (multiplicative_expression
                        (format_expression
                          (range_expression
                            (array_literal_expression
                              (unary_expression
                                (variable)))))))))))
            (assignement_operator)
            (pipeline
              (assignment_expression
                (left_assignment_expression
                  (logical_expression
                    (bitwise_expression
                      (comparison_expression
                        (additive_expression
                          (multiplicative_expression
                            (format_expression
                              (range_expression
                                (array_literal_expression
                                  (unary_expression
                                    (variable)))))))))))
                (assignement_operator)
                (pipeline
                  (pipeline_chain
                    (logical_expression
                      (bitwise_expression
                        (comparison_expression
                          (additive_expression
                            (multiplicative_expression
                              (format_expression
                                (range_expression
                                  (array_literal_expression
                                    (unary_expression
                                      (integer_literal
                                        (decimal_integer_literal)))))))))))))))))))))

===
Variable : Multi variables, Multi assignment
===

$i,$j,$k = 10, "red", $true
$i,$j = 10, "red", $true

---

(program
  (statement_list
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable))
                          (unary_expression
                            (variable))
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))
                            (unary_expression
                              (string_literal
                                (expandable_string_literal)))
                            (unary_expression
                              (variable))))))))))))))
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable))
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))
                            (unary_expression
                              (string_literal
                                (expandable_string_literal)))
                            (unary_expression
                              (variable))))))))))))))))

===
Variable : Typed variables
===

[string]$words = "Hello"
$words = 2
$words += 10

---

(program
  (statement_list
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (expression_with_unary_operator
                              (cast_expression
                                (type_literal
                                  (type_spec
                                    (type_name
                                      (type_identifier))))
                                (unary_expression
                                  (variable))))))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (string_literal
                                (expandable_string_literal)))))))))))))))
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))))))))))))))
    (pipeline
      (assignment_expression
        (left_assignment_expression
          (logical_expression
            (bitwise_expression
              (comparison_expression
                (additive_expression
                  (multiplicative_expression
                    (format_expression
                      (range_expression
                        (array_literal_expression
                          (unary_expression
                            (variable)))))))))))
        (assignement_operator)
        (pipeline
          (pipeline_chain
            (logical_expression
              (bitwise_expression
                (comparison_expression
                  (additive_expression
                    (multiplicative_expression
                      (format_expression
                        (range_expression
                          (array_literal_expression
                            (unary_expression
                              (integer_literal
                                (decimal_integer_literal)))))))))))))))))

===
Variable : Simple variable
===

$aSimpleVariable001

$91

$__Z

$env:PROGRAM_LOCATION

---

(program
  (statement_list
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))))

===
Variable : Special variables
===

$$

$^

$?

---

(program
  (statement_list
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable))))))))))))))

===
Variable : Brace variable
===

${Simple}

${More-interestin'}

${
    Really &&
    quite ^
    unusual???
}

---

(program
  (statement_list
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable
                            (braced_variable)))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable
                            (braced_variable)))))))))))))
    (pipeline
      (pipeline_chain
        (logical_expression
          (bitwise_expression
            (comparison_expression
              (additive_expression
                (multiplicative_expression
                  (format_expression
                    (range_expression
                      (array_literal_expression
                        (unary_expression
                          (variable
                            (braced_variable)))))))))))))))
