raw method

void raw()

Implementation

void raw() {
  if (number.hasMatch(peek().lexeme)) {
    tokens.add(parseNumber());
    return;
  }

  final StreamChar raw = parseRawName();

  switch (raw.lexeme) {
    case 'local':
      local(raw);
    case 'self':
      self(raw);
    case 'function':
      function(raw);
    case 'end':
      end(raw);
    case 'if':
      termIf(raw);
    case 'elseif':
      termElseIf(raw);
    case 'else':
      termElse(raw);
    case 'for':
      termFor(raw);
    case 'then':
      termThen(raw);
    case 'not':
      termNot(raw);
    case 'and':
      termAnd(raw);
    case 'or':
      termOr(raw);
    case 'do':
      termDo(raw);
    case 'in':
      termIn(raw);
    case 'nil':
      nil(raw);
    case 'repeat':
      repeat(raw);
    case 'return':
      termReturn(raw);
    case 'until':
      until(raw);
    case 'while':
      termWhile(raw);
    case 'break':
      termBreak(raw);
    case 'true':
      termTrue(raw);
    case 'false':
      termFalse(raw);
    case 'goto':
      goto(raw);
    case '':
      throw 'Unrecoverable error in tokenizer at $line:$col.';
    default:
      addToken(raw.toToken(TokenType.kRaw));
  }
}