Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
vad505
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 103
#1

Написать курсовую "Транслятор из C++ в Pascal" - C++

08.02.2014, 10:31. Просмотров 1285. Ответов 17
Метки нет (Все метки)

Транслятор из с++ в паскаль!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 10:31     Написать курсовую "Транслятор из C++ в Pascal"
Посмотрите здесь:
Написать курсовую по теме "Разработка архитектуры и компонентов системы и автоматизации автосервиса" C++
C++ дано четырехзначное число. если сумма первых 2 цифр=сумме 2 последних, написать "yes", иначе "no"
C++ Написать программу что меняло слово "кукушка" на "груша", с помощью стека
Написать программу, которая заменяет в указанном слове все буквы "b" на сочетание "ky" C++
C++ Написать функцию выбора пунктов меню стрелками "вверх" "вниз"
Написать код шифрования методом "Змеиный" и "Спиральный" C++
C++ Написать простейшую программу по "перегрузке" и "наследованию"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KOPOJI
08.02.2014, 10:35
  #2

Не по теме:

Цитата Сообщение от vad505 Посмотреть сообщение
Необходимо написать курсовую
Пишите, мы не против...

агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
08.02.2014, 10:50     Написать курсовую "Транслятор из C++ в Pascal" #3
Читайте , 1 книга по архитектуре компьютера, 2 по созданию компиляторов
P. S. 2 в виде торентта т. к. из -за обьема (15,2 мб) ее нельзя загрузить на форум
P. P. S. никто за просто так столь сложное задание делать вам не будет, либо максимально уточните требования.

Архитектура-компьютера_Таненбаум_2003-4-е-изд
Ахо,Лам,Сети,Ульман - Компиляторы. Принципы, технологии, инструменты. 2ed 2008г

 Комментарий администратора 
Правила форума пункт 5.3
Запрещено размещать любые материалы, нарушающие авторские права (без разрешения правообладателя), а также ссылки на них.
Правила форума пункт 5.9
Запрещено отсылать пользователей из тематических разделов в разделы фриланса, а также рекламировать свои услуги или просить/требовать оплату за помощь, кроме разделов для платных услуг.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
08.02.2014, 11:35     Написать курсовую "Транслятор из C++ в Pascal" #4
агерон, а чем тут Танненбаум поможет? Он же не что-то низкоуровневое пишет!
Да и вторая книга нужна скорее для честного парсинга и трансляции.
А тут по сути учебное задание можно перевести как
заменить в тексте { на begin, } на end, = на := и.т.д.
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
08.02.2014, 12:19     Написать курсовую "Транслятор из C++ в Pascal" #5
)) ага обычными заменами, давай ты мне переведешь таким образом такой несложный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    vector<int> v(10);
    for(int i = 0; i < 10; i++) 
    {
        v[i] = (i+1)*(i+1);
    }
}
а потом мы попытаемся твой результат скомпилировать и весело посмеемся над ошибкам компилятора pascal

P. S. не порите ЧУШИ молодой человек и сами пожалуйста хоть не намного выучите архитектуру компьютера и устройство компиляторов, поверьте моему опыту эти 2 вещи очень сильно между собой связаны
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,411
Записей в блоге: 3
08.02.2014, 16:43     Написать курсовую "Транслятор из C++ в Pascal" #6

Не по теме:

Цитата Сообщение от агерон Посмотреть сообщение
не порите ЧУШИ молодой человек и сами пожалуйста хоть не намного выучите архитектуру компьютера и устройство компиляторов, поверьте моему опыту эти 2 вещи очень сильно между собой связаны
Вы чем давать такие советы, лучше на себя посмотрите. Теперь глянем на ваш пример. Ответьте на вопрос, каким образом знание устройства компилятора и т.п. поможет перевести ваш пример на паскаль, в котором в принципе нет ООП?

В принципе подход Kuzia domovenok имеет право на существование.
daslex
08.02.2014, 16:51
  #7

Не по теме:

