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

Пример работы функции get_toke() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Лексический и синтаксический анализаторы http://www.cyberforum.ru/cpp-beginners/thread622911.html
здравствуйте.нужна помощь, по flex\bison, чтение драгон бука и поиска и google уже не хватает ,так что прошу помощи тут у Вас. лексер scaner.l D L H E ?{D}+ FS (f|F|l|L) IS (u|U|l|L)* %{
C++ Реализовать в виде модуля набор подпрограмм Реализовать в виде модуля набор подпрограмм для работы с многочленами от одной переменной (1й степени t, 2й степени n). 1) сложение 2) вычитание 3) умножение 4) деление с остатком 5) операции отношения (равно, не равно) 6) возведение в натуральную степень k 7) вычисление производной от многочлена 8) вычисление значения в точке х0. http://www.cyberforum.ru/cpp-beginners/thread622905.html
C++ Адаптация ПО под 64-битную систему
имею необходимость адаптировать прогу на С++ под 64 битную систему ( на 32 работает, но не на 64=() Подскажите плиз какие-нить источники, где можно почитать про адаптацию программ на С++ под 64 битку
Из арабских чисел в римские C++
Функция для перевода из арабских чисел в римские. Как можно заменить устаревший sprintf? string _func_arab_to_roman(int arab){ string arab_str; string res; char arr; int d; sprintf(arr, "%d", arab); arab_str = arr;
C++ програмный код http://www.cyberforum.ru/cpp-beginners/thread622846.html
Помогите плиз разобраться.Написали прогу, немогу понять как она работает.Конкретно нужны красные участки, если можно поподробнее) 1) Add/Dell: //add/dell.h //интерфейс модуля add/del #ifndef add/dell_h #define add/dell_h #endif //add/dell.cpp //реализация модуля «add/del» int readmsg(char*s){
C++ Получить количество символов во веденной строке Решил попробовать со строками поработать, сразу же возникло несколько вопросов: 1) В C++ тип string не встроен? Нужно подключать библиотеку? 2) В чем различие char от string? 3) Как использовать функции: * strlen - получить кол-во символов в строке. Попытался получить кол-во символов в веденной строке, возникли проблемы: 1. Нельзя получить кол-во... подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.07.2012, 11:00     Пример работы функции get_toke()
Цитата Сообщение от arfaa Посмотреть сообщение
хотел хоть посмотреть принцип работы
Эта версия его программы еще недоработана, там далее в книге описывается новая версия калькулятора. По вашей ссылке на сайте Страуструпа есть же пример ф-ции (в новой версии она заменяется на ф-цию get()):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Token get_token()    // read a token from cin
{
    char ch;
    cin >> ch;    // считываем выражение (например вводим 12,67+6*7(2+7);
 
    switch (ch) {
 //еще не реализовано   case ';':    // for "print"
 //еще не реализовано  case 'q':    // for "quit"
    case '(': case ')': case '+': case '-': case '*': case '/': 
        return Token(ch); // смотрит на первую лексему и если она (, ), +, -, *, / - возвращает Token(ch)
    case '.':
    case '0': case '1': case '2': case '3': case '4':
    case '5': case '6': case '7': case '8': case '9':  //иначе: 
        {    
            cin.putback(ch);         // если была цифра - закидывает цифру назад в поток ввода
            double val;
            cin >> val;              // считывает введенное число в double (в данном случае 12,67)
            return Token('8',val);   // возвращает объект Token('8',val)
        }
    default:
        error("Bad token");  // иначе плохая лексема
    }
}
 
Текущее время: 23:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru