Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Компилятор.   Найти похожие ветки 

 
Scorpx ©   (2003-06-17 11:26) [0]

Подскажите, как написать хотя бы простейший компилятор. Если можно дайте ссылки на статьи.


 
Digitman ©   (2003-06-17 11:31) [1]

И что будешь потом делать с объектным кодом, который будет генерировать твой компилятор ?


 
Scorpx ©   (2003-06-17 11:36) [2]

Я хочу написать собственную оболочку под язык Turbo Pascal. Текст будет напечатан в Memo, а компилятор превратит исходник в готовую программу.


 
Alex Y ©   (2003-06-17 11:39) [3]

так есть же уже, ну и пользуйся bcc, который в комплекте с BP идет


 
Digitman ©   (2003-06-17 11:40) [4]

Угу. А при чем здесь "написание компилятора" ? ты же TP хочешь использовать в кач-ве оного ?

с ключами ком.строки TP ты знаком ? тогда текст из Мемо сохраняй в файл и передавай его имя/путь в кач-ве параметра в ком.строке ТР, наряду с прочими необходимыми ключами.


 
Scorpx ©   (2003-06-17 11:46) [5]

Где можно прочитать прол ключи ком.строки TP?


 
Palladin ©   (2003-06-17 11:47) [6]

:)
суперминикомпилятор к только что разарботаному мной языку программирования, он кстати русский
все в одном, генерит сразу исполняемые файлы, только в секретном исполняемом формате Windows с расширением bat


program BatCompilator;
{$AppType Console}
var
_OutFile,
_InFile:TextFile;
s:string;
Error:byte;

begin
writeln("BatCompiler 1.0 Lamer Edition");
if paramstr(1)="" then
begin
writeln("А че компилить то будем?");
halt;
end;
if paramstr(2)="" then
begin
writeln("А куда компилить то будем?");
halt;
end;
randomize;
AssignFile(_InFile,paramstr(1));Reset(_InFile);
AssignFile(_OutFile,paramstr(2)+".bat");ReWrite(_OutFile);
writeln(_OutFile,"@Echo off");
while not eof(_InFile) do
begin
readln(_InFile,s);
if copy(s,1,10)="Напечатать"
then writeln(_OutFile,"echo "+copy(s,12,length(s))
else
begin
str(random(254)+1,Error);
writeln("[Ошибка компиляции "+Error+" непонятная комманда "#39+s+#39" Abnormal program terminate");
halt;
end;
end;
CloseFile(_InFile);CloseFile(_OutFile);
end;


 
Digitman ©   (2003-06-17 11:50) [7]


> Scorpx


в книжке по ТР либо вызвав ТР из ком.строки с ключем помощи (ключ ? или h или help - не помню как там)


 
Scorpx ©   (2003-06-17 11:52) [8]

Выделяет строчку else под then writeln(_OutFile,"echo "+copy(s,12,length(s)) Почему?


 
Palladin ©   (2003-06-17 11:55) [9]

ну естественно в настоящем компиляторе должны присутствовать баги, мой не исключение :)
в нем целых два бага
вот SP1

в строке 7 изменить на
Error:string;
в строке 29 изменить на
then writeln(_OutFile,"echo "+copy(s,12,length(s)))


 
Scorpx ©   (2003-06-17 11:55) [10]

Подскажите, как зашифровать ini-файл?


 
Palladin ©   (2003-06-17 11:59) [11]

а программа на моем языке программирования :) выглядит так
-- Prog1.btc ---------------------------

Напечатать Вот оно зарождение
Напечатать нового языка программирования
Напечатать с русским синтаксисом

----------------------------------------
пусть откомпилированый компилятор будет называтся BatCmpl.exe

тогда что бы откомпилировать вышенаписанную программу нужно исполнить

BatComp.exe Prog1.btc Prog1

тогда появится исполняемый файл Prog1.bat
тебе останется всего лишь запустить его :)

не заубудь, все вышеперечисленное делается из коммандной строки


 
Scorpx ©   (2003-06-17 11:59) [12]

Palladin ©
Можно вопрос? При запуске окно дос сразуже закрывается, почему? Как компилятором пользоваться?


 
Digitman ©   (2003-06-17 12:01) [13]


> Scorpx


Так же как и любой другой текстовый файл


 
Scorpx ©   (2003-06-17 12:05) [14]

Понятно, спасибо!



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
14-7635
Кен
2003-06-14 06:11
2003.07.03
Где в сети можно БЫСТРО получить бесплатный мэйл и не древовидный


14-7643
kull
2003-06-15 15:27
2003.07.03
Количественные оценки качества кода...


1-7447
Oleg__
2003-06-23 15:27
2003.07.03
Как


3-7351
alienka
2003-06-09 12:45
2003.07.03
как сделать мастер-детайл не по всему полю, по его части?


14-7686
Дмитрий К.К.
2003-06-17 07:44
2003.07.03
Именинники 17 июня