identifier function

Parser identifier()

Implementation

Parser identifier() {
  return (letter() & (word() | char('-')).star())
      .flatten()
      .where((name) => !['and', 'or', 'not', 'contains'].contains(name))
      .map((name) => Identifier(name))
      .labeled('identifier');
}