Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа2 / Tokens
.h
// File: Tokens.h
#ifndef _TOKENS_H_INCLUDED_
#define _TOKENS_H_INCLUDED_
//-----------------------------------------------------------------------------
enum ENUM_TOKEN_TYPES
{
TT_ID,
TT_KEYWORD,
TT_STRING,
TT_CHAR,
TT_INT,
TT_REAL,
TT_SPEC_SYMB, // delimiters, operations and so on
TT_EPS // end of file...
};
//-----------------------------------------------------------------------------
enum ENUM_TOKENS
{
TKN_PROGRAM,
TKN_CONST,
TKN_VAR,
TKN_BEGIN,
TKN_END,
TKN_IF,
TKN_THEN,
TKN_ELSE,
TKN_FOR,
TKN_WHILE,
TKN_DO,
TKN_TO,
TKN_OR,
TKN_AND,
TKN_NOT,
TKN_TRUE,
TKN_FALSE,
TKN_INTEGER,
TKN_REAL,
TKN_BOOLEAN,
TKN_CHAR,
TKN_STRING,
TKN_STACK,
TKN_WRITE,
TKN_WRITELN,
TKN_READ,
TKN_PUSH,
TKN_POP,
TKN_TOP,
TKN_ID,
TKN_LITER_INT,
TKN_LITER_REAL,
TKN_LITER_CHAR,
TKN_LITER_STRING,
TKN_REL_EQUAL, // =
TKN_REL_NOT_EQUAL, // > or < or <= and so on...
TKN_PLUS, // + or -
TKN_MULT, // * ot /
TKN_ASSIGN, // :=
TKN_BRACKET_OPEN, // (
TKN_BRACKET_CLOSE, // )
TKN_BRACKET_SQ_OPEN, // [
TKN_BRACKET_SQ_CLOSE, // ]
TKN_SEMICOLON, // ;
TKN_COMMA, // ,
TKN_PERIOD, // .
TKN_COLON, // :
TKN_RANGE, // ..
TKN_EPS,
TKN_KRINKIN, // Дань уважения :)
TKN_DEFAULT, // некое значение по умолчанию (для класса CSymbol)
TKN_QUANTITY
};
//-----------------------------------------------------
// Детализация некоторых токенов
enum ENUM_TOKEN_VAL
{
VAL_NONE,
VAL_REL_G, // Greater >
VAL_REL_GE, // Greater or equal >=
VAL_REL_E, // Equal =
VAL_REL_NE, // Not equal
VAL_REL_L, // Less <
VAL_REL_LE, // Less or equal <=
VAL_PLUS_P, // Plus +
VAL_PLUS_M, // Minus -
VAL_MULT_M, // Multiplication *
VAL_MULT_D // Division /
};
//-----------------------------------------------------------------------------
#endif
Соседние файлы в папке Курсовая работа2