Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
6-7575
Akni
2003-04-28 17:59
2003.07.03
передача файлов


1-7463
Aleksandr
2003-06-20 12:54
2003.07.03
Почему не обрабатываются Shortcut динамических Action?


6-7580
softmaster
2003-04-28 21:26
2003.07.03
коннект с SMTP-сервером


1-7477
Всеволод Соловьёв
2003-06-20 13:09
2003.07.03
HighLight своими силами.


1-7499
Юра
2003-06-20 13:03
2003.07.03
Русская программа в английской Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский