Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
AlexandraKr
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 6
1

Логические операции

17.10.2010, 21:37. Просмотров 349. Ответов 0
Метки нет (Все метки)

На данном этапе программа должна не реагировать ошибкой на ввод последовательности букв и чисел 0 или 1. Не пойму, почему она нормально воспринимает любую последовательность цифр.
Еще голову ломаю уже который час. Не удается реализовать в программе такое правило : двойное отрицание какого-то выражения равно этому выражению.
Lex-файл:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
%{
#include <stdio.h>
#include "y.tab.h"
 
extern YYSTYPE yyval;
%}
 
%%
[a-zA-Z]+   {ECHO;return LET;}
[01]        {ECHO;return NUM;}
"+"         {ECHO;return PLUS;}
"*"         {ECHO;return MULT;}
"!"         {ECHO;return NOT;}
[ \t\r]     //ignore these symbols
\(          {ECHO;return LBR;}
\)          {ECHO;return RBR;}
\n          printf("\n");
Yacc-файл:
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
44
45
46
47
48
49
50
%{
#include <stdio.h>
%}
 
%start logic 
 
%token LET NUM PLUS MULT NOT LBR RBR 
 
%left PLUS  
%left MULT
%right NOT
 
%%
logic:
     |logic stat
;
stat:expr
     {
     printf("%d\n",$1);
     }
    |LET
     {
     $$=$1;
     }
    |NUM
     {
     $$=$1;
     }
;
expr:NOT NOT LBR expr RBR
     {
     $$=$4;
     }
 
%%
main()
{
yyparse();
}
 
yyerror(s)
char *s;
{
fprintf(stderr,"%s\n",s);
}
 
yywrap()
{
return(1);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 21:37
Ответы с готовыми решениями:

Логические и квантовые операции над предикатами
как можно реализовать &quot;логические и квантовые операции над предикатами&quot; на си/си++?

Логические операции - найти ошибку в коде
Есть код num = 0x4c58 N = 4; res = 0; temp=num; for(i=7; i&gt;=0;...

Логические операции над двоичной системой счисления с выводом в десятичную
Нужно сделать логические операции над двоичными числами i и k. Результат этих операций должен...

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

Упорядочить три целых числа по возрастанию (используя оператор if и логические операции)
Написать программу, которая позволяет упорядочить три целых числа по порядку возрастания....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 21:37

Логические выражения и их синтаксис
Программа компилируется и запускается без ошибок, но не выполняет необходимое. перепробовал и...

Логические операторы , не до конца понял
1 курс , начали учить язык си , не до конца понимаю как сделать это задание ----- 1. Объясните...

Записать логические выражения, используя условные операторы, операции отношений и логические операции
Записать логические выражения, используя условные операторы, операции отношений и логические...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru