OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 19 Сентябрь, 2019 05:49

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 06 Июль, 2009 13:46 

Зарегистрирован: Понедельник, 06 Июль, 2009 13:37
Сообщения: 3
Перенесено из viewforum.php?f=61, по просьбе трудящихся :): viewtopic.php?p=34150#p34150
Я хочу написать программу, работающую на "голом железе". Какой мне для этого нужен компилятор и где его взять. Напишипе ссылки на них, названия таких компиляторов, пожалуйста...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 13:48 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3064
Откуда: Астрахань
1. На КАКОМ железе?
2. О чем прога?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 14:29 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Валерий Лаптев писал(а):
1. На КАКОМ железе?
2. О чем прога?

3. Какой язык программирования?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 17:44 

Зарегистрирован: Понедельник, 06 Июль, 2009 13:37
Сообщения: 3
Цитата:
. 1. На КАКОМ железе?
2. О чем прога?
3.Какой язык программирования?


Железо следующее:
  • CPU AMD Athlon 1700+ XP (K7) MMX, 3DNow Pro Socet-A FSB 266 МГц
  • MB Socet-A Gigabyte GA-7VA VIA KT400 AGP+Audio AC97+Lan U133 USB2.0 ATX 3D
  • NVIDIA GeForce4 MX440, DDR, TV-out
Хотя насколько я понимаю важен только тип процессора;

Прога - хочу написать свой собственный компилятор. Но чтоб работал на голом железе - надоели операционные системы (и грузятся долго и едят ресурсы, и делают непонятно-что... хочется чего-то своего).
Купил книжку "Языки программирограммирования и методы трансляции" С.З. Свердлова вот и загорелся желанием :lol: , но там проблема с генерацией кода для конкретных процессоров. Если кто видел ифу по этой теме - скажите где можно взять? :?:

Язык программирования - любой (хоть машинный код), лишь бы можно было по нему подробный и толковый самоучитель найти.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 18:47 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Александр писал(а):
Прога - хочу написать свой собственный компилятор. Но чтоб работал на голом железе - надоели операционные системы (и грузятся долго и едят ресурсы, и делают непонятно-что... хочется чего-то своего).
Первые компьютерные программы именно такими и были, работали на голом железе. Никаких операционных систем тогда не было. Лишь потом, когда люди обратили внимание, что во всех их программах дублируются большие куски кода, связанные с распределением ресурсов компьютера, вот тогда появились первые операционные системы. Сегодня только очень немногие и весьма специализированные программы работают на голом железе, такие как, например, системы управления полётом.

Александр, Ваше желание хоть и похвально, но несколько наивно. Попробую объяснить. Насколько я понял, Вы хотите использовать готовый компилятор (в качестве первичного). Но все современные компиляторы создают программы, которые могут исполняться под управлением какой-либо операционной системы. (Встроенные системы я здесь пока не рассматриваю.) Такая ОС называется целевой операционной системой, или целевой платформой. Впрочем, понятие платформы более широкое, оно включает в себя также архитектуру используемого процессора.
Та платформа, на которой "крутится" сам компилятор, называется инструментальной платформой. Если инструментальная и целевая платформы не совпадают, то такой компилятор называется кросскомпилятором.
Поясните, пожалуйста, под какую целевую платформу Вы планируете создавать свои приложения? Я имею в виду приложения, созданные написанным Вами компилятором. Сразу оговорюсь, что если Ваши программы также должны исполняться на голом железе, то на их плечи ложатся все функции операционной системы, такие как: запуск системы, распределение памяти, трансляция адресов, управление вычислительными потоками, инициализация устройств и т. д.
Всё это придётся писать в каждой программе. Таким образом, история для Вас повернётся вспять.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 19:40 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Александр писал(а):
Язык программирования - любой (хоть машинный код), лишь бы можно было по нему подробный и толковый самоучитель найти.

Ну тогда без вариантов -- только Хаскелл!
Литературы по Хаскеллу полно, придётся, конечно, немного повозиться, ну так это с любым языком придётся, зато как круто! :о) И очень, очень модно!!! ;о))
На хаскелле даже роботами управляют, и гибридными транспортными устройствами, и операционки на них делают легко!
Самое то для Вас, уверен!

Running Haskell on bare iron
Kinetic Operating System

Хаскелл -- Живая Математика! :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 20:12 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Да, безусловно компилятор хаскеля написать проще нежели компилятор любого другого языка, скажем того же Оберона.

Особенно если писать в машинных кодах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 21:13 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9139
Откуда: Россия, Орёл
Geniepro писал(а):
Хаскелл -- Живая Математика! :D



ОТ МОДЕРАТОРА

Если уважаемый Генийпро продолжит неуместную рекламу и гон чуши вроде процитированной, то получит бан. У него будет возможность больше читать книжек. И меньше смешить на этом форуме людей с физико-математическим образованием, которых здесь достаточно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 21:24 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Илья Ермаков писал(а):
Генийпро
Точнее, Джиннпро. http://lingvo.yandex.ru/en?text=genie&l ... anslate=on


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 23:46 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Да, безусловно компилятор хаскеля написать проще нежели компилятор любого другого языка, скажем того же Оберона.

Особенно если писать в машинных кодах.

