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

лексический анализатор на С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Калькулятор подсчёта стоимости продуктов. http://www.cyberforum.ru/cpp-beginners/thread164853.html
Здравствуйте!) Помогите, пожалуйста, составить небольшую программу-калькулятор для подсчёта стоимости продуктов. Должно выглядеть это примерно так: вводится название продукта(ов), стоимость каждого продукта, количество денег в кошельке, сколько из них было отдано за продукты и полученная сдача (либо её отсутствие). Или, в случае, если денег в кошельке недостаточно, соответствующее сообщение....
C++ Сортировка линейного списка чисел Дан текстовый файл, содержащий одинаковое кол-во четных и не четных чисел. разместить в начале файла все нечетные, затем все четные. Каждая группа должна быть отсортирована по возрастанию. Сделать это используя однонаправленный линейный список, единственное что у меня тут не получается это отсортировать элементы.. Если кому не трудно помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread164844.html
C++ Скачать файл с сайта
Знаю, тема наезженная, но никак не выходит реализовать. Задача очень простая - написать программу которая скачивает с сайта, по определенным ссылкам, 2 файла: Первый файл небольше 1 мегабайта - в переменную. Далее я обработаю его. Второй файл от 10 до 1000 мегабайт - прямиком на винчестер. Помогите пожалуйста
C++ Перебор элементов массива
Доброго времени! Я новичек в С++, поэтому прошу не ругать. Вопрос - как организовать перебор элементов массива? Вот, например, в таком коде: int _tmain(int argc, _TCHAR* argv) { int nTempValue; int myArray; //Проверка на повторный ключ for (int i = 0; i <= n-1; i++) { label1:cout << "Enter i =" << i << "key";
C++ WinAPI Странный вывод текста в WinApi http://www.cyberforum.ru/cpp-beginners/thread164818.html
Всем здравствуйте. У меня такой вопрос. Есть приложение WinApi, которое автоматически создается при создании проекта. Я нажимаю кнопку меню, прорабатывает подключенный мной код и создается файл с матрицей. Затем я её считываю в переменную типа string и пытаюсь вывести в окно приложения. Часть кода приведена ниже. case WM_PAINT: { string res = ""; string dat; ifstream fi...
C++ Перевод всех вводимых символов в 8 и 16-ричный код написать программу,печатающую все вводимые символы в верхнем регистре. В строку выводится символ, шестнадцатиричный и восьмеричный код подробнее

Показать сообщение отдельно
Petya
0 / 0 / 0
Регистрация: 10.09.2010
Сообщений: 3

лексический анализатор на С++ - C++

10.09.2010, 19:52. Просмотров 5839. Ответов 2
Метки (Все метки)

Написать лексический анализатор на С++:
разделители: , . ;
бинарные операции: + - * /
унарные операции: - знак числа
идентификаторы: a|b|...|z
служебные слова: 'VAR', 'BEGIN', ‘END’,
константы: 0|1...|9
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
37
38
39
40
41
42
43
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main()
{
    FILE *f1,*f2;
    f1=fopen("D:/1.txt","r");
    f2=fopen("D:/2.txt","w");
    while (feof(f1)==0)
    {
        int ch=getc(f1);
        if(isalpha(ch))
            fprintf(f2,"%c %d \n",ch,2);
        else
            if(isdigit(ch))
                fprintf(f2,"%c %d \n",ch,3);
            else
                if(ch==':=')
                    fprintf(f2,"%c %d \n",ch,10);
                else
                    if(ch=='var')
                        fprintf(f2,"%c %d \n",ch,1);
                    else
                        if(ch=='-'||ch=='+'||ch=='*'||'/')
                            fprintf(f2,"%c %d \n",ch,9);
                        else
                            if(ch==';')
                                fprintf(f2,"%c %d \n",ch,6);
                            else
                                if(ch=='-')
                                    fprintf(f2,"%c %d \n",ch,8);
                                else
                                    if (ch==',')
                                        fprintf(f2,"%c %d \n",ch,5);
                                    else
                                        if (ch=='.')
                                            fprintf(f2,"%c %d \n",ch,4);
                                else
                                    printf("недопустимый символ языка - %c \n",ch);
    }
    fclose(f1);
    fclose(f2);
}
что здесь не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru