|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.02.2010, 16:07 | #1 |
Пользователь
Регистрация: 02.04.2009
Сообщений: 18
|
описание к коду!
Есть вот такой код
Код:
Функция getchar() - забирает данные из потока ввода по одному. strchr("+-*/^()\n", c) - проверяют c на наличие стоящих в кавычках констант. isspace - провереят c на наличие пробела. isdigit - проверяет на наличие десятичного числа(от 0 до 9) в c. abort() - прерывает ВСЮ программу. assert() - проверяет условие, стоящие в скобках(выражение) и если оно верно, то программа работает далее, если же нет, то вызывается функция 'abort()'. так вот. хотелось бы узнать описание к: ungetc(c, stdin) - ? int tok; - ? double tokval; - ? if (c == EOF || - ? (конкретно для чего здесь " || "). if (isspace(c)) continue; - ? (что делает эта строка). if (isdigit(c) || c == '.') - ? (и что делает эта строка). |
25.02.2010, 16:15 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Если с равен концу файла или находится среди +-*/^()\n то выйти из функции, присвоив его tok и вернув его же. Цитата:
I'm learning to live...
|
||
25.02.2010, 16:20 | #3 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
Код:
"||" - логическое ИЛИ Код:
Код:
|
02.03.2010, 01:38 | #4 |
Новичок
Джуниор
Регистрация: 02.03.2010
Сообщений: 1
|
Это код лексического анализатора. tok - тип следующей лексемы: это либо знак операции, скобка, символ 'n' обозначает лексему-число (при этом ее значение хранится в tokval), EOF=-1 сигнализирует о конце входа.
> if (c == EOF || - ? (конкретно для чего здесь " || "). EOF - тоже лексема. Сигнализирует конец ввода. > if (isspace(c)) continue; - ? (что делает эта строка). пропускает пробелы и табы > if (isdigit(c) || c == '.') - ? (и что делает эта строка). обнаруживает начало записи числа. -- автор этого кода Попрошу дальнейшие вопросы задавать там, где этот код был изначально опубликован - http://forum.algolist.ru/source-impl...html#post10503 |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по коду | BeZone | Помощь студентам | 10 | 28.12.2009 13:21 |
комментарии к коду | leahov | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 09.06.2009 13:09 |
Комментарии к коду | ELL | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 09.03.2009 16:01 |
Комментарии к коду | Juhn | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 24.12.2007 20:29 |
Комментарии к коду | Ярослав | Помощь студентам | 4 | 23.11.2007 16:57 |