Aseba::Compiler::Token Struct Reference

A token is a parsed element of inputs. More...

#include <compiler.h>

List of all members.

Public Types

enum  Type {
  TOKEN_END_OF_STREAM = 0, TOKEN_STR_when, TOKEN_STR_emit, TOKEN_STR_for,
  TOKEN_STR_in, TOKEN_STR_step, TOKEN_STR_while, TOKEN_STR_do,
  TOKEN_STR_if, TOKEN_STR_then, TOKEN_STR_else, TOKEN_STR_elseif,
  TOKEN_STR_end, TOKEN_STR_var, TOKEN_STR_call, TOKEN_STR_sub,
  TOKEN_STR_callsub, TOKEN_STR_onevent, TOKEN_STR_abs, TOKEN_STRING_LITERAL,
  TOKEN_INT_LITERAL, TOKEN_PAR_OPEN, TOKEN_PAR_CLOSE, TOKEN_BRACKET_OPEN,
  TOKEN_BRACKET_CLOSE, TOKEN_COLON, TOKEN_COMMA, TOKEN_ASSIGN,
  TOKEN_OP_OR, TOKEN_OP_AND, TOKEN_OP_NOT, TOKEN_OP_BIT_OR,
  TOKEN_OP_BIT_XOR, TOKEN_OP_BIT_AND, TOKEN_OP_BIT_NOT, TOKEN_OP_EQUAL,
  TOKEN_OP_NOT_EQUAL, TOKEN_OP_BIGGER, TOKEN_OP_BIGGER_EQUAL, TOKEN_OP_SMALLER,
  TOKEN_OP_SMALLER_EQUAL, TOKEN_OP_SHIFT_LEFT, TOKEN_OP_SHIFT_RIGHT, TOKEN_OP_ADD,
  TOKEN_OP_NEG, TOKEN_OP_MULT, TOKEN_OP_DIV, TOKEN_OP_MOD,
  TOKEN_END_OF_STREAM = 0, TOKEN_STR_when, TOKEN_STR_emit, TOKEN_STR_for,
  TOKEN_STR_in, TOKEN_STR_step, TOKEN_STR_while, TOKEN_STR_do,
  TOKEN_STR_if, TOKEN_STR_then, TOKEN_STR_else, TOKEN_STR_elseif,
  TOKEN_STR_end, TOKEN_STR_var, TOKEN_STR_call, TOKEN_STR_sub,
  TOKEN_STR_callsub, TOKEN_STR_onevent, TOKEN_STR_abs, TOKEN_STRING_LITERAL,
  TOKEN_INT_LITERAL, TOKEN_PAR_OPEN, TOKEN_PAR_CLOSE, TOKEN_BRACKET_OPEN,
  TOKEN_BRACKET_CLOSE, TOKEN_COLON, TOKEN_COMMA, TOKEN_ASSIGN,
  TOKEN_OP_OR, TOKEN_OP_AND, TOKEN_OP_NOT, TOKEN_OP_BIT_OR,
  TOKEN_OP_BIT_XOR, TOKEN_OP_BIT_AND, TOKEN_OP_BIT_NOT, TOKEN_OP_EQUAL,
  TOKEN_OP_NOT_EQUAL, TOKEN_OP_BIGGER, TOKEN_OP_BIGGER_EQUAL, TOKEN_OP_SMALLER,
  TOKEN_OP_SMALLER_EQUAL, TOKEN_OP_SHIFT_LEFT, TOKEN_OP_SHIFT_RIGHT, TOKEN_OP_ADD,
  TOKEN_OP_NEG, TOKEN_OP_MULT, TOKEN_OP_DIV, TOKEN_OP_MOD
}
enum  Type {
  TOKEN_END_OF_STREAM = 0, TOKEN_STR_when, TOKEN_STR_emit, TOKEN_STR_for,
  TOKEN_STR_in, TOKEN_STR_step, TOKEN_STR_while, TOKEN_STR_do,
  TOKEN_STR_if, TOKEN_STR_then, TOKEN_STR_else, TOKEN_STR_elseif,
  TOKEN_STR_end, TOKEN_STR_var, TOKEN_STR_call, TOKEN_STR_sub,
  TOKEN_STR_callsub, TOKEN_STR_onevent, TOKEN_STR_abs, TOKEN_STRING_LITERAL,
  TOKEN_INT_LITERAL, TOKEN_PAR_OPEN, TOKEN_PAR_CLOSE, TOKEN_BRACKET_OPEN,
  TOKEN_BRACKET_CLOSE, TOKEN_COLON, TOKEN_COMMA, TOKEN_ASSIGN,
  TOKEN_OP_OR, TOKEN_OP_AND, TOKEN_OP_NOT, TOKEN_OP_BIT_OR,
  TOKEN_OP_BIT_XOR, TOKEN_OP_BIT_AND, TOKEN_OP_BIT_NOT, TOKEN_OP_EQUAL,
  TOKEN_OP_NOT_EQUAL, TOKEN_OP_BIGGER, TOKEN_OP_BIGGER_EQUAL, TOKEN_OP_SMALLER,
  TOKEN_OP_SMALLER_EQUAL, TOKEN_OP_SHIFT_LEFT, TOKEN_OP_SHIFT_RIGHT, TOKEN_OP_ADD,
  TOKEN_OP_NEG, TOKEN_OP_MULT, TOKEN_OP_DIV, TOKEN_OP_MOD,
  TOKEN_END_OF_STREAM = 0, TOKEN_STR_when, TOKEN_STR_emit, TOKEN_STR_for,
  TOKEN_STR_in, TOKEN_STR_step, TOKEN_STR_while, TOKEN_STR_do,
  TOKEN_STR_if, TOKEN_STR_then, TOKEN_STR_else, TOKEN_STR_elseif,
  TOKEN_STR_end, TOKEN_STR_var, TOKEN_STR_call, TOKEN_STR_sub,
  TOKEN_STR_callsub, TOKEN_STR_onevent, TOKEN_STR_abs, TOKEN_STRING_LITERAL,
  TOKEN_INT_LITERAL, TOKEN_PAR_OPEN, TOKEN_PAR_CLOSE, TOKEN_BRACKET_OPEN,
  TOKEN_BRACKET_CLOSE, TOKEN_COLON, TOKEN_COMMA, TOKEN_ASSIGN,
  TOKEN_OP_OR, TOKEN_OP_AND, TOKEN_OP_NOT, TOKEN_OP_BIT_OR,
  TOKEN_OP_BIT_XOR, TOKEN_OP_BIT_AND, TOKEN_OP_BIT_NOT, TOKEN_OP_EQUAL,
  TOKEN_OP_NOT_EQUAL, TOKEN_OP_BIGGER, TOKEN_OP_BIGGER_EQUAL, TOKEN_OP_SMALLER,
  TOKEN_OP_SMALLER_EQUAL, TOKEN_OP_SHIFT_LEFT, TOKEN_OP_SHIFT_RIGHT, TOKEN_OP_ADD,
  TOKEN_OP_NEG, TOKEN_OP_MULT, TOKEN_OP_DIV, TOKEN_OP_MOD
}

Public Member Functions

 operator Type () const
 operator Type () const
 Token (Type type, SourcePos pos=SourcePos(), const std::string &value="")
 Token ()
 Token (Type type, SourcePos pos=SourcePos(), const std::string &value="")
 Construct a new token of given type and value.
 Token ()
std::string toString () const
std::string toString () const
 Return a string representation of the token.
const char * typeName () const
const char * typeName () const
 Return the name of the type of this token.

Public Attributes

int iValue
 int version of the value, 0 if not applicable
SourcePos pos
 position of token in source code
std::string sValue
 string version of the value
enum Aseba::Compiler::Token::Type type
 type of this token

Detailed Description

A token is a parsed element of inputs.

Definition at line 206 of file compiler.h.


Member Enumeration Documentation

Enumerator:
TOKEN_END_OF_STREAM 
TOKEN_STR_when 
TOKEN_STR_emit 
TOKEN_STR_for 
TOKEN_STR_in 
TOKEN_STR_step 
TOKEN_STR_while 
TOKEN_STR_do 
TOKEN_STR_if 
TOKEN_STR_then 
TOKEN_STR_else 
TOKEN_STR_elseif 
TOKEN_STR_end 
TOKEN_STR_var 
TOKEN_STR_call 
TOKEN_STR_sub 
TOKEN_STR_callsub 
TOKEN_STR_onevent 
TOKEN_STR_abs 
TOKEN_STRING_LITERAL 
TOKEN_INT_LITERAL 
TOKEN_PAR_OPEN 
TOKEN_PAR_CLOSE 
TOKEN_BRACKET_OPEN 
TOKEN_BRACKET_CLOSE 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_ASSIGN 
TOKEN_OP_OR 
TOKEN_OP_AND 
TOKEN_OP_NOT 
TOKEN_OP_BIT_OR 
TOKEN_OP_BIT_XOR 
TOKEN_OP_BIT_AND 
TOKEN_OP_BIT_NOT 
TOKEN_OP_EQUAL 
TOKEN_OP_NOT_EQUAL 
TOKEN_OP_BIGGER 
TOKEN_OP_BIGGER_EQUAL 
TOKEN_OP_SMALLER 
TOKEN_OP_SMALLER_EQUAL 
TOKEN_OP_SHIFT_LEFT 
TOKEN_OP_SHIFT_RIGHT 
TOKEN_OP_ADD 
TOKEN_OP_NEG 
TOKEN_OP_MULT 
TOKEN_OP_DIV 
TOKEN_OP_MOD 
TOKEN_END_OF_STREAM 
TOKEN_STR_when 
TOKEN_STR_emit 
TOKEN_STR_for 
TOKEN_STR_in 
TOKEN_STR_step 
TOKEN_STR_while 
TOKEN_STR_do 
TOKEN_STR_if 
TOKEN_STR_then 
TOKEN_STR_else 
TOKEN_STR_elseif 
TOKEN_STR_end 
TOKEN_STR_var 
TOKEN_STR_call 
TOKEN_STR_sub 
TOKEN_STR_callsub 
TOKEN_STR_onevent 
TOKEN_STR_abs 
TOKEN_STRING_LITERAL 
TOKEN_INT_LITERAL 
TOKEN_PAR_OPEN 
TOKEN_PAR_CLOSE 
TOKEN_BRACKET_OPEN 
TOKEN_BRACKET_CLOSE 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_ASSIGN 
TOKEN_OP_OR 
TOKEN_OP_AND 
TOKEN_OP_NOT 
TOKEN_OP_BIT_OR 
TOKEN_OP_BIT_XOR 
TOKEN_OP_BIT_AND 
TOKEN_OP_BIT_NOT 
TOKEN_OP_EQUAL 
TOKEN_OP_NOT_EQUAL 
TOKEN_OP_BIGGER 
TOKEN_OP_BIGGER_EQUAL 
TOKEN_OP_SMALLER 
TOKEN_OP_SMALLER_EQUAL 
TOKEN_OP_SHIFT_LEFT 
TOKEN_OP_SHIFT_RIGHT 
TOKEN_OP_ADD 
TOKEN_OP_NEG 
TOKEN_OP_MULT 
TOKEN_OP_DIV 
TOKEN_OP_MOD 