тут наверняка Turbo Pascal 7.0 какой-нибудь в контексте/ там ООП есть . как бы Паскаль Паскалю рознь (сначала не было, потом появилось)

Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
08.02.2014, 19:46     Написать курсовую "Транслятор из C++ в Pascal" #8
Цитата Сообщение от агерон Посмотреть сообщение
а потом мы попытаемся твой результат скомпилировать и весело посмеемся над ошибкам компилятора pascal
P. S. не порите ЧУШИ молодой человек и сами пожалуйста хоть не намного выучите архитектуру компьютера и устройство компиляторов, поверьте моему опыту эти 2 вещи очень сильно между собой связаны
агерон, Похоже, опыт тебя подводит.
автор хоть раз упомянул полноценный компилятор?
Не умничай, ты переусложняешь задачу! Будь проще!
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
08.02.2014, 19:59     Написать курсовую "Транслятор из C++ в Pascal" #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Не умничай, ты переусложняешь задачу! Будь проще!
Согласен в учебном процессе задача упрощенно ставится.... Но основной функционал С++ скрыт в include-ах с этим то же не поспоришь. Но даже если про это забыть то даже такой код транслировать устанешь:
C++
1
2
3
int i;
std::cin>>i;
int y=i*2;
а если вспомнить про существование using namespace.....
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
08.02.2014, 20:18     Написать курсовую "Транслятор из C++ в Pascal" #10
Цитата Сообщение от mustimur Посмотреть сообщение
а если вспомнить про существование using namespace.....
ну для начала, автору нужно напомнить, что транслятор из Си будет попроще, чем Си++.
Далее, надо предложить, даже для Си реализовать лишь часть ядра языка, скажем
-встроенные типы и переменные
-часть арифметических операторов.
-один из видов цикла
-один вид ветвления - if
-возможно, добавить поддержку goto
-поддержка функций
-возможно, если останутся силы подумать как реализовать массивы и строки

Не по теме:

не, массивы и строки в Си и Паскале довольно различны, тут даже указатели полегче реализовать было б


А стандартную библиотеку Си вообще урезать до нескольких функций, скажем
-gets
-puts
-atoi
-itoa
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
08.02.2014, 22:20     Написать курсовую "Транслятор из C++ в Pascal" #11
Kuzia domovenok, то что ты поришь ЧУШЬ это и ТАК ВИДНО и твои -35 к репутации как то на это особо не влияют вот код переделанный с С на Pascal по твоему рецепту

заменить в тексте { на begin, } на end, = на := и.т.д.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int main(int argc, char* argv[])
{
int v[10]={};
    for(int i = 0; i < 10; i++) 
    {
        v[i] = (i+1)*(i+1);
    }
}
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int main(int argc, char* argv[])
begin
int v[10]=begin end;
    for(int i = 0; i < 10; i++) 
    begin
        v[i]: = (i+1)*(i+1);
    end;
begin;
давай - ка посмотрим что на этот код скажет компилятор к примеру PascalABC
то что у меня меньше репутация это не означает что у меня меньше опыта и знаний

По правельному нужно сделать дерево граматики программы на С потом перевести его, если не ошибаюсь, в граматику LL(1), а уже потом делать перевод в граматику языка Pascal и только после этого по этому дереву граматики собирать программу на Pascal
Миниатюры
Написать курсовую "Транслятор из C++ в Pascal"  
KOPOJI
08.02.2014, 22:39
  #12
 Комментарий модератора 
А теперь заканчиваем переход на личности и возвращаемся к теме. Без оскорблений.
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
08.02.2014, 23:12     Написать курсовую "Транслятор из C++ в Pascal" #13
Kuzia domovenok, написание простейших LL(1) граматик, соответсвующих парсеров и анализаторов - уровень 4-5 курса института, я не говорю чтобы он написал парсер/анализатор всего стандарта С++ пусть пишет парсер/анализатор простейшей программы, на подобии мною написаной, это не не так страшно как кажется, более того есть специальные инструменты которые по четко определенным правилам грамматики могут сгенерировать так необходимые анализаторы и парсеры, вот только ссылочку ищите в гугле
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
10.02.2014, 02:15     Написать курсовую "Транслятор из C++ в Pascal" #14
HighPredator если вы читали тему то прошу указать точно в чем я ошибаюсь? а то я вот такой весь непонятливый...
Насколько мне известно из моего образования, а я дай бог памяти учился на кафедре вычислительной техники и программирования факультета компьютерных и информационных технологий харьковского политеха, по специальности компьютерный инженер - системный аналитик, транслятор есть составная часть компилятора, мало того для коректной трансляции кода программы с любого языка строиться дерево трансляции в терминах LL(1) или LR(1) граматики, и где в данном случае я не прав? TC который создал тему написал "Написать курсовую "Транслятор из C++ в Pascal" на что я ему предоставил требуемую информацию по разработке компиляторов, которая также в себя включает информацию по разработке трансляторов
P. S. кстати в паскале ООП (обьектно орентированое программирование), что подверждает тот факт что компилятор Turbo pascal 7 дай бог памяти 1993 года выпуска, спокойно скомпилирует такую программу
Pascal
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
uses crt;
type
    PExampleBase = ^TExampleBase;
    TExampleBase = object
        constructor Create;
        procedure Test;virtual;
        destructor Done;
    end;
 
    PExample=^TExample;
    TExample = object(TExampleBase)
        procedure Test;virtual;
    end;
 
    constructor TExampleBase.Create;
        begin
        end;
 
    destructor TExampleBase.Done;
        begin
        end;
 
    procedure TExampleBase.Test;
        begin
            writeln('TExampleBase.Test');
        end;
 
    procedure TExample.Test;
        begin
            writeln('TExample.Test');
        end;
 
    var examplePointer:PExample;
        exampleBasePointer1, exampleBasePointer2:PExampleBase;
        begin
                        clrscr;
                        new(exampleBasePointer1, Create);
            new(examplePointer, Create);
            exampleBasePointer2:=examplePointer;
            exampleBasePointer1^.Test;
            exampleBasePointer2^.Test;
            Dispose(exampleBasePointer1, Done);
            Dispose(examplePointer, Done);
                        readln;
        end.
