createToken method

  1. @override
Token<TokenType> createToken(
  1. ComputeContext ctx,
  2. String rawValue,
  3. int globalOffset
)
override

Creates the token.

Implementation

@override
Token<TokenType> createToken(
    ComputeContext ctx, String rawValue, int globalOffset) {
  try {
    return NumberToken(
        value: Result(clean: Rational.parse(rawValue)),
        type: this,
        rawValue: rawValue,
        globalOffset: globalOffset);
  } on FormatException catch (_) {
    throw ComputationError(ComputationStep.lexing,
        message: 'Number meaning ambiguous', globalPosition: globalOffset);
  }
}