<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2055534</guid>
        <pubDate>Wed, 27 Aug 2008 02:50:09 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2055534</link>
        <description><![CDATA[ch__: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=8810&view=findpost&p=2019066'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>zera &#064; <time class="tag-quote__quoted-time" datetime="2008-07-20T00:47:48+04:00">19.07.08, 20:47</time></span><div class='quote '>FCK, спасибо, огромное спасибо вам, товарищ, за то что не дали пропасть теме, последнее сообщение в которой было более четырех лет назад</div></div><br>
Прекрасная тема, получил море удовольствия  :P <br>
<br>
Вот этот отрывок особенно:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=8810&view=findpost&p=87769'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Glucker &#064; <time class="tag-quote__quoted-time" datetime="2002-08-22T14:23:13+00:00">22.08.02, 14:23</time></span><div class='quote '>А можно у вас кое-что спрость? Компилятор это очень хорошё, но на основе чего его можно написать? Я  никак не собирюсь с вами конкурировать, но я тоже написал мало-мальский язык программирования. Именно моло-мальский, он написа на VB, это очень медленно, и пока что он переводит свой код в код на VB, ПРИЧЁМ С КУЧЕЁ ОШИБОК&#33;&#33;&#33; И только после этого&#33;&#33; Компилирует&#33;</div></div><br>
АААААА&#33;&#33;&#33;1111 Компилирует&#33;&#33;&#33;&#33;&#33;&#33;11 Опасносте&#33;&#33;&#33;&#33;&#33;111<br>
<br>
Мне одному кажется, что это великолепно?  :lol:<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Сообщения были разделены в тему &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=300146' target='_blank'>реализовать язык прогр-я для работы с объектами</a>&quot;</span></span>]]></description>
        <author>ch__</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019574</guid>
        <pubDate>Sun, 20 Jul 2008 19:59:52 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019574</link>
        <description><![CDATA[Бляйштифт: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=8810&view=findpost&p=87786'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Trurl &#064; <time class="tag-quote__quoted-time" datetime="2003-03-27T15:04:19+00:00">27.03.03, 15:04</time></span><div class='quote '>Сам себя он уже компилит</div></div><br>
То есть?]]></description>
        <author>Бляйштифт</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019066</guid>
        <pubDate>Sat, 19 Jul 2008 20:47:48 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019066</link>
        <description><![CDATA[zera: <strong class='tag-b'>FCK</strong>, спасибо, огромное спасибо вам, товарищ, за то что не дали пропасть теме, последнее сообщение в которой было более четырех лет назад. искренне надеюсь, что ваша страсть к кладоискательству будет грамотно оценена модераторами форума. <br>
еще раз спасибо вам.]]></description>
        <author>zera</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019058</guid>
        <pubDate>Sat, 19 Jul 2008 20:36:53 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=2019058</link>
        <description><![CDATA[FCK: на no.spam.rambler@rambler.ru вышли плиз]]></description>
        <author>FCK</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=404324</guid>
        <pubDate>Fri, 16 Jul 2004 10:08:59 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=404324</link>
        <description><![CDATA[[:neo:]: вышли исходники плз на qaka@mail.ru]]></description>
        <author>[:neo:]</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=343854</guid>
        <pubDate>Fri, 23 Apr 2004 04:10:18 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=343854</link>
        <description><![CDATA[Shirenin: Решил тоже поделится<br>
 Для своего проекта сотворил компилятор наподобие С++ только добавил своих типов данных, да и математике немного. В частности окромя booleana b complex по причине сути проекта добавились подтипы stream, common, in, out префекс обозначаюший что переменные могут быть связаны с переменными другого процесса - эт я к вопросу зачем компилятор переписывать(переменные эти по другим правилам живут немного);<br>
 Плюс добавил матричную арифметику - например int a[.3.] ; complex c [.1.] - a трехмерная матрица ( вектор матриц )целых чисел  а с - вектор комплексных. Проект просто под математику затачивалась, но по жизни работать с матрицами удобно и без математики. Можно даже матрицу классов создать - вроде все ок будет . Еще там реализовано динамическое назначение функций т.е. например<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;</div><div class="code_line">int sqr(int x)=x*x;</div><div class="code_line">//sqr(3)=9</div><div class="code_line">sqr((int)a) // впрочем пока надо равно после скобок писать скоро устраню</div><div class="code_line">{</div><div class="code_line">return a;</div><div class="code_line">}</div><div class="code_line">//sqr(3)=3</div><div class="code_line">sqr(b)+=b;// если определено например sqr(int) и sqr(double) - ошибка будет</div><div class="code_line">//sqr(3)=6</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Кстати про booalen - инт в него то же при особой необходимости конвертается но особая как бы фишка в умножении при умножении на него он сохраняет значение если он TRUE и делает 0 если FALSE так наприме функция<br>
int sign(double x)=[1,-1]*[x&gt;0,x&lt;0]; //получить знак или<br>
int max(int a,int b)=a+(b-a)*(b&gt;a); //получить наибольшее <br>
В целом же см выше изначально приспосабливал для описания кусочно заданных формул.<br>
<br>
Компиляции как таковой правда нет все транслируется в шитый код который потом шустро крутится. Для промежуточных данных используется 2 стека - арифметический там локальные переменные промежуточные данные и так далее(в edi хранится) и програмный - там управление программой(в esp хранится) . Если интересно попробую оторвать его от проекта и дать в отдельном виде или проект доделать - что б там визуальная среда (написанная кстати на этом же языке как и десктоп и оконная беблиотека) появилась.<br>
З.Ы. Кстати шитый код и продеференцировать можно и поиздеваться как-нибудь еще или например передать другой части этой программы по сети которая не на x86 работает( это я так замечтался  ;) ). Впрочем он мне необходим еще и потому, что система в реальном режиме запускает сразу несколько потоков шитого кода на исполнения - между ними переключаться легко да и контролировать их.]]></description>
        <author>Shirenin</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=314824</guid>
        <pubDate>Fri, 12 Mar 2004 05:22:44 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=314824</link>
        <description><![CDATA[zheromo: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
если можешь отправь мне &#33;&#33;<br>
просто срочно очень нужно<br>
</div></div><br>
<br>
Компилятор с сорцами и примерами доступен на <a class='tag-url' href='http://d2lang.by.ru/' target='_blank'>странице языка</a><br>
К соообщению прикрепил сорцы<br>
<br>
<a class='tag-url' href='http://d2lang.by.ru/man/manual.html' target='_blank'>Описание языка</a>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=314388</guid>
        <pubDate>Thu, 11 Mar 2004 12:34:26 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=314388</link>
        <description><![CDATA[Olej: <em class='tag-i'><br>
Очень полезно было бы написать компилятор формул, типа на вход принимается строка типа х*х+10*у, потом &quot;x&quot;, &quot;y&quot; - переменные, 1, 2 - значение переменных, а на выходе - 21 - значение функции.<br>
</em><br>
<br>
А это - в Windows: Пуск - Программы - Стандартные - Калькулятор.<br>
<br>
<em class='tag-i'><br>
Еще неплохо, что-бы искало все частные производные, типа, говорю - дай производную по х, и получаю строчку 2 *х. Если есть у кого-то, вышлите, пожалуйста на почту burda_r#mail.ru, где №=@/<br>
</em><br>
<br>
А это - MathCad.<br>
<br>
А вообще всё это - &quot;пишем компиляторы с языка, названия которому я не знаю...&quot; - <strong class='tag-b'>детский сад</strong>&#33;<br>
<br>
Сначала специфицируется язык, а потом ... может и компилятор писать расхочется. Посмотрите - интересная статья:<br>
<br>
<a class='tag-url' href='http://www.uni-vologda.ac.ru/cs/syntax/ariphm.htm' target='_blank'>http://www.uni-vologda.ac.ru/cs/syntax/ariphm.htm</a><br>
<a class='tag-url' href='http://www.uni-vologda.ac.ru/cs/syntax/index.html' target='_blank'>http://www.uni-vologda.ac.ru/cs/syntax/index.html</a><br>
<br>
- что выросло из многодесятилетнего желания (в отличии от авторов, которым пару месяцев назад приспичило...) писать языки и компиляторы.]]></description>
        <author>Olej</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=313859</guid>
        <pubDate>Wed, 10 Mar 2004 16:39:54 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=313859</link>
        <description><![CDATA[Роман Бурда: Очень полезно было бы написать компилятор формул, типа на вход принимается строка типа х*х+10*у, потом &quot;x&quot;, &quot;y&quot; - переменные, 1, 2 - значение переменных, а на выходе - 21 - значение функции. Еще неплохо, что-бы искало все частные производные, типа, говорю - дай производную по х, и получаю строчку 2 *х. Если есть у кого-то, вышлите, пожалуйста на почту burda_r#mail.ru, где №=@/ Спасибо]]></description>
        <author>Роман Бурда</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=307973</guid>
        <pubDate>Mon, 01 Mar 2004 05:53:55 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=307973</link>
        <description><![CDATA[pleez: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo &#064; 11.07.02, 11:25</span><div class='quote '>пишу компилятор с собственного языка<br>
интересно, занимается ли этим кто-нибудь еще?<br>
если интересно - вышлю исходники компилятора и описание языка</div></div><br>
если можешь отправь мне &#33;&#33;<br>
просто срочно очень нужно<br>
prostak_p@mail.ru :D]]></description>
        <author>pleez</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87798</guid>
        <pubDate>Thu, 07 Aug 2003 00:13:30 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87798</link>
        <description><![CDATA[Yanis: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo, 11.07.02, 12:25:19</span><div class='quote '>пишу компилятор с собственного языка<br>интересно, занимается ли этим кто-нибудь еще?<br>если интересно - вышлю исходники компилятора и описание языка</div></div><br>Компиляторы не пишу, но очень инетресно было бы посмотреть и изучить.<br>Идея у вас очень хорошая, так держать. Надеюсь ваш проект найдёт продолжение и развитие.<br>Всего....]]></description>
        <author>Yanis</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87797</guid>
        <pubDate>Tue, 29 Jul 2003 12:03:23 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87797</link>
        <description><![CDATA[ruli: если можно вопрос, а почему не изобрести компилятор другого типа, например компилит с рисунков, а именно... штот-о на подобие УМЛ, если быть точьнее Ратионал Розе, ведь последнее слово идёт за аналитическими компиляторами а?]]></description>
        <author>ruli</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87796</guid>
        <pubDate>Sun, 27 Jul 2003 08:01:12 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87796</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Misha Muhin, 23.07.03, 21:57:13</span><div class='quote '>а сколько написание языка(компилятора) занимает по времени? </div></div><br>у меня заняло несколько месяцев. но вообще то вопрос того, сколько часов в день можно выделить для написания.<br>Также много зависит от того, насколько мощный язык должен быть реализован.]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87795</guid>
        <pubDate>Wed, 23 Jul 2003 17:57:13 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87795</link>
        <description><![CDATA[Misha_Muhin: а сколько написание языка(компилятора) занимает по времени?]]></description>
        <author>Misha_Muhin</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87794</guid>
        <pubDate>Thu, 12 Jun 2003 07:05:47 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87794</link>
        <description><![CDATA[shadeofgray: Вот кстати, прикольная штука у меня есть: код<br><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;br&#62;procedure a;&#60;br&#62;var&#60;br&#62; &nbsp; &nbsp;i &nbsp; : &nbsp; Integer;&#60;br&#62;begin&#60;br&#62; &nbsp; &nbsp;i:=0;&#60;br&#62; &nbsp; &nbsp;repeat&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp;i:=i+1;&#60;br&#62; &nbsp; &nbsp;until i&#62;10;&#60;br&#62;end;&#60;br&#62;</div></ol></div></div></div></div><br>при трансляции на С++ становится<br><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;br&#62;void a()&#60;br&#62;{&#60;br&#62; &nbsp; &nbsp;int i;&#60;br&#62;&#60;br&#62; &nbsp; &nbsp;i = 0;&#60;br&#62; &nbsp; &nbsp;do&#60;br&#62; &nbsp; &nbsp;{&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp;i = i+1;&#60;br&#62; &nbsp; &nbsp;}&#60;br&#62; &nbsp; &nbsp;while(i&#60;=10);&#60;br&#62;}&#60;br&#62;</div></ol></div></div></div></div><br><br>обрати внимание на то, как изменилось условие цикла until/while.]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87793</guid>
        <pubDate>Tue, 10 Jun 2003 09:22:07 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87793</link>
        <description><![CDATA[Leprecon: Названия нет :) Это всегда для меня сложно было придумывать.<br>Стандартные типы так и реализованы - средствами самого языка. Т.е. в типе double еще реализованы операторы +, -, * и т.д. как в C++, только тела таких операторов написаны на небольшом встроенном асме. В самом кмопиляторе нет ни одного типа. В нем есть только константы. <br>Да, уже компилирует. Только это у меня не ехе, а дллка, которая экспортирует функцию void compile(char* makefile); и еще несколько структур и классов для работы со скомпилированным модулем.]]></description>
        <author>Leprecon</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87792</guid>
        <pubDate>Tue, 10 Jun 2003 07:20:38 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87792</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вот вроде рассказал все что у меня реализованно.</div></div><br>Эта штука у тебя уже есть в виде экзешника, который работает и компилирует модули? Т.е. уже можно что-нить откомпилить и запустить на выполнение?<br><br>Кстати, вот ты говоришь - &quot;Типы имеют только методы, но не имеют членов ..... Cделано это чтобы реализовать классы стандартных типов&quot;. Я правильно понял, что у тебя стандартные типы данных реализованы только средствами самого языка, т.е. есть исходник скажем типа double, который поддерживает всякие операции над ним?<br><br>Кстати, хочу поделиться интересным техническим решением. У меня один знакомый тоже пишет компилер (урожайная на них будет осень :) ). &nbsp;Он считает, что в языке не должно быть встроенных типов данных - всё должно быть реализовано средствами языка. Программы у него модульные, в качестве модулей, по-моему, используются DLL-ки. Каждый модуль может экспортировать реализуемые в нем типы данных. Ну и чтобы решить проблему с реализацией стандартных типов, он создает специальный модуль stdtypes - создает его не средствами своего языка, а при помощи другого (кажется, асм). Т.е. этот модуль экспортирует стандартные типы, как и любой модуль его языка, но только он создан не при помощи компиляции исходного текста на этом самом языке (по-моему, его ещё никак не зовут).<br><br>Да, а как называется твой язык (если у него уже есть название)?]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87791</guid>
        <pubDate>Tue, 10 Jun 2003 01:56:48 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87791</link>
        <description><![CDATA[Leprecon: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>shadeofgray, 10.06.03, 00:38:25</span><div class='quote '>а на какой стадии у тебя процесс сейчас?</div></div>Сначало скажу что он из себя представляет. Компилирует он модули. Нечто немного смахивающее на дллки. В них есть несколько сегментов. <br>1. Инфа <br>2. Импорт - модули, которые надо подгрузить для работы этого.<br>3. Список типов, классов и структур в этом модуле. Про каждый из них есть инфа о названии всех методов, переменных и т.д. Т.е. RTTI<br>4. Список функций и методов. Тоже вместе с RTTI<br>5. Список переменных и констант. Аналогично.<br>6. Данные. Т.е. реальные значения элементов из сегмента 5.<br>7. Сегменты кода. На него ссылаются функции из 4.<br>Компилируются функции в байт код, который при загрузке модуля переводится в машинный код и линкуется. Сегментов кода у меня несколько видов предусмотрено. Но реализованно пока три. <br>1. Байт код который просто переводится в машинный.<br>2. Сегмент для специальных математических функций. Это функции такого вида:<br>double f(double x,double y) = x*x + y; Здесь функции хранятся в виде польско инверсной записи. По которой либо строится машинный код, либо можно к примеру построить производную этой функции.<br>3. Сегмент машинного кода. Перевода при загрузке модуля для него не требуется. Этот сегмент есть, но компиляция для него еще не реализована. <br><br>Переменные как в java - только ссылки на реальные объекты. Экземпляр выглядит так:<br>1. Кол-во ссылок на него.<br>2. Указатель на RTTI структуру.<br>3. Сами даные. <br>Есть такая вещь как типы:<br>type A <br>{<br>     data(4);<br>     double f();<br>}<br>Типы имеют только методы, но не имеют членов. Зато внутри типа можно указать размер его данных - например data(8); Cделано это чтобы реализовать классы стандартных типов. Т.е. double, int и т.д.<br>Например:<br>type double<br>{<br>     data(8);<br>     string ToStr();<br>}<br>Удобно использовать такие переменные (т.е. double d) как классы. Например: <br>string str = d.ToStr(); Но переменные в них запрещены. <br>Есть еще константы. Константы имеют только данные этого Типа или Класса. Но не имеют кол-ва ссылок на экземпляр и ссылки на RTTI. Но они пока не реализованы. Реализовано только их использование в арифметических выражениях: x*0.1 + 0.2; А компиляция констант: const double Pi = 3.14; еще нет.<br><br>Вот вроде рассказал все что у меня реализованно.]]></description>
        <author>Leprecon</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87790</guid>
        <pubDate>Mon, 09 Jun 2003 20:38:25 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87790</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>В глобальном пр-ве имен это выглядит очень полезным. А как быть внутри функции? <br>void f() <br>{ <br>    .... <br>    for(n=0; n&lt;0; n++) <br>    { <br>    } <br>    ... <br> <br> <br>    // И где нибудь в конце функции: <br>    int n; <br>}  <br>Выглядит это как-то неочень</div></div><br>ну, так у меня ж Паскаль - а там объявления только в начале подпрограммы, в отдельном разделе. А вообще, как я уже говорил - это довольно специфичный язык программирования. Он приспособлен для хранения математических алгоритмов с возможностью автоматического перевода. А всё, что не укладывается в эти две концепции, я просто выкинул из языка :)  Так, нет приведения типов - у меня только три типа - целый, вещественный и булевый. Нечего приводить, по сути дела.<br><br><br>Думаю, во второй версии я часть выкинутого верну обратно... но пока у меня другая задача - закачать первую версию на сайт библиотеки алгоритмов, для которого я собственно это и делал. Ну и разобраться с переводом уже имеющихся алгоритмов. Владимир (автор сайта) сейчас как раз сподвигается мной на предмет этого. Надо будет его сегодня утречком повопрошать...<br><br><br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вобщем-то у меня тоже компилятор пишется помаленьку</div></div><br>а на какой стадии у тебя процесс сейчас? <br>я первую версию своего уже закончил (даже не верится). Теперь надо будет перевод ещё на пару языков добавить. С++ и delphi уже есть, думаю, может взять С# и Visual Basic...<br><br><br>кстати, всем желающим посмотреть - транслятор лежит на shadeofgray.narod.ru]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87789</guid>
        <pubDate>Sat, 07 Jun 2003 08:27:45 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87789</link>
        <description><![CDATA[Leprecon: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>shadeofgray, 20.01.03, 13:03:26</span><div class='quote '>В языке отсутствуют опережающие объявления – транслятор многопроходный. </div></div>Расскажи про это поподробнее, пожалуйста? В глобальном пр-ве имен это выглядит очень полезным. А как быть внутри функции?<br><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void f()&#60;br&#62;{&#60;br&#62;    ....&#60;br&#62;    for(n=0; n&#60;0; n++)&#60;br&#62;    {&#60;br&#62;    }&#60;br&#62;    ...&#60;br&#62;&#60;br&#62;&#60;br&#62;    // И где нибудь в конце функции:&#60;br&#62;    int n;&#60;br&#62;}</div></ol></div></div></div></div>Выглядит это как-то неочень :)<br><br>Вобщем-то у меня тоже компилятор пишется помаленьку :) Так же как у тебя глобальные объявления могут находиться где-угодно. Но вот функции у меня пока, есть только такого вида: f(x,y) = x*x + sin(y)/ x+ ....; Вот я и думаю, что делать с объявлениями переменных внутри функций типа: f(x,y) { ... }<br><br>И расскажи как ты делал приведение типов в арифметический выражениях:<br>ведь не зная заранее что из себя представляет идентификатор 'a', такую конструкцию просто так не пропарсишь:<br>(a) -b       это может приведение переменной -b  к типу a. А может быть вычитание (a) и b  ::)<br>Я избавился от этого просто выкинув некоторые виды конструций из своего языка.  Т.е. в этом случае это будет именно вычитание. Но если в конце окажется что 'a' - это тип, а не переменная, то будет Error: Undefined identifer <br><br>Не помню точно как в паскале, но там тоже самое может быть:<br>a(b) - то ли приведение типа, толи функция.]]></description>
        <author>Leprecon</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87788</guid>
        <pubDate>Tue, 03 Jun 2003 04:14:05 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87788</link>
        <description><![CDATA[zheromo: Если про d2 - то императивный, прктически чисто процедурный]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87787</guid>
        <pubDate>Sat, 17 May 2003 06:47:41 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87787</link>
        <description><![CDATA[AleXXKSyS: Какой класс языка ? Императивный,как С Pascal и т.д, или декларативный, как например Prolog ?]]></description>
        <author>AleXXKSyS</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87786</guid>
        <pubDate>Thu, 27 Mar 2003 15:04:19 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87786</link>
        <description><![CDATA[trurl: Ну, дык, и я туда же... И тоже для своего языка - дикая помесь &nbsp;Pascal, Oberon и черт<br>знает чего еще. Сам себя он уже компилит, но заброшен.<br>Потому как хочется чего-то красивого, а выходит как всегда...]]></description>
        <author>trurl</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87785</guid>
        <pubDate>Fri, 31 Jan 2003 08:44:38 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87785</link>
        <description><![CDATA[Alex_: <br>Исходники я пока не планирую распостранять..<br>Хочу перевести мой проект в Shareware, и попробовать заработать на нем немного денег.<br><br> :)<br>]]></description>
        <author>Alex_</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87784</guid>
        <pubDate>Wed, 29 Jan 2003 16:12:11 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87784</link>
        <description><![CDATA[SergeS: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Alex_, 29.01.03, 16:54:14</span><div class='quote '><br>Я тоже написал свой компилятор...<br>VBScript в EXE..  <br>Первую версию можно скачать на http://scriptcom.narod.ru/ <br>Она оказалась немного неудачной. Проектные ошибки в реализации Run-time Library.<br>Сейчас делаю вторую версию, примерная схема тут http://scriptcom.narod.ru/rtl.html <br>Выложу первый релиз где то через месяц<br><br> :)<br><br></div></div><br><br>Сорцы есть?<br>]]></description>
        <author>SergeS</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87783</guid>
        <pubDate>Wed, 29 Jan 2003 13:54:14 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87783</link>
        <description><![CDATA[Alex_: <br>Я тоже написал свой компилятор...<br>VBScript в EXE.. &nbsp;<br>Первую версию можно скачать на http://scriptcom.narod.ru/ <br>Она оказалась немного неудачной. Проектные ошибки в реализации Run-time Library.<br>Сейчас делаю вторую версию, примерная схема тут http://scriptcom.narod.ru/rtl.html <br>Выложу первый релиз где то через месяц<br><br> :)<br><br>]]></description>
        <author>Alex_</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87782</guid>
        <pubDate>Thu, 23 Jan 2003 21:20:36 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87782</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo, 22.01.03, 10:13:19</span><div class='quote '>Если это возможно, очень хотелось бы познакомится с полным описанием языка и его реализацией.<br></div></div><br>Как только будет возможно. Сейчас, увы, из описания у меня есть только файлы с лексикой и грамматикой (для Flex и Yacc). В принципе могу выслать, но не думаю, что из них можно узнать что-то новое - язык намеренно сделан максимально похож на Паскаль. <br>А работу над реализацией, увы, тормознула сессия. Идет, но медленнооооо...]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87781</guid>
        <pubDate>Wed, 22 Jan 2003 07:13:19 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87781</link>
        <description><![CDATA[zheromo: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>shadeofgray, 20.01.03, 13:03:26</span><div class='quote '>А книга была в электронной или бумажной форме? Если в электронной, то нельзя ли дать ссылку?<br></div></div><br><br>К сожалению книга была hardware<br>В библиотеке я ее брал - проблем не было<br>У тех же авторов есть и более ранние издания, например <strong class='tag-b'> Ахо, Ульман. Теория синтаксического анализа, перевода и компиляции. М.:Мир, 1978. т.1,2.</strong><br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>shadeofgray, 20.01.03, 13:03:26</span><div class='quote '>1. Основным назначением языка AlgoPascal является хранение алгоритмов (в основном математического характера) и перевод на как можно большее число языков программирования.<br></div></div><br><br>Если это возможно, очень хотелось бы познакомится с полным описанием языка и его реализацией.<br>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87780</guid>
        <pubDate>Mon, 20 Jan 2003 10:03:26 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87780</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo, 20.01.03, 10:57:03</span><div class='quote '>2 B@G да, книга отличная, я ее тоже читал, вещь!</div></div><br>А книга была в электронной или бумажной форме? Если в электронной, то нельзя ли дать ссылку?<br><br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo, 20.01.03, 10:57:03</span><div class='quote '>Очень интересное направление в построении трансляторов, хотел бы побольше узнать о Вашей работе. Больше всего меня интересует, как будет обрабатываться семантика функций на различных языках, т.е. например в Паскале используется Write в C - printf, в Basice - print, как они будут сопоставляться между собой?</div></div><br>1. Основным назначением языка AlgoPascal является хранение алгоритмов (в основном математического характера) и перевод на как можно большее число языков программирования. Перевод должен быть читабельным и выглядеть именно как перевод, а не результат дизассемблирования. Задача компиляции не ставится. <br><br>2. Язык получается из Паскаля путем удаления части возможностей и добавления малого числа новых. <br><br>3. Удаляются возможности, по разному реализуемые в разных языках программирования (или реализуемые не во всех - вроде записей с вариантами, в VB они кажется не могут создаваться). Также удаляются возможности, не являющиеся необходимыми для поставленной задачи – классы были бы удалены, даже если бы все языки программирования поддерживали классы. Часть возможностей удаляется ввиду того, что мне всё это одному писать :) но многие я бы не включил, даже если бы работал в команде из сотни энтузиастов.<br><br>4. Добавляются возможности, наличие которых требуется спецификой задачи. Так, в модуль добавлен раздел declaration – в нем помещаются объявления тех процедур и функций, реализации которых не имеют отношения к сути алгоритма – скажем, функция сравнения в алгоритме сортировки или функция оценки качества решения в алгоритме стохастической оптимизации. Эти подпрограммы являются аналогом абстрактных методов – в самом алгоритме не реализованы, а реализуются пользователем, адаптирующим алгоритм под свои нужды.<br><br><br>Краткое описание структуры модуля:<br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br><strong class='tag-b'>unit</strong>  ИмяМодуля;<br><br><br><strong class='tag-b'>declaration</strong><em class='tag-i'>//внешние переменные, процедуры и функции.</em><br><br><strong class='tag-b'> var</strong><br><em class='tag-i'>//объявления переменных </em><br><br><em class='tag-i'>//<span class='tag-u'>объявления</span> процедур и функций</em><br><br><br><strong class='tag-b'>interface</strong> Имя1, …, ИмяN; <em class='tag-i'>//список имен, доступных пользователю алгоритма </em><br><br><br><strong class='tag-b'>implementation</strong><br><br><strong class='tag-b'>const </strong><br><em class='tag-i'>//Объявления констант.</em><br><br><strong class='tag-b'> var</strong><br><em class='tag-i'>//Объявления переменных </em><br><br><em class='tag-i'>//<span class='tag-u'>описания</span> процедур и функций</em><br></div></div><br><br>В языке отсутствуют опережающие объявления – транслятор многопроходный. <br><br>Из скалярных типов данных поддерживается только три: Boolean, Integer, Real. Детали реализации типов данных могут меняться от языка к языку. Integer может быть как 32- так и 64- или 16-разрядным   -   определить это внутри алгоритма невозможно. Аналогичная ситуация и с вещественным типом.<br><br>Из сложных типов данных поддерживается только многомерный динамический массив. Нумерация элементов не обязательно начинается с нуля. Строк пока нет и не уверен, что будут – не нравятся мне отличия в нумерации C/Pascal, будет источник путаницы.<br><br>Параметры могут передаватся как по значению, так и по ссылке или константной ссылке.<br><br>Функциональность стандартных библиотек ограничена математикой. (Как раз о Write/Print/printf). Ввод-вывод и прочее удалены по принципиальным соображениям. Впрочем, если алгоритм этого потребует, можно будет поместить объявление функции ввода/вывода в раздел declaration, а потом после трансляции написать функцию-адаптер, которая будет реализовывать объявленную функцию и служить посредником между библиотечными функциями и алгоритмом.<br><br><br><br>Теперь о переводе:<br>Если язык это позволяет, будет генерироваться класс, реализующий данный алгоритм. Интерфейсные подпрограммы и данные будут открытыми членами, внутренние – закрытыми, а объявленные в разделе declaration – абстрактными. Заодно будет решена проблема многопоточности и реэнтерабельности алгоритма.<br>С динамическими массивами придется повозиться – в Дельфи, скажем, нижняя граница – всегда ноль. Придется писать класс-адаптер. Но есть причины, по которым нижняя граница должна быть варьируемой. При трансляции в С, боюсь, придется пользоваться макросами для доступа к элементам массива. А вот VB в этом плане проблем не вызовет.<br>]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87779</guid>
        <pubDate>Mon, 20 Jan 2003 07:57:03 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87779</link>
        <description><![CDATA[zheromo: Извините что долго не отвечал<br><br> &nbsp;<br> <br>2 B@G да, книга отличная, я ее тоже читал, вещь!<br><br>2 NadZ<br>Спасибо. С огромным интересом посмотрю &nbsp;Ваши исходники.<br> <br>2 shadeofgray<br>Очень интересное направление в построении трансляторов, хотел бы побольше узнать о Вашей работе. Больше всего меня интересует, как будет обрабатываться семантика функций на различных языках, т.е. например в Паскале используется Write в C - printf, в Basice - print, как они будут сопоставляться между собой?<br><br><br> <br>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87778</guid>
        <pubDate>Fri, 17 Jan 2003 12:50:17 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87778</link>
        <description><![CDATA[shadeofgray: а я помаленьку пишу транслятор. Действительно помаленьку, когда есть свободное время (а его немного). По задумке эта штуковина предназначена для написания программ, занимающихся математическими расчетами и будет транслировать с некоторого подмножества Паскаля на большинство современных языков программирования (прям наполеоновские планы). Причем транслировать с сохранением вида и читабельности выражений.<br>Подмножество языка выбрано так, что программы можно будет переводить даже на VisualBasic.]]></description>
        <author>shadeofgray</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87777</guid>
        <pubDate>Thu, 26 Dec 2002 00:26:47 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87777</link>
        <description><![CDATA[NadZ: Видел d2. Неплохо. Даже понравилось.<br>Мы с друзьями когда-то писали компилер, но он был под Юних и <br>за основу были взяты Byacc и Bizon.<br>Если хочешь, могу пошукать исходники [все писалось на С].<br>]]></description>
        <author>NadZ</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87776</guid>
        <pubDate>Tue, 26 Nov 2002 10:06:48 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87776</link>
        <description><![CDATA[B@G: У нас преподавали теорию компиляторов по книге Ахо, Ульман &quot;Компиляторы&quot; - конкретный фундаментальный труд. Очень советую &nbsp;;)]]></description>
        <author>B@G</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87775</guid>
        <pubDate>Sat, 02 Nov 2002 15:43:21 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87775</link>
        <description><![CDATA[Jin X: Спасибо, как смогу зайти на FTP (а то сейчас он что-то не пашет) - скачаю :)]]></description>
        <author>Jin X</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87774</guid>
        <pubDate>Wed, 30 Oct 2002 06:23:34 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87774</link>
        <description><![CDATA[zheromo: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Jin X, 23.10.02, 22:41:11</span><div class='quote '>Было бы интересно посмотреть исходник компилятора....<br>Закинь на ftp://copyhere.by.ru:ByBy@ftp.by.ru/upload/D2src , если не трудно....</div></div><br>Вроде там...<br>А так заходите на http://d2.plex.ru или http://d2lang.chat.ru - там лежит все, что касаемо языка]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87773</guid>
        <pubDate>Wed, 23 Oct 2002 18:41:11 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87773</link>
        <description><![CDATA[Jin X: Было бы интересно посмотреть исходник компилятора....<br>Закинь на ftp://copyhere.by.ru:ByBy@ftp.by.ru/upload/D2src , если не трудно....]]></description>
        <author>Jin X</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87772</guid>
        <pubDate>Tue, 22 Oct 2002 02:49:42 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87772</link>
        <description><![CDATA[zheromo: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Dr_Freeman, 06.10.02, 07:59:40</span><div class='quote '> У меня кое-что есть про компиляторы:<br>В.А.Серебряков &quot; Лекции по конструированию компиляторов&quot;<br>306 Kb - txt<br>Кому надо, могу закачать...<br></div></div><br>Эта, а также куча другой литературы есть на http://kit.kulichki.net посмотрите также ссылки на странице моего языка http://d2lang.by.ru в разделе http://d2lang.by.ru/library.html<br>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87771</guid>
        <pubDate>Sun, 06 Oct 2002 03:59:40 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87771</link>
        <description><![CDATA[Dr_freeman: У меня кое-что есть про компиляторы:<br>В.А.Серебряков &quot; Лекции по конструированию компиляторов&quot;<br>306 Kb - txt<br>Кому надо, могу закачать...<br>========cut==============<br>книга основана на курсе лекций,<br>прочитанных автором &nbsp;на факультете вычислительной математики и<br>кибернетики Московского &nbsp;государственного университета в 1991-<br>1993 &nbsp;гг. &nbsp; <br>========cut==============]]></description>
        <author>Dr_freeman</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87770</guid>
        <pubDate>Mon, 26 Aug 2002 08:29:51 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87770</link>
        <description><![CDATA[zheromo: &gt;Glucker<br><br>Очень хороший сайт про построение компиляторов http://kit.kulichki.ru<br>куча документации и etc<br><br>несколько ссылок есть на стрнице моего языка http://d2lang.by.ru<br>там же есть исходники компилятора<br><br>писать компилятор на ассемблере не нужно, на мой взгляд, вообще<br>подойдет и VB и ObjectPascal и C++<br>идея переводить на какой-нибудь язык высокого уровня не нова и очень даже ничего, в зависимости от того, что нужно, просто изучить вопрос или решить конкретную проблему, смотря какую, конечно<br>ассемблер знать нужно если как продукт компилятора будет генерится машинный код или текст на асме, что в принципе одно и то же<br><br>можно посмотреть, что это за компилятор, исходники его?<br><br>с уважением,<br>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87769</guid>
        <pubDate>Thu, 22 Aug 2002 14:23:13 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87769</link>
        <description><![CDATA[Glucker: А можно у вас кое-что спрость? Компилятор это очень хорошё, но на основе чего его можно написать? Я &nbsp;никак не собирюсь с вами конкурировать, но я тоже написал мало-мальский язык программирования. Именно моло-мальский, он написа на VB, это очень медленно, и пока что он переводит свой код в код на VB, ПРИЧЁМ С КУЧЕЁ ОШИБОК!!! И только после этого!! Компилирует! Естестветто потом возникает много проблем. Я думаю написть компилятор для этого языка на ASSEMBLER, но для этого нужно сначала изучить ASSEMBLER? Посоветуйте что-либо.]]></description>
        <author>Glucker</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87768</guid>
        <pubDate>Mon, 05 Aug 2002 07:36:15 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87768</link>
        <description><![CDATA[zheromo: Куда? &nbsp;;)<br>Сорс лежит на страничке языка: http://d2lang.by.ru по адресу http://d2lang.by.ru/files/d2x86src.zip<br>Спасибо за интерес к моему языку]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87767</guid>
        <pubDate>Sun, 04 Aug 2002 17:21:13 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87767</link>
        <description><![CDATA[idinkin: Вышли сорс пожалуйста &nbsp;;)]]></description>
        <author>idinkin</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87766</guid>
        <pubDate>Wed, 24 Jul 2002 03:43:21 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87766</link>
        <description><![CDATA[zheromo: Д2 - это язык программирования высокого уровня. Предками языка, оказавшими на него наибольшее влияние, можно назвать Forth, Pascal (Modula-2, Oberon) и С. Язык был задуман как обладающий намеренно простым синтаксисом и возможно большей расширяемостью. Первое было достигнуто за счет сокращения до реального минимума управляющих конструкций, и отказа от такого понятия современных языков алголоидного типа как тип данных, однако же, был оставлен &quot;классический&quot; синтаксис языка типа Pascal. Формально язык содержит единственный тип данных - указатель. Косвенно поддерживаются такие типы как числа и строки символов. Второе, т.е. расширяемость, было достигнуто за счет введения понятия библиотеки или модуля, а также, в основном за счет внутреннего устройства ядра языка идею которого он позаимствовал у Forth ( http://www.forth.org.ru ), хотя это скорее вопросы реализации, чем синтаксиса... Язык поддерживает такие понятия как процедура (векторная процедура), локальные и глобальные переменные, параметры. В языке нет каких либо предопределенных операций и функций кроме, как я уже отмечал, операций управления процессом исполнения. Все функции ввода-вывода, математические, процедуры работы с графикой и т.д. поставляются в виде библиотек и в исходных текстах.<br><br>По поводу расширяемости:<br> &nbsp;1). стандартный императивный подход<br> &nbsp; &nbsp; &nbsp;создание новых процедур которые могут выступать в роли<br> &nbsp; &nbsp; &nbsp;постфикс/инфиксных операторв (с учетом приоритетов)<br> &nbsp; &nbsp; &nbsp;процедуры могут переопределятся (как статически, так и<br> &nbsp; &nbsp; &nbsp;динамически)<br> &nbsp;2). открытые исходные тексты компилятора<br> &nbsp; &nbsp; &nbsp;пользователь может перетранслировать транслятор с<br> &nbsp; &nbsp; &nbsp;целью получения нового синтаксиса<br>Хочется добавить:<br> &nbsp;3). полный полиморфизм процедур (необходимо будет ввести <br> &nbsp; &nbsp; &nbsp;типизацию данных)<br> &nbsp;4). настраиваемый под пользователя синтаксис (ЯАП - язык,<br> &nbsp; &nbsp; &nbsp;адаптируемый пользователем)<br><br>]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87765</guid>
        <pubDate>Wed, 17 Jul 2002 08:23:01 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87765</link>
        <description><![CDATA[murph: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>ТотКогоНет, 16.07.02, 09:57:21</span><div class='quote '>--- с уважением: ТотКогоНет</div></div><br>Это шутка такая? Помоему этот кто-то тут есть... &nbsp;8)]]></description>
        <author>murph</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87764</guid>
        <pubDate>Tue, 16 Jul 2002 05:57:21 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87764</link>
        <description><![CDATA[ТотКогоНет: Пожалуйста, расскажите про идеологию Вашего языка.<br>Какие управляюшие конструкции есть в языке?<br>Какие синтаксические, семантические особенности Вы можете выделить в языке? <br>Чем Ваш язык отличается от других, известных, языков программирования?<br>--- с уважением: ТотКогоНет]]></description>
        <author>ТотКогоНет</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87763</guid>
        <pubDate>Mon, 15 Jul 2002 03:55:38 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87763</link>
        <description><![CDATA[zheromo: компилятор я писал вначале не как замену какому либо компилеру или языку, а просто в познавательных целях<br><br>синтаксис выбирался таким, на котором мне было бы самому удобно писать на этом языке, несколько програм я написал (пару-тройку простеньких игрушек, да тучу примеров), но кроме малого размера выполняемого кода (компилятор генерит подпрограмный шитый код с инлайн вставками для двухстековой машины, стек возвратов и стек данных, идея взята из классических реализаций языка Форт http://www.forth.org.ru - очень интересный сайт) похвастать нечем<br><br>сейчас у нас тут проблемы с сервером &nbsp;:( , как все заработает дам ссылку на страничку<br><br>сейчас я начал писать новый компилятор, уже под конкретную задачу (синтаксический анализ, компиляция, специальные структуры данных) и думаю, что-то из этого, может что и получится, потому что появилась некая концептуальная ясность<br><br>спасибо]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87762</guid>
        <pubDate>Sun, 14 Jul 2002 17:03:40 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87762</link>
        <description><![CDATA[.alex: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>zheromo, 11.07.02, 12:25:19</span><div class='quote '>если интересно - вышлю исходники компилятора и описание языка </div></div><br>Вышли, интересно :), а ты gcc смотрел?<br>]]></description>
        <author>.alex</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87761</guid>
        <pubDate>Fri, 12 Jul 2002 16:43:29 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87761</link>
        <description><![CDATA[andyag: А чем C++ не устраивает?<br>]]></description>
        <author>andyag</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87760</guid>
        <pubDate>Thu, 11 Jul 2002 08:25:19 +0000</pubDate>
        <title>пишу компилятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=8810&amp;view=findpost&amp;p=87760</link>
        <description><![CDATA[zheromo: пишу компилятор с собственного языка<br>интересно, занимается ли этим кто-нибудь еще?<br>если интересно - вышлю исходники компилятора и описание языка]]></description>
        <author>zheromo</author>
        <category>Software Design</category>
      </item>
	
      </channel>
      </rss>
	