Редактирование: QBE

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 4: Строка 4:
 
<div>__TOC__</div>
 
<div>__TOC__</div>
  
== Входные файлы ==
+
=Входные файлы
  
Промежуточный язык предоставляется QBE в виде текста. Как правило, один файл создается для каждой программы с входного языка интерфейса. IL-файл представляет собой последовательность определений для данных, функций и типов. После обработки QBE полученный файл может быть собран и связан с использованием стандартного инструментального ПО (например, [https://ru.wikipedia.org/wiki/GNU_Binutils GNU_binutils]).
+
Промежуточный язык предоставляется QBE в виде текста. Как правило, один файл создается для каждой программы с входного языка интерфейса. IL-файл представляет собой последовательность определений для данных, функций и типов. После обработки QBE полученный файл может быть собран и связан с использованием стандартного инструментального ПО (например, [https://ru.wikipedia.org/wiki/GNU_Binutils GNU binutils]).
 
<pre>The intermediate language is provided to QBE as text. Usually, one file is generated per each compilation unit from the frontend input language. An IL file is a sequence of Definitions for data, functions, and types. Once processed by QBE, the resulting file can be assembled and linked using a standard toolchain (e.g., GNU binutils).</pre>
 
<pre>The intermediate language is provided to QBE as text. Usually, one file is generated per each compilation unit from the frontend input language. An IL file is a sequence of Definitions for data, functions, and types. Once processed by QBE, the resulting file can be assembled and linked using a standard toolchain (e.g., GNU binutils).</pre>
  
Строка 25: Строка 25:
 
<pre>If you have read the LLVM language reference, you might recognize the example above. In comparison, QBE makes a much lighter use of types and the syntax is terser.</pre>
 
<pre>If you have read the LLVM language reference, you might recognize the example above. In comparison, QBE makes a much lighter use of types and the syntax is terser.</pre>
  
== Запись БНФ ==
+
=Запись БНФ
  
 
Синтаксис языка, который Вы сможете найти в разделах данной Wiki (и в оригинальной документации), описан с использованием [https://ru.wikipedia.org/wiki/Форма_Бэкуса_—_Наура БНФ]. Различные используемые конструкции [https://ru.wikipedia.org/wiki/Форма_Бэкуса_—_Наура БНФ] перечислены ниже.
 
Синтаксис языка, который Вы сможете найти в разделах данной Wiki (и в оригинальной документации), описан с использованием [https://ru.wikipedia.org/wiki/Форма_Бэкуса_—_Наура БНФ]. Различные используемые конструкции [https://ru.wikipedia.org/wiki/Форма_Бэкуса_—_Наура БНФ] перечислены ниже.
Строка 35: Строка 35:
 
...* и ...+ используются для произвольных обозначений и для повторений соответственно.
 
...* и ...+ используются для произвольных обозначений и для повторений соответственно.
  
== Символы ==
+
Символы
  
 
Промежуточный язык изобилует разными символами, все пользовательские имена выделяются символьным префиксом. Это делается для предотвращения конфликтов с ключевыми словами, а также для быстрого определения области видимости и характера идентификаторов.
 
Промежуточный язык изобилует разными символами, все пользовательские имена выделяются символьным префиксом. Это делается для предотвращения конфликтов с ключевыми словами, а также для быстрого определения области видимости и характера идентификаторов.

Пожалуйста, учтите, что любой ваш вклад в проект «Compilers Wiki» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Compilers Wiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Источник — «https://compilers.ispras.ru/wiki/QBE»