view trunk/src/Token.d @ 27:43b6bf56f0e9

- Added code for parsing CatAssign and Tilde tokens.
author aziz
date Sun, 24 Jun 2007 15:02:02 +0000
parents c3d7373db241
children 3a9daccf7d96
line wrap: on
line source

/++
  Author: Aziz Köksal
  License: GPL2
+/
module Token;

struct Position
{
  size_t loc;
  size_t col;
}

enum TOK
{
  Identifier,
  Comment,
  String,
  Character,
  DivisionAssign,
  Number,
/* Braces */
  LParen,
  RParen,
  LBracket,
  RBracket,
  LBrace,
  RBrace,

  Dot, Slice, Ellipses,

  Assign, Equal,
  OrAssign, OrLogical, OrBinary,
  AndAssign, AndLogical, AndBinary,
  PlusAssign, PlusPlus, Plus,
  MinusAssign, MinusMinus, Minus,
  CatAssign, Catenate,

  Tilde,
  Colon,
  Semicolon,
  Question,
  Comma,
  Dollar,

  EOF
}

struct Token
{
  TOK type;
  Position pos;

  char* start;
  char* end;

  union
  {
    char[] str;
    dchar chr;
    float f;
    double d;
  }
}