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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 30.12.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.  Ма~дай~а паралелл ба~ытта ~тетін жазы~ты~- А Горизонталді В Фронталді С Сагитталді D Вертикалді
4. Торговая марка в СССР в 5070е годы 20 века МОСКВА 2000 г
5. доисторический применимо к любому периоду до изобретения письменности начиная с момента возникновения Вс
6. Дипломная работа- Коррекция и развития свойств внимания у детей младшего школьного возраста
7. тема принципов уголовного права
8. Здания и сооружения как объект собственности
9. тематика 2 курс 3 семестр
10. Контрольная работа по предмету Основы социологии и политологии Вариант I Дайте определение понятия
11. Биохимия СПЕЦИАЛЬНОСТЬ БИОЛОГИЯ
12. Пояснительная записка 3 2 Объектная смета на специальные строит.html
13. Тема- Планирование снабжения на предприятии Сущность планирования обеспечения предприятия материальны
14. Period of lithunin nd polish rule (1360-1599)
15. Л. В. Лисицына учитель начальных классов ОУ Королёвской муниципальной средней общеобразовательной школ
16. Контрольная работа- Методы обследования больных с психическими расстройствами
17. тематический план Тема 1
18.  Вычитающий последовательный двоичный счетчик
19. Научного характера философии нельзя отрицать она ~ наука о всеобщем свободная и универсальная область че.html
20. тематическое наполнение отдельных ее разделов дидактических единиц и перечень учебных элементов1