|
Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема
|
некъф yacc, некъф lex
|
|
Автор | purist (Нерегистриран) |
Публикувано | 24.11.02 07:28 |
|
имам един въпрос за това как в действителност (не на теория) се пишат компилатори.
имам за домашно да напиша компилатор на малък език ама от всичките туториали хелпове и хоутота не разбрах какъв трябва да ми бъде изхода от yacc - двоичен код, асемблер, тройки/четворки или С код? ако е С код той автоматично ли се компилира?
много се изкушавам да направя изхода моя компилатор да отива във файл като С код и после върху него да викна обикновен компилатор но вероятността даскала да се усети е голяма.
Та, как се правят тези работи?
| |
Тема
|
Re: некъф yacc, некъф lex
[re: purist]
|
|
Автор | pyrx (Нерегистриран) |
Публикувано | 24.11.02 11:11 |
|
Здрасти,
А пък аз, по типично форумска традиция ти отговарям с въпрос.
Къде ги раздават тия интересни домашни?
Пиркс
| |
Тема
|
Re: некъф yacc, некъф lex
[re: purist]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 24.11.02 12:23 |
|
В действителност опростената схема на един процес компилиране е следната:
сорс на програмата
+
сорс на библиотеки
(предпроцесор)
готов за компилиране код
(компилатор)
компилиран код
+
компилирани библиотеки
(линкер)
изпълним код - COM, EXE и прочее
ако говорим за DOS/Windows среда
Разбира се, отчитам че терминологията ми е ужасна и има специфики за различните езици. Освен това има много етапи, които не са споменати - лексикален анализ, оптимизация на кода и прочее.
Независимо от постигнатото ниво на компилиране обаче, аз съм силно обнадежден. Щом нашите студенти праскат компилатори като домашно, значи след година-две яка работа могат да наврат Били Портата в USB порт, т.е. в кучи гъз.
чети и дишай по-леко
| |
Тема
|
Re: некъф yacc, некъф lex
[re: purist]
|
|
Автор |
Meндeлeeв (атомно обсебен) |
Публикувано | 24.11.02 13:21 |
|
даскала ти едва ли иска генерация на двоичен код или асемблер :), изглежда ми направо overkill -- може би, трябва да го питаш?
май най-лесното е да генерираш Ц код... после с едно просто мейкфайлче можеш да компилираш резултата. накрая ще си имаш нещо като cfront-а на строуструп
ще се чувстваш горд... и да не забравяш табовете в мейкфайла  
==============================================
ба... забравих да кажа. тук имам на хартия, но сигурно може да се намери на e-book на О'Райли -- lex & yacc. част от библиотеката от зоологическата градина е -- с 2 птички отпред. не съм я дочел още, но така както съм на средата изглежда много добра. препоръчвам я
==============================================
сетих се още нещо -- Стоян Бонев!
==============================================
лирически изпълнявам въоръжени грабежиРедактирано от Meндeлeeв на 24.11.02 16:33.
| |
Тема
|
Re: некъф yacc, некъф lex
[re: purist]
|
|
Автор |
Gallandro (бивш Aл Koxoнe) |
Публикувано | 24.11.02 13:22 |
|
В книжката "Алгоритми + Структури от данни = Програми" на Вирт има компилатор за PL Установил съм, че когато документите не са ти ясни, най-помага паралелното разглеждане на код.
Компилаторчето е малко, без оптимизации и езика е сравнително прост. Затва ти го препоръчвам него, а не примерно gcc.
IF JADEN THEN
GOTO BIRARIA;Редактирано от Gallandro на 24.11.02 13:25.
| |
Тема
|
Re: некъф yacc, некъф lex
[re: pyrx]
|
|
Автор |
expeler (lame) |
Публикувано | 24.11.02 19:22 |
|
Mislia che v TU-Sofia 3-4 godina, got nali i az iskam ama ....
only open source can make electric universe
| |
|
Sluchajno da znaesh dali moga i ot kade da si ia porucham online. Shte ti buda mnogo blagodaren
only open source can make electric universe
| |
Тема
|
Re: некъф yacc, некъф lex
[re: expeler]
|
|
Автор | pyrx (Нерегистриран) |
Публикувано | 25.11.02 00:06 |
|
Може и така да е.
В първия момент си помислих да не от тия новите велики и частни университети. Интересно, интересно!
Пиркс
| |
Тема
|
Re: некъф yacc, некъф lex
[re: pyrx]
|
|
Автор | purist (Нерегистриран) |
Публикувано | 25.11.02 00:36 |
|
определено не съм в меи; в щатите съм, но в доста скапан университет (скапан в сравнение с другите тук, не в сравнение с "великите частни").. все пак пратихме два отбора на АСМ олимпиадата така че сигурно не сме толкова зле
| |
Тема
|
Re: некъф yacc, некъф lex
[re: expeler]
|
|
Автор | ruja (Нерегистриран) |
Публикувано | 25.11.02 07:57 |
|
tam davat samo semantichen i lexichen analizator kato zadanie za 2 uprajnenia. Pishe se na pascal ... kato rezultat triabva da ti izvejda poredica ot instrukciite (metatagove) na vhoda kum niakuv izmislen kompilator koito e razrabotka na edin ot asistentite... small C li se kazvashe cialoto chudo ili neshto podobno, ne se seshtam veche.
| |
|
Страници по тази тема: 1 | 2 | 3 | (покажи всички)
|
|
|