================================================================================
MDS open and close
================================================================================

mds$open, 'experiment', shot_num
mds$close

--------------------------------------------------------------------------------

(source_file
  (procedure_call
    (identifier)
    (argument_list
      (string_literal)
      (identifier)))
  (procedure_call
    (identifier)))

================================================================================
MDS value with path
================================================================================

signal = mds$value('\diagnostics::channel_01')

--------------------------------------------------------------------------------

(source_file
  (assignment
    left: (identifier)
    right: (call_expression
      (identifier)
      (argument_list
        (string_literal)))))

================================================================================
MDS put
================================================================================

mds$put, '\controls::gains', '$', gain_array

--------------------------------------------------------------------------------

(source_file
  (procedure_call
    (identifier)
    (argument_list
      (string_literal)
      (string_literal)
      (identifier))))

================================================================================
MDS value with string concatenation
================================================================================

result = mds$value('data[_n-1,' + string(idx) + ']')

--------------------------------------------------------------------------------

(source_file
  (assignment
    left: (identifier)
    right: (call_expression
      (identifier)
      (argument_list
        (binary_expression
          left: (binary_expression
            left: (string_literal)
            right: (call_expression
              (identifier)
              (argument_list
                (identifier))))
          right: (string_literal))))))

================================================================================
MDS dollar sign in identifiers
================================================================================

mds$open, 'tree', shot
val = mds$value('\node::path')
mds$put, '\node::path', '$', data
mds$close

--------------------------------------------------------------------------------

(source_file
  (procedure_call
    (identifier)
    (argument_list
      (string_literal)
      (identifier)))
  (assignment
    left: (identifier)
    right: (call_expression
      (identifier)
      (argument_list
        (string_literal))))
  (procedure_call
    (identifier)
    (argument_list
      (string_literal)
      (string_literal)
      (identifier)))
  (procedure_call
    (identifier)))