Зачем? Чем GHC Вас не устроил? :P
А, ну да...
Цитата:
Прога - хочу написать свой собственный компилятор.

Похвально, похвально. Ну что ж, на Хаскелле сделать транслятор оберона по-любому проще будет (если с нуля делать), чем на самом обероне.
И кстати, думаю, компиляторы С++ и Ады таки посложнее будут в реализации, чем Хаскелла...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 23:56 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Удалено модератором. --- РБВ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 06 Июль, 2009 23:59 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9139
Откуда: Россия, Орёл
Кроме транслятора есть ещё и рантайм.

Язык - это абстрактная машина. Её реализация распадается на статическую компоненту и динамическую компоненту - на транслятор и поддержку исполнения. Но они должны быть очень хорошо согласованы.

Как всегда, опущены многие составляющие вопроса. После этого с чистой совестью делается вроде бы правильное утверждение. Лапша на уши.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 00:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9139
Откуда: Россия, Орёл
Удалено модератором. --- РБВ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 00:56 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Кроме транслятора есть ещё и рантайм.

Язык - это абстрактная машина. Её реализация распадается на статическую компоненту и динамическую компоненту - на транслятор и поддержку исполнения. Но они должны быть очень хорошо согласованы.

Как всегда, опущены многие составляющие вопроса. После этого с чистой совестью делается вроде бы правильное утверждение. Лапша на уши.


Справедливости ради стоит заметить что хаскелевский рантайм достаточно маленький и простой по сравнению с рантаймом Ады. Собственно рантайм хаскеля это что-то около 900 Кб кода на Цэ и Цэ--. Что сильно меньше компилятора и реализации библиотек.
Вот метрика ghc 6.10.3 (замечу что в ghc реализовано много сверх того что есть в haskell 98):
Код:
SLOC   Directory   SLOC-by-Language (Sorted)
117411  compiler        haskell=116981,ansic=396,perl=34
65630   libraries       haskell=59216,sh=3363,ansic=2947,yacc=71,perl=33
47445   rts             ansic=47021,cpp=299,asm=125
27699   utils           haskell=17523,perl=5534,ansic=3569,sh=424,yacc=340, lisp=291,csh=18
6152    includes        ansic=6152
2483    ghc             haskell=2482,sh=1
510     distrib         sh=510
222     docs            perl=222
204     driver          ansic=186,perl=18
25      top_dir         sh=25
21      mk              sh=21
3       bindisttest     haskell=3
1       gmp             sh=1
0       libffi          (none)

Totals grouped by language (dominant language first):
haskell:     196205 (73.26%)
ansic:        60271 (22.51%)
perl:          5841 (2.18%)
sh:            4345 (1.62%)
yacc:           411 (0.15%)
cpp:            299 (0.11%)
lisp:           291 (0.11%)
asm:            125 (0.05%)
csh:             18 (0.01%)

Total Physical Source Lines of Code (SLOC)                = 267,806


Собственно директория rts -- это и есть рантайм.

А в Аде одна многопоточность (а она должна реализовываться рантаймом) чего стоит... И реалтайм... И много чего ещё интересного.

В C++, кстати, рантайма почти и нет. Пожалуй его там меньше чем в том же CP.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 00:59 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9139
Откуда: Россия, Орёл
Так речь не про Хаскелл, аллах с ним и его рантаймом.
А про заявление, как легко писать компиляторы Оберонов на Хаскелле. Писать-то не только компилятор.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 01:14 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Так речь не про Хаскелл, аллах с ним и его рантаймом.
А про заявление, как легко писать компиляторы Оберонов на Хаскелле. Писать-то не только компилятор.

Ну, это смотря под какую машину. Если под какую-нибудь jvm, то рантайм считай уже есть. Если под текущий железный мейнстрим, то да, придется писать сборщик мусора, rtti и проч.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 07:32 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Удалено модератором. --- РБВ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 07:37 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Так речь не про Хаскелл, аллах с ним и его рантаймом.
А про заявление, как легко писать компиляторы Оберонов на Хаскелле. Писать-то не только компилятор.

За всё приходится платить. Имеете относительную несложность реализации оберона -- имеете и сам оберон с его примитивностью и неудобством.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 07:58 

Зарегистрирован: Понедельник, 25 Февраль, 2008 08:42
Сообщения: 125
Александр писал(а):
Я хочу написать программу, работающую на "голом железе". Какой мне для этого нужен компилятор и где его взять. Напишипе ссылки на них, названия таких компиляторов, пожалуйста...

Форт.

http://www.forth.org.ru/

http://ru.wikipedia.org/wiki/Forth_(язык_программирования)
http://habrahabr.ru/blogs/programming/29967/
http://www.forth.org.ru/forth/lit.html
http://forth.rhub.firstvds.ru/books.php
http://wiki.forth.org.ru/%D4%EE%F0%F2%C ... 1%F1%EE%F0


Последний раз редактировалось ain Вторник, 07 Июль, 2009 08:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Июль, 2009 08:11 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
ain писал(а):
Форт.
Мне встречалось мнению людей, серьёзно работавших с Фортом, что если нужно реализовать язык менее чем за две недели, то Форт идеален, но если времени больше -- то стоит подумать о другом языке...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB