==================
comment
==================

# testing comments
discard true # testing comments
  # testing comments
#
discard true

---

(module
  (comment)
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (bool_lit)))))
    (comment))
  (comment)
  (comment)
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (bool_lit)))))))

==================
docComment
==================

## doc
discard true ## doc
  ## doc

---

(module
  (docComment)
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (bool_lit))))))
  (docComment)
  (docComment))

==================
multilineComment
==================

#[Comment here.
Multiple lines
are not a problem.]#

---

(module
  (multilineComment))

==================
multilineDocComment
==================

##[Comment here.
Multiple lines
are not a problem.]##

---

(module
  (multilineDocComment))

==================
string comment collision
==================

discard "#"
discard "##"
discard "#["
discard "]#"
discard "##["
discard "]##"

---

(module
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit))))))
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit))))))
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit))))))
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit))))))
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit))))))
  (stmt
    (discardStmt
      (keyw)
      (expr
        (primary
          (literal
            (str_lit)))))))
