<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / ssa</title>
	<link>http://habrahabr.ru/rss/tag/ssa/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 02:17:42 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
		
		
		
			
		<item>		
			<title><![CDATA[Компиляторы / [Перевод] Создание языка программирования с использованием LLVM. Часть 3: Генерация кода LLVM IR]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/compilers/120424/</guid>
			<link>http://habrahabr.ru/blogs/compilers/120424/</link>
			<description><![CDATA[Добро пожаловать в Главу 3 учебника «Создание языка программирования с LLVM». В этой главе мы рассмотрим, как преобразовать AST (Абстрактное Синтаксическое дерево), построенное в <b><a href="http://habrahabr.ru/blogs/compilers/120005/">Главе 2</a></b>, в LLVM IR. Она расскажет вам о некоторых аспектах работы LLVM, а также продемонстрирует, насколько он прост в использовании. Вы увидите, что гораздо больше труда потребовалось на лексический и синтаксический анализ, чем на непосредственное создание кода LLVM IR.<br/>
<br/>
<b>Обратите внимание</b>: код из этой главы требует наличия LLVM 2.2 или более поздней версии. С версиями по LLVM 2.1 включительно этот код работать не будет. Также стоит отметить, что вам стоит использовать версию этого учебника, которая соответствует вашему релизу LLVM: вы можете использовать документацию, которая прилагается к официальным выпускам или посетить <a href="http://llvm.org/releases/">страницу с релизами на llvm.org</a>.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/compilers/120424/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 02 Jun 2011 05:38:33 GMT</pubDate>
			<author>Amper</author>
			<category>llvm</category><category>ir</category><category>кодогенерация</category><category>code generation</category><category>jit</category><category>cpp</category><category>ssa</category><category>базовый блок</category><category>control flow</category><category>поток управления</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Linux для всех / Смотрим кино с субтитрами сразу на двух языках]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/linux/99266/</guid>
			<link>http://habrahabr.ru/blogs/linux/99266/</link>			
			<description><![CDATA[Увидев только что на Хабрахабре вот <a href="http://mishellr.habrahabr.ru/blog/99185/" title="Учим английский вместе с TheKMPlayer">эту</a> блогозапись, подумал, а нельзя ли сделать так в Линуксе. Оказалось — можно. Причём метод не зависит от проигрывателя видео, главное, чтобы программа поддерживала субтитры в формате <a href="http://en.wikipedia.org/wiki/Advanced_SubStation_Alpha#Advanced_SubStation_Alpha" title="Advanced SubStation Alpha в статье SubStation Alpha в английском разделе Википедии">ASS</a>.<br/>
<br/>
<img src="http://habrastorage.org/storage/habraeffect/cf/c1/cfc13dcb93a070b6ddb9786791a13353.png" alt="Скриншот"/><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/linux/99266/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 16 Jul 2010 07:35:35 GMT</pubDate>
			<author>MaGIc2laNTern</author>
			<category>ssa</category><category>ass</category><category>bash</category><category>субтитры</category><category>языки</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Обзор LLVM]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/47878/</guid>
			<link>http://habrahabr.ru/blogs/programming/47878/</link>			
			<description><![CDATA[<a href="http://llvm.org/">LLVM</a> (Low Level Virtual Machine)&nbsp;— это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture».<br/>
<br/>
 LLVM&nbsp;— не просто очередной академический проект. Его история началась в 2000 году в Университете Иллинойса, а теперь LLVM используют такие гиганты индустрии как Apple и Adobe. В&nbsp;частности, на LLVM основана подсистема OpenGL в MacOS X 10.5, а iPhone SDK использует GCC с бэкэндом на LLVM. Apple является одним из основных спонсоров проекта, а вдохновитель LLVM&nbsp;— Крис Латтнер&nbsp;— теперь работает в Apple.<br/>
<br/>
 В&nbsp;основе LLVM лежит промежуточное представление кода (intermediate representation, IR), над которым можно производить трансформации во время компиляции, компоновки (linking) и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM поддерживает генерацию кода для x86, x86-64, ARM, PowerPC, SPARC, MIPS, IA-64, Alpha.<br/>
<br/>
  LLVM написана на C++ и портирована на большинство *nix-систем и Windows. Система имеет модульную структуру и может расширяться дополнительными алгоритмами трансформации (compiler passes) и кодогенераторами для новых аппаратных платформ. Пользовательский фронтенд, как правило, линкуется с LLVM и использует C++ API для генерации кода и его преобразований. Однако LLVM включает в себя и standalone утилиты.<br/>
<br/>
  Для тех, кто не без оснований считает C++ не лучшим языком для написания компиляторов, с недавних пор в LLVM включена обертка API для OCaml.<br/>
<br/>
  Чтобы понять, что можно сделать с помощью LLVM, и на каком уровне придётся работать, давайте разберёмся, <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/47878/#habracut">что из себя представляет LLVM IR.</a> </div>]]></description>
			
			<pubDate>Fri, 26 Dec 2008 17:37:48 GMT</pubDate>
			<author>khayrov</author>
			<category>LLVM</category><category>компиляторы</category><category>оптимизация</category><category>SSA</category><category>промежуточный код</category><category>виртуальные машины</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

