Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2008, 23:42   #1
gumz
 
Регистрация: 23.12.2008
Сообщений: 3
По умолчанию Доработка программы калькулятора в генераторе программ YACC

Уважаемые программисты! Дана такая вот задачка. Дано: прогармма калькулятор, вычисляющий выражение, введенное в строку. Он работает с числами в десятичной записи и выполняет 4 арифметические операции: +, -, *, / и допускает выражения со скобками произвольной глубины вложения.
Задание: доработать данную прогармму, что бы она могла производить операции над матрицами.
Исходный текст программы калькулятора:
%{
#define YYSTYPE double
%}

%token DATA
%left '+' '-'
%left '*' '/'
%%

spisok :
| spisok '\n'
| spisok wyrag '\n' {printf("\t%g\n",$2);}
;
wyrag : DATA { $$=$1; }
| wyrag '+' wyrag { $$=$1+$3; }
| wyrag '-' wyrag { $$=$1-$3; }
| wyrag '*' wyrag { $$=$1*$3; }
| wyrag '/' wyrag { $$=$1/$3; }
| '(' wyrag ')' { $$=$2; }
;
%%

#include <stdio.h>
#include <ctype.h>

main()
{
yyparse();
}

yyerror(s)
char *s;
{
fprintf(stderr,"%s\n",s);
}

yylex()
{
int c;

do{
c=getchar();
}while(c==' ' || c=='\t');

if(c==EOF)
return 0;
if(c=='.' || isdigit(c)){
ungetc(c,stdin);
scanf("%lf",&yylval);
return DATA;
}

return c;
}
Мне очень плохо дается YACC. Много читал, но так и не понял даже как описать сами матрицы что бы над ними можно было выполнять операции. Надеюсь найдуться из вас те кто хорошо знает данный генератор.
gumz вне форума Ответить с цитированием
Старый 28.12.2008, 01:27   #2
gumz
 
Регистрация: 23.12.2008
Сообщений: 3
По умолчанию

............

Последний раз редактировалось gumz; 28.12.2008 в 13:39.
gumz вне форума Ответить с цитированием
Старый 28.12.2008, 01:29   #3
gumz
 
Регистрация: 23.12.2008
Сообщений: 3
По умолчанию

Админы снесите эту тему, буду признателен! И меня можете тоже удалить)) мне здесь делать нечего
gumz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача в QBasic-моделирование калькулятора Петр88 Помощь студентам 8 07.12.2015 22:01
Помощь в редактировании калькулятора assimo Microsoft Office Excel 0 05.12.2008 11:13
Получаю хендл окна виндовского калькулятора Lich Win Api 8 01.07.2008 10:43
Доработка программы... barmaJIei Фриланс 1 24.04.2008 21:23