Результат компиляции в Turbo Pascal 7

Написать курсовую "Транслятор из C++ в Pascal"

Результат выполнения в Turbo Pascal 7

Написать курсовую "Транслятор из C++ в Pascal"

Что не позволяет утверждать что в языке Pascal нет ООП т. к. оно там присутствует как минимум с 1993 года и на основании своих доказательств я утверждаю что язык Pascal уже тогда являлся достаточно сложным языком транслятор которого, а уж тем более транслятор с С++ на Pascal, написать достаточно сложно
В свете указаных доказательств считаю что HighPredator не разбирается в программировании на достаточном уровне чтобы судить о создании компиляторов/трансляторов

 Комментарий администратора 
Загружайте изображения и файлы на форум и прикрепляйте к сообщению.
http://www.cyberforum.ru/about-forum...tml#post594251
iifat
2216 / 1369 / 101
Регистрация: 05.06.2011
Сообщений: 3,768
10.02.2014, 03:05     Написать курсовую "Транслятор из C++ в Pascal" #15
Цитата Сообщение от HighPredator Посмотреть сообщение
каким образом знание устройства компилятора и т.п. поможет перевести ваш пример на паскаль, в котором в принципе нет ООП?
Ну, вообще-то, ++ вполне себе компилируется в машинный код, в котором и вправду нет ООП. Так что само по себе это преодолимо.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ну для начала, автору нужно напомнить, что транслятор из Си будет попроще, чем Си++.
Не просто попроще, а сильно попроще. Но, напоминаю, ТС таки хочет ++.
И таки не могу смолчать, странная какая-то курсовая. Трансляция ++ в полном объёме — не сильно, имхо, проще, Паскаль там, Ассемблер или чо ещё...
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,055
10.02.2014, 12:12     Написать курсовую "Транслятор из C++ в Pascal" #16
ООП в асме? ну это конечно изврат, но как посмотреть как посмотреть, помню в году 2003 читал книгу по x86 ассемблеру, вот правда автора запамятовал, так там что то насчет ООП на асме проскальзовало, как одна из фич но это было уж слишком для меня
iifat
2216 / 1369 / 101
Регистрация: 05.06.2011
Сообщений: 3,768
10.02.2014, 13:09     Написать курсовую "Транслятор из C++ в Pascal" #17
Цитата Сообщение от агерон Посмотреть сообщение
ООП в асме?
Как дисциплина — почему б и нет. Макрокомандами поддержать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 11:41     Написать курсовую "Транслятор из C++ в Pascal"
Еще ссылки по теме:
На C++ в строке после символа - "+" поставить символ "*" и посчитать сколько "+" C++
C++ Добавить к возрасту человека указание "год", "года", "лет"
Нужно в массиве в слове "Pascal" поменять букву c на k C++
Зачем перегружать операторы "++", "<<", ">>" и что они дают? C++

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

Или воспользуйтесь поиском по форуму:
magirus
24.02.2014, 11:41     Написать курсовую "Транслятор из C++ в Pascal"
  #18
 Комментарий администратора 
Тема в разделе фриланс. здесь закрыто.
Yandex
Объявления
24.02.2014, 11:41     Написать курсовую "Транслятор из C++ в Pascal"
Закрытая тема Создать тему
Опции темы

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