Pascal компилятор
-
Давайте хотя бы на Pascal компилятор напишем, у него лексика простая.
Посмотри http://mikedld.com Там лежит MPC (Menuet Pascal Compiler, early beta)!
O01eg
Free Pascal уже давно используется для написания программ, но портировать сам компилятор трудно - там используется большой набор функций для работы с датой модификации файлов и поиском по директориям. +как добавить новую платформу я так и не разобрался.
Free Pascal уже давно используется для написания программ, но портировать сам компилятор трудно - там используется большой набор функций для работы с датой модификации файлов и поиском по директориям. +как добавить новую платформу я так и не разобрался.
А если MPC портировать? Или на Pascal написать новый и скомпилировать его в MPC.
MPC не поддерживает type и array. Хорошо, что string есть.
MPC и string толком не поддерживает, только для непосредственных параметров. Там нету типизации Я вроде бы уже писал, но ещё раз здесь напишу: на самом деле, типы уже поддерживаются (в тех исходниках, что есть у меня), но только на этапе парсинга. Генерация кода для них не происходит, и семантический анализ немного прихрамывает (например, проверка на совместимость типов).
Ну и чтобы уж совсем в кучу всё свалить, скажу, что я на этих выходных переехал на квартиру к одногруппнику, с которым мы этот компилятор писали. Так что теперь я вообще не вижу преград для продолжения разработки, за исключением свободного времени.
Ну и чтобы уж совсем в кучу всё свалить, скажу, что я на этих выходных переехал на квартиру к одногруппнику, с которым мы этот компилятор писали. Так что теперь я вообще не вижу преград для продолжения разработки, за исключением свободного времени.
А данную ссылку видели: http://www.kulichki.net/kit/O01eg wrote:Давайте хотя бы на Pascal компилятор напишем, у него лексика простая.
( Думаю полезна при паскаль компилятостроении)
В ресурсах приведенный перевод статей Креншоу также есть
с демонстрацией использования в качестве реализации
Форт языка ( ссылка есть на forth.org.ru)
Еще мне нравится такой подход
http://www.softcraft.ru/translat/etc/ru ... rstack.pdf
Почему-бы не реализовать компилятор языка Оберон?
Compiler Construction - N. Wirth [PDF (597 KB)]
Project Oberon - The Design of an Operating System and Compiler - N. Wirth and J. Gutknecht [PDF (4'398 KB)]
А здесь лежит ОС Native Oberon, вмещающаяся на дискету...
ИМХО, ей бы сделать GUI посимпатичнее...
А так, куча всего уже имеется, в том числе драйвера сетевух и сетевых протоколов.
Compiler Construction - N. Wirth [PDF (597 KB)]
Project Oberon - The Design of an Operating System and Compiler - N. Wirth and J. Gutknecht [PDF (4'398 KB)]
А здесь лежит ОС Native Oberon, вмещающаяся на дискету...
ИМХО, ей бы сделать GUI посимпатичнее...
А так, куча всего уже имеется, в том числе драйвера сетевух и сетевых протоколов.
Потому же почему бы не реализовать и паскаль ,и си++ ... компилеры
Я сейчас адаптирую RTL FreePascal для компиляции KOS программ. Местами получается. Затем продолжу переносить отдельные модули. Если задаться целью теоретически в течении недели можно перести сам компилятор в KOS, но я пока в этом не вижу смысла.
p.s. RTL я адаптирую для работы с консолью, оконная система в KOS очень слабая и просто многое придется делать самому, пока нет времени.
..bw
p.s. RTL я адаптирую для работы с консолью, оконная система в KOS очень слабая и просто многое придется делать самому, пока нет времени.
..bw
Подниму тему :-).
Уже некоторое время я обновляю код RTL на местном Subversion сервере. Чуть позже будут появляться примеры и документация (сейчас есть один пример и скудная документация по сборке RTL). Так же сегодня на местный же FTP сервер я выложил скомпилированный RTL. Это .o и .ppu файлы. Данную сборку можно считать альфой как гарантированно она работаеть только на машине разработчика :-). И некоторые элементы RTL все еще не реализованы (нет необходимости в них).
..bw
Уже некоторое время я обновляю код RTL на местном Subversion сервере. Чуть позже будут появляться примеры и документация (сейчас есть один пример и скудная документация по сборке RTL). Так же сегодня на местный же FTP сервер я выложил скомпилированный RTL. Это .o и .ppu файлы. Данную сборку можно считать альфой как гарантированно она работаеть только на машине разработчика :-). И некоторые элементы RTL все еще не реализованы (нет необходимости в них).
..bw
Паскаль! Эт гуд! Хотелось бы поддрержать проект! Но ассамблер плохо знаю(только начал изучать), а вот паскаль вроде бы знаком!
Все слова менее убедительны, чем удар клавиатурой по голове!
Можешь поддержать хорошим софтом :-). Когда RTL выйдет из состояния сильной альфы, я объявлю об этом и, если понадобится помогу разобраться как его использовать. Сейчас помимо RTL я занимаюсь другими разработками на FreePascal'е для KOS, это медиаплеер (KviD) и только начинаю разбираться с интерпретатором ECMAScript.
..bw
..bw
Последние месяцы я неспеша перезжал на Linux (Debian Etch). С прошедших выходных переезд можно считать законченным. Я вторую неделю обхожусь без винды, жить можно, но пока очень не комфортно мне в новой среде. Конечно же я не забыл по Kolibri. Вчера начал разбираться с компиляцией кода FreePascal из Linux в KolibriOS, уже сегодня удалось собрать несколько проектов. К сожалению у меня недостаточно времени что бы задокументировать процедуру кроскомпиляции, ни из винды, ни из линуха. Так же я постепенно перевожу пакеты на компиляцию make'ом.
..bw
..bw
"Когда RTL выйдет из состояния сильной альфы, я объявлю об этом и, если понадобится помогу разобраться как его использовать.".. когда же..
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Who is online
Users browsing this forum: No registered users and 4 guests