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

проверка синтаксиса объявления переменных.. - C++

Восстановить пароль Регистрация
 
Yakoot
15 / 15 / 2
Регистрация: 13.11.2011
Сообщений: 65
23.12.2011, 20:28     проверка синтаксиса объявления переменных.. #1
суть задачи такова:
во входном файле код объявления переменных.. нужно проверить на наличие ошибок, и выдать позицию первой ошибки..
могут быть типы
int
short int
long int
short
long
int short
int long
double
long
double long
long double
char

ну и собственно имя переменной или массива..
без инициализации
на паре делали проверку правильности double числа.. там сперва граф строится.. затем составляется таблица состояний.. и по ней циклами прогоняется..
вот так вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
int main()
{
    int table[8][5] = {
                        {1, 2, 3, -1, -1},
                        {-1, 2, 3, -1, -1},
                        {-1, 2, 4, 5, 255}, 
                        {-1, 4, -1, -1, -1},
                        {-1, 4, -1, 5, 255},
                        {7, 6, -1, -1, -1}, 
                        {-1, 6, -1, -1, 255},
                        {-1, 6, -1, -1, -1}};
    char p[5][11] = {"+-", "0123456789", ".", "Ee", "$"};
    
    char str[] = "-8.21+56546e+3$";
    int a, i = 0, n = 0;
    do
    {
        for (a = 0; a < 5; a++)
        {
            if (strchr(p[a], str[i]) != NULL)
                break;
        }
        if(a == 5) n=-1;
        else
        {
            n = table[n][a];
            i++;
        }
    }
    while (n != -1 && n != 255);
    if (n == -1)
        cout << "Error!!! pos = " << i << endl;
    else
        cout << "OK!" << endl;
    return 0;
}
а насчет основного задания чот как-то непонятно.. граф я подобный составил.. но там типы надо сравнивать полексемно, а все остальное посимвольно.. помогите кто чем может)

 Комментарий модератора 
Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.

Будете продолжать в том же духе, начну раздавать карточки.


Добавлено через 10 часов 32 минуты
тема актуальна
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 20:28     проверка синтаксиса объявления переменных..
Посмотрите здесь:

C++ Что за объявления переменных?
C++ объявления
C++ Объявления классов
C++ Что означают эти объявления переменных?
C++ Проверка объявления нескольких define
Ошибки объявления C++
C++ Проверка значений переменных во время отладки
Все виды(способы) объявления переменных, функций, классов, типов и т.п. на С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yakoot
15 / 15 / 2
Регистрация: 13.11.2011
Сообщений: 65
25.12.2011, 20:02  [ТС]     проверка синтаксиса объявления переменных.. #2
тема актуальна
Yandex
Объявления
25.12.2011, 20:02     проверка синтаксиса объявления переменных..
Ответ Создать тему
Опции темы

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