======================
Parses example 1
======================


local Mojito(virgin=false, large=false) = {
  // A local next to fields ends with ','.
  local factor = if large then 2 else 1,
  // The ingredients are split into 3 arrays,
  // the middle one is either length 1 or 0.
  ingredients: [],
};

{
  Mojito: Mojito(),
}

---


(document
  (expr
    (local_bind
      (local)
      (bind
        (id)
        (params
          (param
            (id)
            (expr
              (false)))
          (param
            (id)
            (expr
              (false))))
        (expr
          (comment)
          (member
            (objlocal
              (local)
              (bind
                (id)
                (expr
                  (expr
                    (id))
                  (expr
                    (number))
                  (expr
                    (number))))))
          (comment)
          (comment)
          (member
            (field
              (fieldname
                (id))
              (expr)))))
      (expr
        (member
          (field
            (fieldname
              (id))
            (expr
              (expr
                (id)))))))))
