Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Отчет по лабораторной работе 4 по дисциплине- Лингвистические средства ВС Выпо

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.5.2024

Министерство образования Российской Федерации

Тамбовский Государственный Технический Университет

Кафедра САПР

Отчет по лабораторной работе №4

по дисциплине: «Лингвистические средства ВС»

Выполнил: Уваров Н.А., БВТ-21

Проверила:             Коробова  И.  Л.

Тамбов 2012

Задание:

 Написать программу генерации объектного кода.

Отрывок программы:

READ (H, B, M);

PI : = 3.14;

V : = PI * H * ( B * B + M * M + B * M ) / 3

Кодировочная таблица:

Символы

Read

1

(

2

)

3

,

4

;

5

: =

6

*

7

+

8

/

9

Идентификатор

H

10  1

B

10  2

M

10  3

Pi

10  4

V

10  5

Константа

3.14

11  1

3

11  2

Результат работы лексического анализатора:

 

  1  2  10  1  4  10  2  4  10  3  3  5

  10  4  6  11  1  5

  10  5  6  10  4  7  10  1  7  2  10  2  7  10  2  8  10  3  7  10  3  8  10  2  7  10  3  9  11  2   

Грамматика:

1 <Список операторов> → <оператор> {;<оператор>}

2 <оператор> → <ввод> / <присваивание>

3 <Ввод> → Read (<список переменных>)

4 <список переменных> → <идентификатор> {,<идентификатор>}

5 <идентификатор> → H / B / M / V / PI

6 <Присваивание> → <идентификатор>  : = <арифметическое выражение>

7 < арифметическое выражение > → <слагаемое> {+<слагаемое>}

8 <слагаемое> → <множитель> {*/:<множитель>}

9 <множитель> → (< арифметическое выражение >) / <идентификатор> / <константа>

10 <константа> → 3.14 / 3

Последовательность четверок:

Текст программы:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

 int i,n;

   FILE *file=fopen("input.txt", "r");

   printf("start:\n");

   fscanf(file,"%d\n",&n);

 for(i=0;i<n;i++)

{

 char oper[100]="\t", op1[100]="\t", op2[100]="\t", res[100]="\t";

 fscanf(file,"%s\t%s\t%s\t%s\n", &oper, &op1, &op2, &res);

 //printf("%s %s %s %s\n", oper, op1, op2, res);

 

 if(strcmp(oper, ":=")==0)

 {

  printf("mov %s, %s\n", res, op1);

  continue;

 }

 if(strcmp(oper, "*")==0)

 {

  printf("mov al, %s\n", op1);

  printf("mul %s\n",op2);

  printf("mov %s, ax\n", res);

  continue;

 }

 if(strcmp(oper, "+")==0)

 {

  printf("add %s, %s\n",op1, op2);

  printf("mov %s, %s\n", res, op1);

  continue;

 }

 if(strcmp(oper, "/")==0)

 {

  printf("mov ax, %s\n", op1);

  printf("div %s\n",op2);

  printf("mov %s, al\n", res);

  continue;

 }

 if(strcmp(oper, "param")==0)

 {

  printf("write %s\n", op1);

  continue;

 }

}

printf("end start.");

 

fclose(file);

 

 _getch();

 return 0;

}

Пример работы программы:




1. Права і свободи особистості
2. командными методами управления негативных явлений в народном хозяйстве России возможно на основе реформиро
3. 2009 N 261ФЗ от 27
4. Методы педагогического исследования
5. Курсовая работа- Федеральная налоговая служба
6. А почему у нашей такой творческой школы нет своей газеты
7. Состояние больного после стентирования
8. Понятие функции нескольких переменных Определение
9. Творчество Айвазовского
10. Влияние депрессии на психические состояния учителя и как следствие на его учебную деятельност
11. темах и идеях которые доказали свою полную несостоятельность и нежизнеспособность
12. Чайка по адресу- г
13. Note elementry concepts without which no humn communiction would be possible
14. Мониторинг безопасности для магистров направления подготовки Техносферная безопасность программы
15. либо страна обладает абсолютным преимуществом если есть такой товар которого на единицу затрат она.
16. Референдум в РФ
17.  Пневмоцилиндры стандарта VDM ISO 15552 NWT 032
18. это чувство нехватки воздуха
19. Тема- Прокурорский надзор за процессуальной деятельностью органов дознания и предварительного следствия
20. Тема- Все профессии нужны