Форум: "Потрепаться";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизКомпилятор. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c