Definition at line 208 of file compiler.h.

Enumerator:
TOKEN_END_OF_STREAM 
TOKEN_STR_when 
TOKEN_STR_emit 
TOKEN_STR_for 
TOKEN_STR_in 
TOKEN_STR_step 
TOKEN_STR_while 
TOKEN_STR_do 
TOKEN_STR_if 
TOKEN_STR_then 
TOKEN_STR_else 
TOKEN_STR_elseif 
TOKEN_STR_end 
TOKEN_STR_var 
TOKEN_STR_call 
TOKEN_STR_sub 
TOKEN_STR_callsub 
TOKEN_STR_onevent 
TOKEN_STR_abs 
TOKEN_STRING_LITERAL 
TOKEN_INT_LITERAL 
TOKEN_PAR_OPEN 
TOKEN_PAR_CLOSE 
TOKEN_BRACKET_OPEN 
TOKEN_BRACKET_CLOSE 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_ASSIGN 
TOKEN_OP_OR 
TOKEN_OP_AND 
TOKEN_OP_NOT 
TOKEN_OP_BIT_OR 
TOKEN_OP_BIT_XOR 
TOKEN_OP_BIT_AND 
TOKEN_OP_BIT_NOT 
TOKEN_OP_EQUAL 
TOKEN_OP_NOT_EQUAL 
TOKEN_OP_BIGGER 
TOKEN_OP_BIGGER_EQUAL 
TOKEN_OP_SMALLER 
TOKEN_OP_SMALLER_EQUAL 
TOKEN_OP_SHIFT_LEFT 
TOKEN_OP_SHIFT_RIGHT 
TOKEN_OP_ADD 
TOKEN_OP_NEG 
TOKEN_OP_MULT 
TOKEN_OP_DIV 
TOKEN_OP_MOD 
TOKEN_END_OF_STREAM 
TOKEN_STR_when 
TOKEN_STR_emit 
TOKEN_STR_for 
TOKEN_STR_in 
TOKEN_STR_step 
TOKEN_STR_while 
TOKEN_STR_do 
TOKEN_STR_if 
TOKEN_STR_then 
TOKEN_STR_else 
TOKEN_STR_elseif 
TOKEN_STR_end 
TOKEN_STR_var 
TOKEN_STR_call 
TOKEN_STR_sub 
TOKEN_STR_callsub 
TOKEN_STR_onevent 
TOKEN_STR_abs 
TOKEN_STRING_LITERAL 
TOKEN_INT_LITERAL 
TOKEN_PAR_OPEN 
TOKEN_PAR_CLOSE 
TOKEN_BRACKET_OPEN 
TOKEN_BRACKET_CLOSE 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_ASSIGN 
TOKEN_OP_OR 
TOKEN_OP_AND 
TOKEN_OP_NOT 
TOKEN_OP_BIT_OR 
TOKEN_OP_BIT_XOR 
TOKEN_OP_BIT_AND 
TOKEN_OP_BIT_NOT 
TOKEN_OP_EQUAL 
TOKEN_OP_NOT_EQUAL 
TOKEN_OP_BIGGER 
TOKEN_OP_BIGGER_EQUAL 
TOKEN_OP_SMALLER 
TOKEN_OP_SMALLER_EQUAL 
TOKEN_OP_SHIFT_LEFT 
TOKEN_OP_SHIFT_RIGHT 
TOKEN_OP_ADD 
TOKEN_OP_NEG 
TOKEN_OP_MULT 
TOKEN_OP_DIV 
TOKEN_OP_MOD 

