Форум программистов, компьютерный форум CyberForum.ru

Написать анализатор кода, определяющий тип лексем - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как контролировать число создаваемых потоков? OpenMP http://www.cyberforum.ru/cpp-beginners/thread1782101.html
Здравствуйте. Начал изучать OpenMP. Имеется вопрос - когда мы делаем #pragma omp parallel for Мы можем контролировать число создаваемых потоков? Добавлено через 13 минут OpenMP только для ПРОЦЕССОРОВ INTEL или для ARM тоже?
C++ Побитовое "исключающее ИЛИ", совмещённое с присваиванием Объясните мне плиз что это и как устроено (как работает) а то с разбегу не разобрался :( a ^= b Буду благодарен за пояснения. http://www.cyberforum.ru/cpp-beginners/thread1782099.html
C++ Программа работы со сканером
Добрый день. Мне нужно написать программу для получение изображения со сканера. Но я абсолютно не имею представление как это сделать. Нашел только TWAIN но как с ним работать, какие есть библиотеки и т.д. я не представляю. Поэтому просьба накидать сылок на примеры, документацию, библиотеки или объяснить своими словами. Ну или хотя бы направление поисков.
C++ Разработать распознаватель заданной символьной цепочки
Необходимо разработать распознаватель заданной символьной цепочки. Символь- ная цепочка задается с помощью формул Бэкуса-Наура. Например: <цепочка>::=CONST <идентификатор>=<значение>; <идентификатор>::=<буква> | <идентификатор><буква> | <идентификатор><цифра> <буква>::=A | B | C | D | E | F | ... | Z <цифра>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <значение>::=<целая константа> |...
C++ Организовать вектор структур http://www.cyberforum.ru/cpp-beginners/thread1782043.html
не могу разобраться(((( имеется товар 100 PC , 120 Dress, 80 Shits. надо чтобы к каждому элементу я имел доступ и желательно все это поместить в один vector. кто-нибудь подскажет?)) vector<pair<int,string>>goods; goods.reserve(500); assert(goods.capacity() >= 500); goods.push_back(make_pair<int,string> (100,"PC"));
C++ Вести массив и найти суму и количество элементов кратных 3, с вызовом функции #include <iostream> using namespace std; void ColSum( int a, int n, int col, int sum) { for (int i = 0; i < n; i++) { if (a % 3 == 0) { col++; sum += a; подробнее

Показать сообщение отдельно
Kael Morhen
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 10
18.07.2016, 10:52  [ТС]     Написать анализатор кода, определяющий тип лексем
Цепочка разбивается на символы. И проверяется на наличие ТОЛЬКО допустимых символов

Добавлено через 10 минут
Вот так должно выглядеть можно под этот пример программу?
Блок транслитерации – подпрограмма, преобразующая исходную символьную цепоч-

ку в цепочку лексем вида ("символ цепочки", "класс символа цепочки ").

Например, символьную цепочку

const N=10;

5

блок транслитерации должен преобразовать в цепочку лексем

(c,буква), (o,буква), (n,буква), (s,буква), (t,буква),

(' ',пробел), (N,буква), (=,равно), (1,цифра), (0,цифра),

(;,тчкзпт)

Лексический блок – подпрограмма, преобразующая цепочку лексем, полученную от

транслитератора, в цепочку лексем вида ("символ входного языка", "класс символа

входного языка").

В рассматриваемом примере лексический блок должен выдать следующую цепочку

лексем:

(const,ИДЕНТИФИКАТОР), (N,ИДЕНТИФИКАТОР), (=,РАВНО),

(10,ЦЕЛОЕ), (;,ТЧКЗПТ)

Блок идентификации ключевых слов – подпрограмма, которая устанавливает, какое из

ключевых слов языка Pascal соответствует заданному идентификатору, либо сообщает,

что заданный идентификатор не является ключевым словом языка Pascal. Идентифи-

кация ключевых слов может быть выделена в отдельный проход распознавателя сим-

вольной цепочки, то есть идентифицирующий блок будет запускаться после того, как

лексический блок полностью подготовит всю цепочку лексем. Другим подходом явля-

ется объединение в один проход распознавателя символьной цепочки лексического

блока и блока идентификации. В этом случае идентификация ключевого слова осуще-

ствляется каждый раз, когда лексический блок выдал одну лексему класса "идентифи-

катор" (без ожидания полной подготовки всей цепочки лексем).

В рассматриваемом примере после распознавания слов цепочка лексем, полученная в

результате работы лексического блока, примет следующий вид:

(const,КЛСЛОВО_CONST), (N,ИДЕНТИФИКАТОР), (=,РАВНО),

(10,ЦЕЛОЕ), (;,ТЧКЗПТ)

Синтаксический блок – подпрограмма, которая получает цепочку лексем вида ("сим-

вол входного языка", "класс символа входного языка") и устанавливает, соответствует

ли она заданным формулам Бэкуса-Наура. Поскольку задание предполагает только

распознавание исходной цепочки, фактически данный блок использует для работы

только классы символов входного языка.

В рассматриваемом примере синтаксический блок, рассматривая цепочку вида

КЛСЛОВО_CONST, ИДЕНТИФИКАТОР, РАВНО, ЦЕЛОЕ, ТЧКЗПТ

должен сообщить, что она синтаксически правильна.
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru