<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Архитектура on TrustLang</title>
		<link>https://trust-lang.net/en/docs/arch/</link>
		<description>Recent content in Архитектура on TrustLang</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://trust-lang.net/en/docs/arch/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Внутреннее имя и манглинг имен</title>
				<link>https://trust-lang.net/en/docs/arch/mangling/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/arch/mangling/</guid>
				<description>&lt;p&gt;Именование объектов основано на &lt;a href=&#34;https://trust-lang.net/en/docs/syntax/naming/&#34;&gt;правилах&lt;/a&gt; и выбирается из расчёта удобства для программиста.&#xA;Название переменной или функции должно нести смысл, понятные параметры и тип возвращаемого значения,&#xA;которые упрощают понимание алгоритма при последующем чтении исходного текста программы.&lt;/p&gt;&#xA;&lt;p&gt;Но обычные имена мало о чём говорят компьютеру. Поэтому при компиляции программы,&#xA;имена объектов преобразуются для удобства машинной обработки и к ним добавляется служебная информация.&lt;/p&gt;&#xA;&lt;h2 id=&#34;internal&#34;&gt;Внутреннее имя объекта&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#internal&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Каждый объект имеет свое внутреннее имя, уникальное в рамках &lt;em&gt;текущего модуля&lt;/em&gt;,&#xA;с помощью которого комипилятор языка однозначно связывает объект с данными в памяти компьютера.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Реализация обработки ошибок и прерываний</title>
				<link>https://trust-lang.net/en/docs/arch/errors/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/en/docs/arch/errors/</guid>
				<description>&lt;p&gt;Для обработки &lt;a href=&#34;https://trust-lang.net/en/docs/ops/throw/&#34;&gt;перываний потока выполения&lt;/a&gt;, а также для обработки ошибкок компилятора&#xA;используются С++ классы - наследники от std::exception, которые возвращают объект ошибки (значение).&lt;/p&gt;&#xA;&lt;p&gt;Ошибка компилятора возвращает не только тестовое описание, но и объект TermPtr, при обработке которого возникла ошибка,&#xA;тогда как перывание потока выполения возвращается объект ObjPtr.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;std::exception -+-&amp;gt; :ParserError&#xA;                |     (TermPtr)&#xA;                | &#xA;                +-&amp;gt; :RuntimeError ----&amp;gt; :IntAny --+-&amp;gt; :IntPlus&#xA;                       (ObjPtr)                   |&#xA;                                                  |&#xA;                                                  +-&amp;gt; :IntMinus&#xA;                &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;При выполнении (генерации кода) именованные прерывания могут быть реализованы без использования исключений!&lt;/strong&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
