Главная страница
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.017 c
4-7768
Great_Lesh
2003-05-01 09:41
2003.07.03
Заголовочный файл CreateProcessWithLogonW


6-7584
Лана Розанова
2003-04-29 15:31
2003.07.03
Web


14-7674
Федя
2003-06-16 21:43
2003.07.03
Длина выданной программой команды слишком велика


1-7501
фтщв
2003-06-20 23:34
2003.07.03
Двусторонняя печать


1-7419
Intell
2003-06-20 14:44
2003.07.03
Как сделать эффект Fade для Image?