Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
3-7289
Stelius
2003-06-07 22:54
2003.07.03
По поводу сортировки


3-7335
Rel_
2003-06-10 11:37
2003.07.03
SQL


7-7744
demonyator
2003-04-22 22:28
2003.07.03
Как программно получить/изменить Mouse Sensetivity?


3-7308
AkaSaint
2003-06-08 21:58
2003.07.03
Как обновить запрос на сервере приложений


6-7588
Reez
2003-04-27 21:29
2003.07.03
как послать сообщение в локалке зная IP?




   Наверх