term method

Parser<Term> term()

Implementation

Parser<Term> term() => seq2(
  ref0(atom),
  seq3(
    ref1(token, '('),
    ref0(parameter)
        .plusSeparated(ref1(token, ','))
        .map((list) => list.elements),
    ref1(token, ')'),
  ).map3((_, params, _) => params).optional(),
).map2((atom, params) => Term(atom.toString(), params ?? const []));