Definition at line 208 of file compiler.h.


Constructor & Destructor Documentation

Aseba::Compiler::Token::Token (  )  [inline]

Definition at line 264 of file compiler.h.

Aseba::Compiler::Token::Token ( Type  type,
SourcePos  pos = SourcePos(),
const std::string &  value = "" 
)

Construct a new token of given type and value.

Definition at line 34 of file lexer.cpp.

Aseba::Compiler::Token::Token (  )  [inline]

Definition at line 264 of file compiler.h.

Aseba::Compiler::Token::Token ( Type  type,
SourcePos  pos = SourcePos(),
const std::string &  value = "" 
)

Member Function Documentation

Aseba::Compiler::Token::operator Type (  )  const [inline]

Definition at line 268 of file compiler.h.

Aseba::Compiler::Token::operator Type (  )  const [inline]

Definition at line 268 of file compiler.h.

std::string Aseba::Compiler::Token::toString (  )  const
std::string Aseba::Compiler::Token::toString (  )  const

Return a string representation of the token.

Definition at line 118 of file lexer.cpp.

const char* Aseba::Compiler::Token::typeName (  )  const
const char * Aseba::Compiler::Token::typeName (  )  const

Return the name of the type of this token.

Definition at line 61 of file lexer.cpp.


Member Data Documentation

int version of the value, 0 if not applicable

Definition at line 261 of file compiler.h.

position of token in source code

Definition at line 262 of file compiler.h.

string version of the value

Definition at line 260 of file compiler.h.

type of this token


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


asebaros
Author(s): $author
autogenerated on Mon Sep 5 08:42:13 2011