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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Результаты опроса: Актуальносьть теми
Да актуально!! 1 50.00%
??? 1 50.00%
Голосовавшие: 2. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 20:33   #1
andrey_st
Новичок
Джуниор
 
Регистрация: 24.03.2011
Сообщений: 2
По умолчанию Транслятор с псевдокода в Паскаль

Привет всем кто читает эту тему. У меня возникла проблема при написании транслятора из (псевдокоду) в (Паскаль). Язык Псевдокода брался подобным Паскалю но с некоторыми отличиями. В псевдокоде служебные слова пишутся русскими буквами, и также есть возможность использования меток. То есть синтаксис уже разработал, подскажите пожалуйста как написать код транслятора, из чего начинать и что делать? В программировании новичок, но базовые знания имею.
Для примера, что я хочу сделать!

Псевдокод ------------------------ Паскаль
прогр suma; ------------------------ program suma;
переменные x:целы; ---------------- var x:integer;
нач --------------------------------- begin
чит(x); ----------------------------- readln(x);
m1: если x<5 тогда переход m2: ---- while x<5 do
пусть x=x+1; ------------------------ x:=x+1;
переход m1:;
m2: друк(x); ------------------------ writeln(x);
кон. -------------------------------- end.
Подскажите как написать транслятор с формальнои мови в Паскаль
andrey_st вне форума Ответить с цитированием
Старый 24.03.2011, 20:44   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Тебе понадобится только операция сравнения if и операции работы со строками.
В чем конкретно проблема?
например траслировать Нач в begin:
Код:
for i:=0 to memo1.lines.count-1 do
if memo.lines[i]='нач' then memo2.lines[i]:='begin';
и тд... Только iая строка должна существовать в Memo2...
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 24.03.2011, 21:24   #3
andrey_st
Новичок
Джуниор
 
Регистрация: 24.03.2011
Сообщений: 2
По умолчанию

C некоторыми служебными словами понятно, а как например с этим
пусть x=x+1; ------------------------ x:=x+1; и метками?
Подскажите как написать транслятор с формальнои мови в Паскаль
andrey_st вне форума Ответить с цитированием
Старый 24.03.2011, 21:38   #4
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Парсить, парсить и еще раз парсить. Pos. Copy, Delete, Insert
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Транслятор sult9191 Общие вопросы по Java, Java SE, Kotlin 0 05.11.2010 16:50
Не получается перести с псевдокода на С++... SvetofoRik Помощь студентам 0 23.09.2010 22:06
Транслятор Delphi -> C LeXXeL Помощь студентам 1 17.11.2008 21:17