Титульная страница | Пространства имен | Иерархия классов | Алфавитный указатель | Классы | Файлы | Члены пространства имен | Члены классов | Описания | Примеры

Класс cls_2::lex_t

#include <lex.hpp>

Полный список членов класса


Подробное описание

Лексический анализатор.

Осуществляет лексический разбор входного потока на токены.


Открытые члены

 lex_t (input_stream_t &stream)
 Инициализирующий конструктор.

int get_tok (parser_context_t &context, int &tok, char &ch)
 Взять следующий токен.


Защищенные члены

int parse_back_slash_seq (parser_context_t &context, int &tok, char &ch)
 Разбор последовательности, начинающейся с обратного слеша.

int parse_vert_bar (parser_context_t &context, int &tok, char &ch)
 Разбор последовательности, начинающиейся с вертикальной черты.

int skip_single_line_comment (parser_context_t &context)
 Пропустить однострочный комментарий.

int skip_start_stop_comment (parser_context_t &context)
 Пропустить многострочный комментарий.

int parse_spec_char_representation (parser_context_t &context, int &tok, char &ch, char base_mark, unsigned int char_count)
 Разбор специального представления символа.


Защищенные данные

input_stream_tm_stream
 Входной поток.


Методы

int cls_2::lex_t::get_tok parser_context_t context,
int &  tok,
char &  ch
 

Взять следующий токен.

Аргументы:
context  Контекст в котором осуществляется работа.
tok  Приемник очередного токена.
ch  Значение символа, который привел к появлению токена c_tok_nonspace.

int cls_2::lex_t::parse_back_slash_seq parser_context_t context,
int &  tok,
char &  ch
[protected]
 

Разбор последовательности, начинающейся с обратного слеша.

Допускаются последовательности: \n \r \t \\ \{ \} \| \" \xDD \XDD \oDDD \ODDD \bDDDDDDDD \BDDDDDDDD.

Возвращает:
c_ok, если следующий токен успешно извлечен.
Аргументы:
context  Контекст в котором осуществляется работа.
tok  Приемник очередного токена.
ch  Значение символа, который привел к появлению токена c_tok_nonspace.

int cls_2::lex_t::parse_spec_char_representation parser_context_t context,
int &  tok,
char &  ch,
char  base_mark,
unsigned int  char_count
[protected]
 

Разбор специального представления символа.

Начиная с:
v.2.6
Выделяет из входного потока указанное количество символов, формирует представление, понятное для parse_digits. Осуществляет разбор с помощью parse_digits. Проверяет диапазон получившегося значения.

Возвращает:
c_ok, если разбор прошел успешно.
Аргументы:
context  Контекст в котором осуществляется работа.
tok  Приемник очередного токена.
ch  Значение символа, который привел к появлению токена c_tok_nonspace.
base_mark  Символ, который означает систему счисления.
char_count  Количество символов, которые нужно извлечь из входного потока.

int cls_2::lex_t::parse_vert_bar parser_context_t context,
int &  tok,
char &  ch
[protected]
 

Разбор последовательности, начинающиейся с вертикальной черты.

Допускаются однострочный и многострочные комментарии.

Возвращает:
c_ok, если следующий токен успешно извлечен.

int cls_2::lex_t::skip_single_line_comment parser_context_t context  )  [protected]
 

Пропустить однострочный комментарий.

Возвращает:
c_ok, если следующий токен успешно извлечен.

int cls_2::lex_t::skip_start_stop_comment parser_context_t context  )  [protected]
 

Пропустить многострочный комментарий.

Возвращает:
c_ok, если следующий токен успешно извлечен.


Объявления и описания членов классов находятся в файлах:
Документация по cls_2. Последние изменения: Wed Aug 4 15:13:01 2004. Создано системой doxygen 1.3.7
Hosted by uCoz