Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо написать программу транслятор из С/Паскаля/Бейсика в ассемблер.

Указывайте ваши предложения по цене и сроку. Также опыт работы.

В аттаче дока, которая может помочь.

______________________________________

Общие правила выполнения курсовой работы

1.Курсовая работа должна состоять из рабочей программы (программы-компилятора) и отчета.

2.Программа должна содержать исходные тексты, а также исполняемый бинарный файл (или группу файлов).

3.Программа должна быть выполнена на языке программирования C++.

4.Программа должна производить трансляцию фрагмента исходного текста на входном языке программирования в эквивалентный ей текст программы на языке ассемблера.

5.Тестовый фрагмент для трансляции выбирается в соответствии с индивидуальным вариантом.

6.Результирующая программа на языке ассемблера должна быть ориентирована на архитектуру x86. Нежелательно использование в результирующем коде узко-специфичных процессорных директив и регистров.

7.В программе должны присутствовать лексический и синтаксический анализаторы. Семантический анализатор и генератор кода могут не выделяться в отдельные компоненты.

8.Методы трансляции выбираются самостоятельно. В отчете необходимо определить грамматику входного языка и обосновать выбор соответствующего метода перевода.

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

10.В процессе работы программы (анализа и синтеза) должны генерироваться сообщения об успехе соответствующей фазы или возникших ошибках.

11.Для обработки ошибок внутри программы предпочтительно использовать механизм исключений.

12.В программе необходимо в качестве базовых структур данных (массивы, списки, очереди, стеки) использовать контейнерные классы библиотеки STL. В некоторых случаях допускается использование своих контейнерных классов, когда такое решение будет обосновано.

13.Код программы должен быть ориентирован на обработку компилятором Visual C++ версии не ниже 6.0 или GCC версии не ниже 3.3.4. Применение других компиляторов нежелательно.

14.Использование готовых библиотек для синтаксического, лексического разбора и любых других автоматизированных инструментов для создания компиляторов запрещено.

15.Отчет должен содержать описание решаемой задачи, используемых алгоритмов, код программы и диаграмму классов.

16.Отчет должен быть выполнен в соответствии с требованиями, предъявляемыми к оформлению курсовых работ, и ГОСТ.

Пример входных файлов:

int sum(int a, int b);

/* … */

int i, n = 50;

float p;

for(i =0, j = n; i

{

if(i != j)

{

p = (sum(i, j) + 10.5)/16+22;

p--;

}

}

/* … */

int sum(int a, int b)

{

return a + b;

}

///////////////////////////////

void sum(int &a, int &b);

/* … */

int i, n = 50;

float p, res = 0;

for(i =0, j = n; i

{

sum(res, j);

p = (res + 0.5)/16+12;

for(; p

{

res += p/11.3+1;

}

}

/* … */

void sum(int a, int b)

{

a += b;

}

///////////////////////////////////////

____________float sum(float *a, int n);

#define N 50

/* … */

int i;

float p[N], res = 0;

for(i =0; i

{

p[N] = 0.1 * i;

}

res = sum(p, N)

/* … */

float sum(float *a, int n)

{

float r = 0.0;

int i = 0;

for(; i

{

r += *(a++ + i);

}

return r;

}

//////////////////////////////////

program Hanoi;

var t1, t2, t3 : char;

n:integer;

procedure Hanoi(t1, t2, t3: char; k: integer);

begin

if k

then

begin

Hanoi(t1, t3, t2, k-1);

writeln(t1:10, t2:10);

Hanoi(t3, t2, t1, k-1);

end

else writeln(t1:10, t2:10);

end;

begin

t1:=’A’;

t2:=’B’;

t3:=’C’;

Hanoi(t1, t2, t3, 10);

end.

///////////////////////////////////////////////////

const n=10;

type

number = 1..n

matrix = array [ number, number] of real;

num = set of number;

function sum(var A: matrix; S1, S2: num):real;

var

summa:real;

i, j:number;

begin

summa:=0;

for i:=1 to n do

if i in S1 then

for j:=1 to n do

if j in S2 then

summa:=summa+A[i,j];

Sum:=summa;

end;

//////////////////////////////////////////////////

1: INPUT “Press enter N & M”; N, M

K=N

GOSUB FACT

X1=P

K=M

GOSUB FACT

X2=P

K=(N-M)

GOSUB FACT

Z=X1/(X2*P)

PRINT “Expression ”; Z

INPUT ”Continue?”;a$

IF UCASE(a$)=”Y” THEN 1 ELSE PRINT “Bye”

END

FACT:

P=1

FOR i=1 TO K

P=P*i;

NEXT i

RETURN

///////////////////////////////////////////

INPUT “Press enter A & B”; A, B

S=0

I=A

FOR I TO B

GOSUB EXPR

S=P+I;

I=I+1

NEXT I

?”Summ”; S

END

EXPR:

P=0

FOR K=1 TO I

P=P+ S+1/(1+K))

NEXT K

RETURN

_______________

16 лет назад
Ufo
38 летРоссия
18 лет в сервисе
Был
11 лет назад
  • Похожие заказы
  • $250

    На основании условий, созданных пользователем лотерейная дос-программа уменьшает остаток возможных комбинаций лотереи до приемлимого количества. Необходимо написать Windows-аналог. Часть функций дос-программы использована не будет, но необходимо добавить: 1) сохранение промежуточных результатов в файл и загрузка из ...

    Прикладное ПО1 исполнитель
    Завершен
    16 лет назад
  • Внедрение и доработка системы Terrasoft CRM Проект для тех, кто уже имеет большой опыт по доработке данной системы. Подробнее о задаче в визуальных картах и техническом задании. Контактный телефон: 8-916-9208807 г. Москва. Также принимаются предложения сторонних ...

    Закрыт
    16 лет назад
  • $50

    Необходимо написать скринмейт (желательно на дельфях). Графика будет предоставлена. Скринмейт представляет из себя одну картинку. Вся сложность в том, что у картинки будет полупрозрачность. Поэтому просто обрезкой формы под силуэт картинки отделаться не удастся. Учитывайте это, ...

    Прикладное ПО1 исполнитель
    Завершен
    16 лет назад
  • РАЗЫСКИВАЕТСЯ!!!! Программист на С\С++, способный портировать работоспособные Win32-приложения под Linux. На сегодняшний день имеется 4 приложения которые нужно портировать. Далее процесс портирования планируется быть постоянным. Т.е. разрабатывается приложение под Win-платформу, после успешных тестов - портируется ...

    Прикладное ПО1 исполнитель
    Закрыт
    16 лет назад
  • Разработка ПО похожее на IKEA Home Planer только со своей базой. Проектирование кухни, спальни. Возможность увидеть в рендере уже готовую кухню. Важна доступность, а главное юзабилити программы. Просьба писать только тем, кто имел опыт с ...

    Закрыт
    16 лет назад
  • Задача: * Взять на себя разработку программного продукта шведской компании среднего размера Обязательно: * .NET * SQL-Server * Хороший уровень разговорного и письменного английского * Умене ставить себе задачи и успешно их решать Желательно: * Наличие загранпаспорта и возможность при необходимости ездить в ...

    Закрыт
    16 лет назад
  • Разработка системы работы операторов и менеджеров с клиентами по телефонным каналам связи. Для фирмы, занятой туристическим бизнесом. В том числе блоки-: - блок распределения звонков - блок маршрутизации звонков - блок исходящих звонков - рабочее место оператора - блок ...

    Закрыт
    16 лет назад
  • Нужно написать программку на Си или Си++ (консольно) Есть некторые сайты S1,S2,....Sn ( пока пусть n=10 ) А есть еще известные сайты T1,T2,........Tm ( пока пусть m=1 ) Лог посещаемости для сайта выглядит следующим образом Время\t IdUser\t названиесайта\n ...

    Прикладное ПО1 исполнитель
    Завершен
    16 лет назад
  • $30

    Нужно разработать ПО вычислительных средств АЭС имитационную модель процесса восстановления информации системы передачи данных (СПД) с учетом надёжности составляющих её компонентов. срок 5-6 дней аська:380945346 тут схема и пояснения http://slil.ru/25724280

    Закрыт
    16 лет назад
  • $250

    Требуется обеспечить загрузку данных из сторонней программы (1С) каталог данных с описанием и фото на сайт через промежуточный файл. Возможные форматы exls, dbf; допустимо при условии сохранения админки – txt, xml, mxl, html. Язык разработки ...

    Закрыт
    16 лет назад