numericLiteral function

Parser numericLiteral()

Implementation

Parser numericLiteral() {
  return (char('-').optional() &
          (digit().plus() & (char('.') & digit().plus()).optional()))
      .flatten()
      .map((value) {
        if (value.contains('.')) {
          return Literal(double.parse(value), LiteralType.number);
        } else {
          return Literal(int.parse(value), LiteralType.number);
        }
      })
      .labeled('numericLiteral');
}