assignment function

Parser assignment()

Implementation

Parser assignment() {
  return (ref0(identifier).trim() &
          char('=').trim() &
          ref0(expression).trim() &
          filter().star().trim())
      .map((values) {
    if ((values[3] as List).isNotEmpty) {
      return Assignment(
        (values[0] as Identifier),
        FilteredExpression(
            Assignment(
              (values[0] as Identifier),
              values[2] as ASTNode,
            ),
            (values[3] as List).cast<Filter>()),
      );
    }
    return Assignment(
      (values[0] as Identifier),
      values[2] as ASTNode,
    );
  }).labeled('assignment');
}