Редактирование: QBE
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 100: | Строка 100: | ||
Для улучшения оптимизации и корректности [https://ru.wikipedia.org/wiki/Low_Level_Virtual_Machine LLVM] имеет сложные типы промежуточного представления. Тем не менее, только несколько типов представляют [https://ru.wikipedia.org/wiki/Объект_первого_класса объекты первого класса], и многие операции исходных языков требуют компиляции приведения типов. Поскольку QBE реализует гораздо более простое использование типов, промежуточное представление получается более читаемым и коротким. Разумеется, можно выносить вопрос о корректности QBE, но помните, что на практике большое количество преобразований, необходимых в ILL LLVM, подрывает общую эффективность системы типов. | Для улучшения оптимизации и корректности [https://ru.wikipedia.org/wiki/Low_Level_Virtual_Machine LLVM] имеет сложные типы промежуточного представления. Тем не менее, только несколько типов представляют [https://ru.wikipedia.org/wiki/Объект_первого_класса объекты первого класса], и многие операции исходных языков требуют компиляции приведения типов. Поскольку QBE реализует гораздо более простое использование типов, промежуточное представление получается более читаемым и коротким. Разумеется, можно выносить вопрос о корректности QBE, но помните, что на практике большое количество преобразований, необходимых в ILL LLVM, подрывает общую эффективность системы типов. | ||
<pre>For the sake of advanced optimizations and correctness, LLVM has complex IL types. However, only a few types are really first class and many operations of source languages require casts to be compiled. Because QBE makes a much lighter use of types, the IL is more readable and shorter. It can of course be argued back that the correctness of QBE is jeoparadized, but remember that, in practice, the large amount of casts necessary in LLVM IL is undermining the overall effectiveness of the type system.</pre> | <pre>For the sake of advanced optimizations and correctness, LLVM has complex IL types. However, only a few types are really first class and many operations of source languages require casts to be compiled. Because QBE makes a much lighter use of types, the IL is more readable and shorter. It can of course be argued back that the correctness of QBE is jeoparadized, but remember that, in practice, the large amount of casts necessary in LLVM IL is undermining the overall effectiveness of the type system.</pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |