Компилятор исходного кода - Source-to-source compiler

А переводчик источника в источник, компилятор исходного кода (Компилятор S2S), транскомпилятор, или же транспилятор[1] это тип переводчик это требует исходный код программы, написанной на язык программирования в качестве входных данных и создает эквивалентный исходный код на том же или другом языке программирования. Транслятор исходного текста выполняет преобразование между языками программирования, которые работают примерно на одном уровне абстракция, а традиционный компилятор переводится с язык программирования более высокого уровня к язык программирования нижнего уровня. Например, компилятор исходного кода может выполнить перевод программы из Python к JavaScript, а традиционный компилятор переводит с такого языка, как C к ассемблер или же Ява к байт-код.[2] An автоматическое распараллеливание компилятор часто принимает программу на языке высокого уровня в качестве входных данных, а затем преобразует код и аннотирует его аннотациями параллельного кода (например, OpenMP ) или языковых конструкций (например, Фортран с для всех заявления).[3]

Другой целью компиляции исходного кода в исходный код является перевод устаревшего кода для использования следующей версии базового языка программирования или API, нарушающего обратную совместимость. Он будет работать автоматически рефакторинг кода что полезно, когда программы для рефакторинга находятся вне контроля исходного разработчика (например, преобразование программ из Python 2 в Python 3 или преобразование программ из старого API в новый API) или когда размер программы делает это Реорганизовывать его вручную непрактично или требует много времени.

Транскомпиляторы могут сохранять переведенную структуру кода как можно ближе к исходному коду, чтобы облегчить разработку и отладка исходного исходного кода или может настолько изменить структуру исходного кода, что переведенный код не будет похож на исходный код.[4] Существуют также утилиты отладки, которые отображают преобразованный исходный код обратно в исходный код; например, JavaScript Стандарт исходной карты[нужна цитата ] позволяет отображать код JavaScript, выполняемый веб-браузер вернуться к исходному источнику, когда код JavaScript был, например, минифицирован или создан с помощью языка, преобразованного в JavaScript.[нужна цитата ]

Примеры включают Компилятор закрытия, CoffeeScript, Дротик, Haxe, Машинопись и Emscripten.[5]

Переводчики языка ассемблера

Intel CONV86

Intel продавали свой 16-битный процессор 8086 быть источник совместим к 8080, 8-битный процессор.[6] Чтобы поддержать это, у Intel был ИГИЛ-II -базированный переводчик из 8080 в исходный код 8086 с именем CONV86[7][8][9] (также обозначается как CONV-86[10] и CONVERT 86[11][12]) доступен OEM клиенты с 1978 года, возможно, самая ранняя программа такого рода.[nb 1] Он поддерживал несколько уровней трансляции и работал на частоте 2 МГц в системе разработки микропроцессоров Intel. МДС-800 с 8-дюймовым дисководы гибких дисков. По отзывам пользователей, работало не очень надежно.[13][14]

SCP TRANS86

Сиэтл Компьютерные продукты (SCP) предложил TRANS86.COM,[12][15][16] написано Тим Патерсон в 1980 году при разработке 86-ДОС.[17][18][19] Утилита могла переводить Intel 8080 и Зилог Z80 исходный код сборки (с Zilog /Mostek мнемоника ) в исходный код .ASM для Intel 8086 (в формате, совместимом только с SCP кросс-ассемблер ASM86 для CP / M-80 ), но поддерживал только подмножество коды операций, регистры и режимы, и часто все еще требовали значительной ручной корректировки и последующей доработки.[20][17] Кроме того, выполняя лишь простое транслитерация,[11][15][7][8] грубая сила один проход переводчик не проводил оптимизацию регистров и переходов.[21][22] Потребовалось около 24 КБ ОЗУ.[12] SCP версии 1 TRANS86.COM работал на системах на базе Z80.[12][15] После запуска 86-DOS Патерсон использовал TRANS86 для преобразования себя в программу, работающую под 86-DOS.[19] Номер версии 2, вместо этого он был назван TRANS.COM.[15][22][21][23][24] Позже, в 1982 году, переводчик, по-видимому, также был доступен в Microsoft.[12][25]

Сорцим TRANS86

Также называется TRANS86, Сорцим также предлагала переводчик с 8080 на 8086 с декабря 1980 года.[26][11] Как и программа SCP, он был разработан для переноса кода приложения CP / M-80 (в формате сборки ASM, MAC, RMAC или ACT80) на MS-DOS (в формате, совместимом с ACT86).[26][12][27][28] В формате ACT80 он также поддерживает несколько мнемоник Z80. Перевод выполнялся по инструкции с некоторой оптимизацией условных переходов. Программа работала под CP / M-80, МП / М-80 и Cromemco DOS с минимум 24 КБ ОЗУ и не имел ограничений на размер исходного файла.[12][29]

Цифровые исследования XLT86

Намного более сложный и первый представивший оптимизирующий компилятор технологий в процесс перевода исходного текста. Цифровые исследования XLT86 1.0 в сентябре 1981 года. XLT86 1.1 был доступен к апрелю 1982 года.[30] Программу написал Гэри Килдалл[11][31][32][33] и перевел исходный код .ASM для процессора Intel 8080 (в формате, совместимом с ассемблерами ASM, MAC или RMAC) в .A86 исходный код для 8086 (совместим с ASM86). С помощью анализ глобального потока данных об использовании регистра 8080,[34][11][35][36] пятифазный многопроходный транслятор также оптимизирует вывод для размера кода и позаботится о соглашениях о вызовах (CP / M-80 BDOS звонки были отображены в звонки BDOS для CP / M-86 ), так что программы CP / M-80 и MP / M-80 могут быть перенесены на CP / M-86 и МП / М-86 платформы автоматически. Сам XLT86.COM был написан на PL / I-80 для платформ CP / M-80.[37][12][30][38] Программа занимала для себя 30 КБ ОЗУ плюс дополнительную память для график программы. В системе с памятью 64 КБ максимальный поддерживаемый размер исходного файла составлял около 6 КБ,[37][12][39][30] поэтому перед переводом файлы большего размера нужно было разбить на части.[12][30] В качестве альтернативы XLT86 также был доступен для DEC VMS (за VAX 11/750 или же 11/780 ).[12][30] Хотя ввод и вывод XLT86 работали на уровне исходного кода, представление программы транслятором в памяти и применяемые технологии оптимизации кода закладывают основу для двоичная перекомпиляция.[40][41][42]

Другие

Компания 2500 AD Software предложила транслятор исходного кода с 8080 на 8086 как часть своего пакета XASM для машин CP / M-80 с Z80, а также для Зилог ЗЕВС и Оливетти СПКЯ системы.[43]

С 1979 года Zilog предлагал Z80 для Z8000 переводчик как часть их системы разработки PDS 8000.[44][45][46][47][48][14] Продвинутые микрокомпьютеры (AMC)[48][14] и 2500 AD Software также предлагали переводчики с Z80 на Z8000.[43] Последний получил название TRANS[49][50] и был доступен для Z80 CP / M, CP / M-86, MS-DOS и PCOS.[43]

Реализации языков программирования

Первые реализации некоторых языков программирования начинались как транскомпиляторы, и реализация по умолчанию для некоторых из этих языков все еще является транскомпиляторами. В дополнение к приведенной ниже таблице CoffeeScript сопровождающий предоставляет список языков, которые компилируются в JavaScript.[51]

Список транскомпиляторов[2]
ИмяЯзык источникаЯзык перевода
CfrontC ++C
Хип-хоп для PHP (HPHPc)PHPC ++
ВавилонES6 + (JS )ES5
ClojureScriptClojureJavaScript
JSweet[52]ЯваМашинопись
Swiftify[53]Цель-CБыстрый
J2ObjC[54]ЯваЦель-C
HaxeHaxeActionScript 3, JavaScript, Ява, C ++, C #, PHP, Python, Lua
Майя[55]МайяVerilog
Цербер XЦерберJavaScript, Ява, C ++, C #

Перенос кодовой базы

Когда разработчики хотят переключиться на другой язык, сохранив большую часть существующей кодовой базы, может быть лучше использовать транскомпилятор, чем переписывать все программное обеспечение вручную. В зависимости от качества транскомпилятора код может потребовать или не потребовать ручного вмешательства для правильной работы. Это отличается от «транскомпилированных языков», где спецификации требуют, чтобы выходной исходный код всегда работал без изменений. Все транскомпиляторы, используемые для переноса кодовой базы, ожидают ручной корректировки выходного исходного кода, если необходимо достичь максимального качества кода с точки зрения удобочитаемости и соглашения о платформе.

Транскомпиляторные конвейеры

Транскомпиляторный конвейер - это результат рекурсивная транскомпиляция. Объединяя вместе несколько уровней технологии с шагом транскомпиляции между каждым слоем, технология может многократно трансформироваться, эффективно создавая распределенную не зависящая от языка спецификация.

XSLT - это инструмент преобразования общего назначения, который можно использовать между множеством различных технологий, чтобы создать такой производный код трубопровод.

Рекурсивная транскомпиляция

Рекурсивная транспиляция (или же рекурсивная транскомпиляция) - это процесс применения понятия рекурсивной транспиляции для создания конвейера преобразований (часто начиная с единственный источник истины ), которые многократно превращают одну технологию в другую.[неудачная проверка ]

Повторяя этот процесс, можно превратить A → B → C → D → E → F, а затем обратно в A (v2). Некоторая информация будет сохранена через этот конвейер, от A → A (v2), и эта информация (на абстрактном уровне) демонстрирует, с чем согласен каждый из компонентов A – F.[нужна цитата ]

Эта информация сохраняется в каждой из различных версий конвейера транскомпилятора.[нужна цитата ] Он может принимать разные формы и размеры, но к тому времени, когда он возвращается в A (v2), будучи транскомпилированным 6 раз в конвейере выше, информация возвращается в исходное состояние.

Эта информация, которая сохраняется при преобразовании в каждом формате, от A – F – A (v2), является (по определению) производным содержанием или производный код.

Рекурсивная транспиляция использует тот факт, что транспиляторы могут либо сохранять переведенный код как можно ближе к исходному коду, чтобы облегчить разработку и отладка оригинального исходного кода, иначе они могут настолько изменить структуру исходного кода, что переведенный код не будет похож на исходный код. Существуют также утилиты отладки, которые отображают перенесенный исходный код обратно в исходный код; Например, JavaScript исходные карты позволяют отображать код JavaScript, выполняемый веб-браузер вернуться к первоисточнику на языке, преобразованном в JavaScript.[нужна цитата ]

Смотрите также

Примечания

  1. ^ Известно, что одна коммерческая программа была переведена на ИГИЛ-II из 8080 CP / M-80 исходный код для 8086 CP / M-86 с помощью Intel CONV86 был MicroPro с WordStar 3.0 в сентябре 1981 г.

Рекомендации

  1. ^ ARC-Softwaresystems (июнь 1988 г.). "Aus BASIC mach C: B → C Transpiler" [Превратите BASIC в C: B → C Transpiler]. Амига-Магазин [де ] - das Computermagazin für Amiga-Fans (Реклама) (на немецком языке). Vol. 1988 г. 6. Эсслинген, Германия: Markt & Technik Verlag Aktiengesellschaft. п. 101. ISSN  0933-8713. В архиве с оригинала на 2020-02-01. Получено 2020-01-18. […] Ахтунг C - унд Базовый -Программир! […] Jetzt gibt es den B → C TRANSPILER das einzigartige Umwandlungs-Software-System от ARC […] Der B → C TRANSPILER übersetzt lauffähige AMIGA -Basicprogramme в compilierbaren C-Code. […] Durch Spezialbefehle kann C-Code in Basicproqramme direct integriert werden. […] Basic-Befehle werden erweitert transpiliert. (HAM-Modus, МКФ, usw. werden unterstützt). […] Mit diesem Konzept neuester Generation verbindet der B → C TRANSPILER auf einzigartige Weise die Vorteile eines Interpreters mit denen eines Компиляторы […] [1]
  2. ^ а б «Транспайлер». devopedia.org. В архиве из оригинала на 2019-11-05. Получено 2019-06-22.
  3. ^ «Типы компиляторов». compilers.net. 1997–2005 гг. В архиве из оригинала на 2019-07-19. Получено 2010-10-28.
  4. ^ Фаулер, Мартин (2013-02-12). «Прозрачная компиляция». В архиве с оригинала на 2020-01-01. Получено 2013-02-13.
  5. ^ Эпические игры; Mozilla. «Эпическая цитадель HTML5».
  6. ^ Скэнлон, Лео Дж. (1988). 8086/8088/80286 язык ассемблера. Брейди Букс. п.12. ISBN  978-0-13-246919-7. […] 8086 программно совместим с 8080 на уровне языка ассемблера. […]
  7. ^ а б Инструкция по эксплуатации конвертера языка ассемблера MCS-86 для пользователей ISIS-II. A30 / 379 / 10K TL. Санта-Клара, Калифорния, США: Корпорация Intel. Март 1979 г. [1978]. № для заказа 9800642A. Получено 2020-01-18. [2] (NB. Более новую версию этого руководства можно найти здесь.)
  8. ^ а б Инструкция по эксплуатации конвертера языка ассемблера MCS-86 для пользователей ISIS-II. A175 / 280 / 7.5 FL. Санта-Клара, Калифорния, США: Корпорация Intel. Февраль 1980 [1978]. № для заказа 9800642-02. Получено 2020-01-18. [3][4] (NB. Более старую версию этого руководства можно найти здесь.)
  9. ^ Нельсон, Росс П. (январь 1989 г.) [1988]. Книга 80386: Руководство программиста на языке ассемблера для 80386. Серия программ Microsoft (1-е изд.). Microsoft Press. п. 2. ISBN  978-1-55615-138-5. […] An Intel программа-переводчик могла конвертировать 8080 программы на ассемблере в 8086 программы на ассемблере […]
  10. ^ Руководство пользователя семейства 8086. Корпорация Intel. Октябрь 1979 г. [1978]. С. 2-74, 2-92, Б-176. № для заказа 9800722-03. Получено 2020-01-18. […] Другие программы дополняют инструменты разработки программного обеспечения, доступные для 8086 и 8088. […] CONV-86 может выполнять большую часть работы по преобразованию, необходимой для перевода 8080 /8085 исходные модули на языке ассемблера в исходные модули ASM-86. […] Для облегчения преобразования программ на ассемблере 8080A / 8085A для работы на плате iSBC 86 / 12A CONV-86 доступен под ИГИЛ-II Операционная система. [5][6]
  11. ^ а б c d е Фрайбергер, Пол (1981-10-19). «Переводчики программ делают это буквально - а иногда и в контексте». InfoWorld - Новости для пользователей микрокомпьютеров. Специальный раздел: Совместимость компьютеров. 3 (22). Popular Computing, Inc. п. 19. ISSN  0199-6649. В архиве с оригинала на 2020-02-01. Получено 2020-01-15. […] «Если у вас нет схемы перевода, которая учитывает специфические особенности целевого микропроцессора, автоматический переводчик не сможет работать», - объясняет Дэниел Дэвис, программист с Цифровые исследования. "Вы получите прямой транслитерации. "[…] Несмотря на все эти ограничения, в последнее время был достигнут прогресс в разработке трансляторов. В частности, Digital Research представила свой восьмибитовый в 16-битный транслятор ассемблерного кода. На основе исследования, проведенного президентом Digital Research. Гэри Килдалл, XLT86, кажется, предлагает преимущества по сравнению с ранее доступной технологией программных переводчиков. Нравиться Сорцим транс и Intel Convert 86, пакет Kildall переводит код языка ассемблера из 8080 микропроцессор к 8086. Однако Килдалл применил глобальный анализ потока методика, учитывающая некоторые из основных недостатков других переводчиков. Процедура анализирует использование регистров и флагов в разделах кода 8080, чтобы исключить несущественный код. По словам программиста Digital Research Дэвиса, алгоритм, который использует Килдалл, позволяет переводчику учитывать контекст при переводе программы. До сих пор одной из основных проблем любой программы-переводчика была неспособность программного обеспечения делать гораздо больше, чем транслитерация. Если новый переводчик Digital Research действительно продвинет технологию до точки, позволяющей учитывать контекст, то на рынке микрокомпьютеров может появиться больше переводчиков программного обеспечения.
  12. ^ а б c d е ж грамм час я j k Тейлор, Роджер; Леммонс, Фил (июнь 1982 г.). «Переход вверх - Часть 1: Переводчики - Использование программ перевода для переноса программ CP / M-86 в CP / M и MS-DOS» (PDF). БАЙТ. Vol. 7 нет. 6. BYTE Publications Inc. С. 321–322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344. ISSN  0360-5280. CODEN BYTEDJ. В архиве (PDF) из оригинала на 2020-01-16. Получено 2020-01-15. […] Цифровые исследования XLT86 принимает стандартные 8080 исходный код в формате, совместимом с ассемблерами ASM, MAC или RMAC, и преобразует исходный код 8080 в 8086 исходный код в формате, совместимом с ASM86, работающим под любой CP / M-80 или же CP / M-86. Поскольку XLT86 написан на PL / I-80, переводчик может работать автономно под CP / M-80 или для перекрестное развитие под VAX / VMS. Он производит оптимизированный код 8086 за пять этапов, многопроходный процесс, делая глобальный анализ потока данных для определения оптимального использования регистров. Хотя определения макросов не поддерживаются, директивы условной сборки […] если вы хотите раскрыть макрос, вы можете использовать проход через MAC или RMAC для создания файла PRN, который можно редактировать […] для создания расширенного исходного файла для ввода приемлемо для XLT86. XLT86 не распознает Z80 инструкции. XLT86 передает циклы повтора в исходный код 8086. XLT86 полностью анализирует исходную программу, определяя блочная структура и использование регистра / флага. Работая с этой информацией, он оптимизированным образом переводит код в код ассемблера 8086. Алгоритм принятия решения для каждого типа инструкции приведен в […] руководстве […] Сопоставление регистров обычно следует […] со слабой взаимосвязью между 8086 ТОПОР и 8080 PSW; точное отношение определяется использованием регистра в перевести время. Много время выполнения доступны параметры для управления процессом перевода как в командной строке, так и встроенные в исходный текст 8080. […] XLT86 - это сложная программа, которая выполняет разумную работу по оптимизации преобразования исходного кода 8080 в исходный код 8086. BDOS вызовы от CP / M-80 отображаются на вызовы BDOS, совместимые с CP / M-86. XLT86 имеет специальные функции для обработки перевода условных инструкций JMP и CALL в исходном коде 8080. В инструкциях 8080 инструкции JMP и CALL могут достигать любого адреса в пределах области размером 64 КБ. Условные инструкции JMP 8086 могут достигать только 128 байтов по обе стороны от IP […] регистр. XLT86 исследует цель условного JMP. Если цель не может быть достигнута, XLT86 изменяет смысл условного JMP и пропускает длинный JMP к целевому адресу. Поскольку в 8086 нет условных инструкций CALL или RET, смысл условия изменяется, и выполняется короткий условный JMP для пропуска безусловного CALL или RET. […] Сегментные регистры позволяют разделить области кода и данных. […] XLT86 проверяет выражение и определяет соответствующий сегмент для конкретной инструкции. […] [7] [8][9][10][11][12][13][14][15][16][17][18][19][20] (13 стр.)
  13. ^ Гузис, Чарльз «Чак» П. (2013-02-24). "Re: Что, если бы IBM не выбрала процессор Intel!". Винтажный компьютерный форум. Жанр: Другое. В архиве из оригинала на 2020-01-16. Получено 2020-01-15. […] Оригинал 8086 ассемблер работал на 8080 -оборудованная система разработки MDS-80. Одним из первых продуктов был преобразователь исходного уровня с 8080 на 8086. Напомню, что скорость перевода была феноменально медленной. […] Наш продавец предложил провести тест на преобразование и проверку в местном офисе продаж […] Мы […] начали работу над ИГИЛ-II Там была серия MDS 200 - у них даже был жесткий диск, что было невероятно дорогим вариантом для MDS […], который все еще ломился, когда мы уезжали на ночь. На следующее утро это все еще не было сделано […] Примерно 2 недели спустя, после Intel программисты взглянули на переводчик, Эд вернулся с переведенной программой. Он был примерно на 50% больше оригинала. 8085 версия, которая как бы противоречила требованиям Intel к переводчику. […]
  14. ^ а б c Гузис, Чарльз «Чак» П. (31 декабря 2016 г.) [30 декабря 2016 г.]. "Re: код DOS в CP / M? Пересмотр…". Винтажный компьютерный форум. Жанр: CP / M и MP / M. В архиве из оригинала на 2020-01-16. Получено 2020-01-15. […] Intel имел переводчика, размещенного в ИГИЛ, из 8080 -к-8086 код. Я помню, как провел очень разочаровывающий день в местном офисе продаж Intel с образцом кода 8080 - базовым BCD пакет с плавающей запятой для 8080 и часами ждать, пока переводчик закончит свою работу, и разочарованный возвращаться домой. Примерно через неделю мне позвонили, что они наконец-то выяснили ошибки, и я могу забрать свою переведенную программу.Упомянутая программа была более чем вдвое больше оригинала с точки зрения байтов объекта. Я немного скептически отнесся к утверждениям Intel о том, что код 8086 намного компактнее, чем его аналог 8080. И эта проклятая штука все равно не работала, когда ее проверили. […] Были и другие переводчики с 80 на 86 для CP / M. Я помню что Сорцим был один. AMC имел Z80 -к-Z8000 переводчик. […] Переводчик [Intel] имел несколько уровней перевода […] там был «буквальный», с сохранением детальной работы […] это было ИГИЛ-II, работает на MDS-800, на какой, 2 МГц с 8-дюймовыми дискетами. […]
  15. ^ а б c d "Неофициальный список изменений Microsoft Macro Assembler (MASM)". bytepointer.com. 2018-08-21 [2016-09-08]. В архиве из оригинала на 2019-07-17. Получено 2020-01-18. […] Тим Патерсон […] Сказал следующее о своем 8086 Ассемблер, который он написал в SCP: "Ассемблер 8086, который я написал, изначально был на Z80 ассемблер и работал под CP / M. Я считаю, что он распространялся с картой процессора SCP 8086 как ASM86. Я также написал переводчик, который преобразовывал исходный код Z80 в неэффективный, но работоспособный исходный код 8086 (Intel продвигал эту идею с опубликованная таблица перевода ). Он назывался TRANS86 и также был написан на сборке Z80 для CP / M. Один раз ДОС работал, я применил переводчик к ASM86 (и к самому себе), чтобы создать версии 8086, работающие под DOS. У меня нет истории изменений передо мной […], но я считаю, что версия> = 2 помечает переведенную версию (DOS). Если какая-либо история показывает номера версий <2, это была версия CP / M. "[…]
  16. ^ Патерсон, Тим (Июнь 1983 г.). «Взгляд изнутри на MS-DOS - Дизайнерские решения, лежащие в основе популярной операционной системы. - История создания и проектные решения, лежащие в основе MS-DOS. Как это работает и куда идет». БАЙТ. 16-битные конструкции. Vol. 8 нет. 6. McGraw-Hill, Inc. С. 230–252. ISSN  0360-5280. CODEN BYTEDJ. В архиве из оригинала 17.03.2017. Получено 2020-01-23. […] MS-DOS Критерии проектирования […] Основным требованием к разработке MS-DOS было CP / M-80 совместимость переводов, что означает, что если 8080 или же Z80 программы для CP / M были переведены для 8086 в соответствии с Intel с опубликованные правила, эта программа будет правильно работать под MS-DOS. Требование совместимости перевода CP / M-80 способствовало быстрой разработке программного обеспечения 8086, которое, естественно, Сиэтл Компьютер был заинтересован. Был частичный успех: те разработчики программного обеспечения, которые решили переводить свои программы CP / M-80, обнаружили, что они действительно работают под MS-DOS, часто с первой попытки. К сожалению, многие разработчики программного обеспечения Seattle Computer, с которыми раньше разговаривали, предпочитали просто игнорировать MS-DOS. До Персональный компьютер IBM было объявлено, эти разработчики чувствовали, что CP / M-86 будет операционная система компьютеров 8086/8088. […] [21][22]
  17. ^ а б Сиэтл Компьютерные продукты (Август 1980 г.). «86-ДОС - ОПЕРАЦИОННАЯ СИСТЕМА 8086 - 95 $». БАЙТ (Рекламное объявление). Vol. 5 шт. 8. BYTE Publications Inc. п. 173. ISSN  0360-5280. CODEN BYTEDJ. В архиве из оригинала на 2017-04-05. Получено 2013-08-18. […] 1. Прочтите Z80 файл исходного кода, написанный на CP / M форматировать и конвертировать в 86-ДОС формат. 2. Программа-переводчик переводит исходный код Z80 в 8086 исходный код. 3. Резидентный ассемблер собирает переведенный исходный код 8086 в 8086. объектный код. 4. Мелкая ручная коррекция и оптимизация. (На исправление недавнего перевода программы Z80 размером 19 КБ у нас ушло около четырех часов. Даже без оптимизации он работал вдвое быстрее, чем оригинал! […]) [23]
  18. ^ Патерсон, Тим (1994-10-03). «Истоки DOS: Создатель DOS излагает свое видение взаимосвязи между CP / M и MS-DOS» (PDF). Отчет микропроцессора. Ресурсы MicroDesign (MDR). 8 (13). ISSN  0899-9341. Архивировано из оригинал (PDF) 31 мая 2012 г. […] Чтобы крупные разработчики программного обеспечения перенесли свои продукты с 8080 /Z80 к 8086, Я решил, что нужно сделать это как можно проще. Я уже написал переводчик исходного кода с Z80 на 8086 (размещенный на 8080 и CP / M ). Мой план состоял в том, что запуск программы 8080 CP / M через переводчик был бы единственной работой, необходимой разработчикам программного обеспечения для переноса программы на 8086. Другими словами, интерфейс, используемый приложениями для запроса служб операционной системы, будет точно таким же. как CP / M после применения правила перевода. […]
  19. ^ а б Патерсон, Тим (2007-09-30). «Дизайн DOS». DosMan Drivel. Архивировано из оригинал на 2013-01-20. Получено 2011-07-04. […] CP / M Совместимость переводов […] Для ДОС чтобы добиться успеха, для этого потребуются полезные приложения (например, текстовый редактор). Я был обеспокоен тем, что SCP могут возникнуть проблемы с убеждением авторов прикладных программ приложить усилия для создания DOS-версии своих программ. Мало кто купил 16-битный компьютер SCP, поэтому установленная база была небольшой. Без приложений не было бы много пользователей, а без пользователей не было бы много приложений. […] Я надеялся, что, максимально упростив перенос существующих 8-битных приложений на наш 16-битный компьютер, мы получим больше программистов, которые сделают решительный шаг. И мне казалось, что совместимость перевода CP / M - это то, что максимально упростит эту работу. Intel имел определенные правила перевода 8-битные программы в 16-битные программы; Совместимость трансляции CP / M означает, что когда запрос программы к CP / M прошел через трансляцию, он стал бы эквивалентным запросом к DOS. […] Поэтому я сделал совместимость перевода CP / M фундаментальной целью дизайна. Это потребовало от меня создания очень специфического интерфейса прикладных программ, который реализовал совместимость перевода. Я не считал это основным API - на самом деле был другой API, более подходящий для 16-битного мира и обладающий большими возможностями. Оба API использовали конструкции, определенные CP / M (например, "Блок управления файлами "); API совместимости должен был, и я не видел причин определять что-то другое для основного API. […] Я сам воспользовался преимуществами совместимости переводов. Инструменты разработки, которые я написал, такие как ассемблер, были изначально 8-битные программы, работавшие под CP / M (CDOS ). Я пропустил их через переводчик и получил 16-битные программы, работающие под DOS. Эти переведенные инструменты были включены в DOS при поставке SCP. Но я не думаю, что кто-то еще воспользовался этим процессом. […]
  20. ^ «Переводчик с Z80 на 8086». Кросс-ассемблер Z80 / 8086, выпуск 1 (PDF). Редакция А (предварительная ред.). Сиэтл, Вашингтон, США: Сиэтл Компьютерные продукты. стр. 20–21. Получено 2020-01-18. […] Сиэтл Компьютерные продукты Z80 к 8086 Переводчик работает на Z80 под CP / M. Он принимает в качестве входных данных исходный файл Z80, записанный с использованием Зилог /Mostek мнемоники и преобразует ее в исходный файл 8086 в формате, приемлемом для нашего кросс-ассемблера 8086. Чтобы перевести файл, просто введите TRANS86 <имя файла>. . Независимо от исходного расширения выходной файл будет называться <имя файла> .A86 и появится на том же диске, что и входной файл. Файл с именем TRNTEST.Z80 включен для демонстрации переводчика. Не переведен весь ассемблер Z80. […] [24]
  21. ^ а б 86-DOS - дисковая операционная система для 8086. Руководство пользователя (PDF). Версия 0.3 (Предварительная ред.). Сиэтл, Вашингтон, США: Сиэтл Компьютерные продукты. 1980. В архиве (PDF) из оригинала на 2019-07-14. Получено 2020-02-01.
  22. ^ а б Патерсон, Тим (2013-12-19) [1982-07-01]. «Microsoft DOS V1.1 и V2.0: переводчик Z80 на 8086 версии 2.21 /msdos/v11source/TRANS.ASM». Музей истории компьютеров, Microsoft. В архиве из оригинала на 2019-11-12. Получено 2014-03-25. (NB. Хотя издатели утверждают, что это будут MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и TeleVideo для ПК DOS 2.11.)
  23. ^ SCP 86-DOS - однопользовательская дисковая операционная система для 8086 (Предварительная ред.). Сиэтл, Вашингтон, США: Сиэтл Компьютерные продукты. 1980. Получено 2020-01-18. […] Переводчик исходного кода может перевести большинство Z80 исходный код в 8086 исходный код, приемлемый для ассемблера после небольшой ручной корректировки. Это обеспечивает относительно быстрый и простой способ передачи программ между процессорами. […] TRANS файл […] Переводчик исходного кода Z80-to-8086, вызываемый этой командой, по существу идентичен нашей версии, которая работает на Z80, которая описана в конце руководства по Ассемблеру. Единственные отличия: 1. Переводчик называется TRANS, а не TRANS86, и он работает на 8086 под 86-ДОС, а не на Z80 под CP / M. 2. Расширение выходного файла - «ASM», а не «A86». […] [25]
  24. ^ Переводчик Z80 на 8086 (PDF). Сиэтл Компьютерные продукты. с. ТРАНС-1 – ТРАНС-2. Получено 2020-01-19. (23 страницы)
  25. ^ Хьюз, Дэвид Б. (ноябрь 1982 г.). «CP / M-86 и MS-DOS: сравнительный анализ». Журнал ПК. Операционные системы. Vol. 1 шт. 7. Software Communications, Inc. С. 181–182, 187–190 [189]. В архиве с оригинала на 2020-02-10. Получено 2020-02-10. […] Впечатляющий и полезный набор утилит для разработки программного обеспечения является стандартной функцией MS-DOS. Программа, переводящая 8080 или же Z80 код в 8086 исходный код, компоновщик и среда выполнения библиотеки в сочетании с мощным ассемблером дают программисту все необходимое для полного использования 16-разрядного процессора ПК. Программа перевода MS-DOS позволяет пользователю переводить код, разработанный под CP / M-80 или же СБ-80 […] 8-битная операционная система […] в MS-DOS 1.2 или же 2.0. Некоторые модификации помимо простого перевода могут потребоваться для запуска программ в 16-битных системах, поэтому я предлагаю, чтобы этот инструмент использовался в первую очередь технически подготовленным пользователем. […]
  26. ^ а б Гаретц, Марк (1980-12-22). «По словам Гареца…». InfoWorld - Новости для пользователей микрокомпьютеров. 2 (23). Popular Computing, Inc. п. 12. ISSN  0199-6649. В архиве с оригинала на 2020-02-01. Получено 2020-01-18. […] Прошлая неделя была полугодовой Калифорнийская встреча по обмену компьютерами. Это мероприятие организовано Джоном Крейгом […] Сорцим […] Дебютировали […] новые продукты на выставке […] Их другой продукт был TRANS-86. TRANS-86 примет любой CP / M совместимый 8080 /8085 /Z-80 файл с исходным кодом и переведите его в 8086 код. Затем вы можете собрать новый файл с помощью ACT-86. […]
  27. ^ Блюменфельд, Дэн (1982-12-04). "Переводчик с Z80 на 8086". Группа новостейfa.info-cpm. В архиве из оригинала на 2020-01-16. Получено 2020-01-15. [26]
  28. ^ «КомпуПро». ПК: Независимое руководство по компьютерам IBM (Рекламное объявление). Vol. 1 шт. 1. Software Communications, Inc. Февраль – март 1982. С. 70–71. Премьера / Выпуск чартера. Получено 2020-01-23. […] ПОЧЕМУ? ГИБКОСТЬ. CompuPro Процессор 85/88 поддерживает CP / M 80, 86, MP / M II и MP / M 86. Мы предлагаем WORDSTAR dBASE II SUPERCALC на множество языков, переводчики с 8080 на 8088 и многое другое! СОВМЕСТИМОСТЬ. Наши системы могут использовать утилиты CP / M 2.2 для написания программ для IBM PC. Вы просто создаете исходный код 8088 (либо напишите его своим любимым редактором CP / M 80, либо переведете с помощью Сорцим TRANS 86), выполните кросс-сборку исходного кода (с помощью ACT86 от Sorcim), свяжите свой шестнадцатеричный файл (с помощью команды LOAD CP / M 80), переведите его на IBM PC (с помощью программы G&G CPM-IBM) и запустите на ваш IBM PC! Для этой процедуры НЕ ТРЕБУЕТСЯ MS-DOS! […] ПОЧЕМУ? ГИБКОСТЬ. CompuPro Процессор 85/88 работает под управлением CP / M 80 и 86 или MS-DOS. Мы предлагаем WORDSTAR, dBASE II, TRANS86, XLT86, ACT86, SUPERCALC, CBASIC, MBASIC, MFORTRAN и другие! […] [27][28]
  29. ^ Уоррен-младший, Джим С. (Июль 1982 г.). "Сорцим" Somethin'" (PDF). Silicon Gulch Gazette. Здесь распространяются слухи. Вудсайд, Калифорния, США: Компьютерная ярмарка. 7 (30): 1, 2, 4, 6, 11, 14, 15 [11]. Получено 2020-01-15. […] Сорцим только что совершил покупку ЭТО. […] У них также есть переводчик с 8080 на 8086 - Trans-86 - работающий уже больше года […]
  30. ^ а б c d е Барри, Тим (1982-04-05). "XLT-86, служебная программа CP / M от Digital Research". InfoWorld - Newsweekly для пользователей микрокомпьютеров. Обзор программного обеспечения. 4 (13). Popular Computing, Inc. С. 40–41, 53. ISSN  0199-6649. В архиве с оригинала на 2020-02-01. Получено 2020-01-25. […] XLT-86 1.1 […] XLT-86 - это программа-аналитический переводчик, написанная на PL / I-80. Он считывает всю исходную программу 8080, собирает ее в машинный код, анализирует использование регистров, памяти и флагов и выдает оптимизированный 8086 программа на ассемблере. […] Существует также версия XLT-86 для тех из вас, у кого есть доступ к VAX 11/750 или же 11/780. Эта версия может переводить гораздо большие программы. Также стоит 8000 долларов. […] Хотя переводчик добавляет некоторые метки и приравнивает исходную программу как часть перевода, все исходные комментарии и метки программы передаются в переведенную программу без изменений. […] Перевод программы состоит из пяти этапов. Сначала программа сканируется и собирается для получения значений и местоположений символов. Во-вторых, структура программы анализируется и разбивается на базовые блоки. В-третьих, базовые блоки анализируются для определения поток программы и использование ресурсов. В-четвертых, блочная структура и распределение регистров данные собираются в список для пользователя. В-пятых, информация о потоках и исходная программа используются для создания 8086 исходная программа. […]
  31. ^ Килдалл, Гэри Арлен (1982-04-19). Суэйн, Майкл; Фрайбергер, Пол; Марков, Джон Грегори (ред.). «Основатель Digital Research обсуждает свой взгляд на бизнес». InfoWorld - Newsweekly для пользователей микрокомпьютеров. Специальный раздел: CP / M. 4 (15). Popular Computing, Inc. п. 23–24. ISSN  0199-6649. В архиве с оригинала на 2020-02-01. Получено 2020-01-17. […] Килдалл: […] Полтора года назад я, вероятно, тратил 75% своего времени на бизнес и 25% на программирование. XLT-86 был продуктом, над которым я работал в то время, и мне потребовалось девять месяцев, чтобы сделать это. Это был бы трехмесячный проект, если бы я мог сосредоточиться на нем. […]
  32. ^ Килдалл, Гэри Арлен (Июнь – июль 1982 г.). Баннелл, Дэвид Хью; Эдлин, Джим (ред.). "Гэри Килдалл - Человек, создавший CP / M: Создатель CP / M - Глубокое эксклюзивное интервью для ПК с пионером программного обеспечения Гэри Килдаллом". Журнал ПК. Операционные системы. Vol. 1 шт. 3. Software Communications, Inc. С. 32–38, 40 [35]. Получено 2020-01-17. […] ПК: Какие сложности возникают при переводе программы с 8080 к 8086 форма? Kildall: Прямые переводы на уровне исходной программы можно выполнять механически. Например, инструкция 8080 «Добавить сразу 5» превращается в команду «Добавить AL 5» на 8086 - очень простой перевод самих кодов операций. Сложность в механический перевод происходит из таких ситуаций: инструкция 8080 DAD H берет регистр HL и добавляет к нему DE. Для 8086 эквивалентной инструкцией будет что-то вроде ADD DX BX, что нормально, особых проблем нет. Вы просто говорите, что регистр DX совпадает с HL, а BX - с DE. Проблема в том, что инструкция 8086 имеет побочный эффект установки флага нуля, а инструкция 8080 - нет. В механическом переводе вы в конечном итоге делаете что-то вроде сохранения флагов, их восстановления, выполнения некоторых сдвигов и вращений и так далее. Они добавляют около пяти или шести дополнительных инструкций, чтобы получить тот же семантический эффект. В коде 8080 есть много последовательностей, которые создают очень странные последовательности в коде 8086; они просто не очень хорошо отображаются из-за регистров флагов и тому подобного. То, как мы дорабатываем программное обеспечение, называется XLT-86. Его не было полгода или около того. ПК: Под «лучшим» кодом вы подразумеваете меньший размер? Килдалл: На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и сделали прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]
  33. ^ Хайтт, Роберт; Юбэнкс, Гордон; Роландер, Томас «Том» Алан; Законы, Дэвид; Michel, Howard E .; Халла, Брайан; Уортон, Джон Харрисон; Берг, Брайан; Су, Вейлиан; Килдалл, Скотт; Кампе, Билл (25 апреля 2014 г.). Законы, Дэвид (ред.). "Наследие Гэри Килдалла: посвящение CP / M IEEE" (PDF) (Транскрипция видео). Пасифик Гроув, Калифорния, США: Музей истории компьютеров. Номер ссылки CHM: X7170.2014. В архиве (PDF) из оригинала 27.12.2014. Получено 2020-01-19. […] Роландер: Я упоминал ранее, что Гэри любил подходить к проблеме как архитектор. […] И он рисовал самые красивые картинки своих структур данных. […] И когда он закончил это […] и убедился, что эти структуры данных теперь верны, он войдет в просто невероятный маниакальный режим кодирования. Он просто ходил по 20 часов в день […] его просто не было в эти периоды времени. Пару раз, когда он запускал что-то в первый раз, например, посреди ночи. И все вы, кто пишет программное обеспечение, видели, что, например, когда оно впервые появляется на экране, вы должны кому-нибудь рассказать. Моя жена Лори скажет вам, что у меня было несколько таких звонков посреди ночи, ЛОГОТИП Одним из примеров был XLT 86, где он запустил его в первый раз, и ему нужно было, чтобы кто-нибудь его увидел. Так что не имело значения, который час, он звонил мне, я должен был прийти и посмотреть, как это работает. […] [29][30] (33 страницы)
  34. ^ «XLT86 снижает трудозатраты на преобразование при переводе программ на языке ассемблера» (PDF). Новости цифровых исследований - для пользователей цифровых исследований во всем мире. Обновление продукта. Пасифик Гроув, Калифорния, США: Digital Research, Inc. 1 (1): 2, 7. Ноябрь 1981 г. Четвертая четверть.. Получено 2020-01-18. […] Транслятор кода ассемблера 8–16 бит теперь доступен по адресу Цифровые исследования. Он называется XLT86 и призван упростить трудоемкий процесс преобразования. CP / M программные продукты от 8080 - к 8086 -на базе микрокомпьютеров. XLT86 можно использовать для перевода любых программ на ассемблере, совместимых с форматами ассемблера Digital Research ASM, MAC или RMAC. Транслятор программы XLT86 сначала считывает программу на языке ассемблера 8080, а затем создает выходной файл, содержащий инструкции на языке ассемблера 8086, приемлемые для ассемблера Digital Research ASM-86. В отличие от других преобразователей кода 8086, которые переводят одну инструкцию 8080 в целых десять инструкций 8086, XLT86 выполняет обширные анализ потока данных для определения использования регистров в исходной программе. Информация, собранная в ходе этого анализа, используется во время трансляции программы, чтобы исключить ненужные операции сохранения и восстановления флагов. «Полученная в результате программа 8086 проще и компактнее, чем эквивалентные программы, созданные другими переводчиками», - говорит Курт Геске из маркетинговой группы Digital Research. «Более того, XLT86 позволяет OEM-производителям, конечным пользователям и поставщикам программного обеспечения сохранить свои инвестиции в программы на языке ассемблера на базе 8080 при переходе на 16-разрядные компьютеры на базе 8086 за счет сокращения усилий по преобразованию». Программы, переведенные XLT86, работают на обоих CP / M-86 и МП / М-86 […] XLT86 доступен немедленно. Он работает на любом 8-битном CP / M или МП / м системе, или под VMS операционная система для использования на Корпорация цифрового оборудования VAX серии мини-компьютеры. Цена версии CP / M составляет $ 150. Версия VAX продается за 8000 долларов. […]
  35. ^ Килдалл, Гэри Арлен (1973-10-01). «Единый подход к глобальной оптимизации программ» (PDF). Материалы 1-го ежегодного симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования (POPL). POPL '73. Бостон, Массачусетс, США: 194–206. Дои:10.1145/512927.512945. HDL:10945/42162. S2CID  10219496. В архиве (PDF) из оригинала от 29.06.2017. Получено 2006-11-20. ([31] )
  36. ^ Килдалл, Гэри Арлен (Май 1972 г.). Оптимизация глобального выражения во время компиляции (Кандидатская диссертация). Сиэтл, Вашингтон, США: Вашингтонский университет, Группа компьютерных наук. Диссертация № 20506, Технический отчет № 72-06-02.
  37. ^ а б XLT86 - Переводчик языка ассемблера с 8080 на 8086 - Руководство пользователя (PDF) (Первое печатное изд.). Пасифик Гроув, Калифорния, США: Digital Research, Inc. Сентябрь 1981 г. В архиве (PDF) из оригинала от 18.11.2016. Получено 2016-11-18. [32]
  38. ^ «XLT86 для CP / M-80». Цифровые исследования. В архиве из оригинала на 2020-01-16. Получено 2020-01-18. (NB. Этот ZIP-архив содержит CP / M-80 исполняемый файл XLT86.COM [22 КБ], а также два файла оверлея XLT00.OVL [8 КБ] и XLT01.OVL [9 КБ].)
  39. ^ Гольдфарб, Бен (1982-12-09). "Re: перевод с 8080 на 8086". Группа новостейfa.info-cpm. В архиве с оригинала на 2020-02-01. Получено 2020-01-18. […] Программа XLT86 занимает примерно 30 Кбайт основной памяти. Остаток памяти до основания CP / M, хранит график программы который представляет собой транслируемую программу 8086 […] Система 64K CP / M позволяет переводить 8080 программы размером примерно до 6К. […] [33][34]
  40. ^ Уортон, Джон Харрисон (1994-08-01). «Гэри Килдалл, пионер отрасли, умер в 52 года: создал первые языки для микрокомпьютеров, дисковые операционные системы». Отчет микропроцессора. MicroDesign Resources Inc. (MDR). 8 (10). В архиве из оригинала от 18.11.2016. Получено 2016-11-18. […] Как ни странно, многие из техник Гэри первопроходцы открываются заново сейчас, десять лет спустя. яблоко и DEC рекламируют двоичная перекомпиляция как «новую» технологию для переноса существующего программного обеспечения на PowerPC или же Альфа архитектура. Фактически, DRI представила 8080 -к-8086 бинарный рекомпилятор в начале 1980-х. […]
  41. ^ "Премия СПА доктору Гэри Килдаллу: Победитель премии" За заслуги в области СПА в 1995 году ". Ассоциация издателей программного обеспечения (СПА). 1995-03-13. В архиве из оригинала 21.12.2019. Получено 2019-12-21 - через www.digitalresearch.biz. […] Kildall основанный Digital Research, Inc. (DRI) в 1976 году, который сейчас является частью Novell. […] В 1980-х годах компания DRI представила двоичный рекомпилятор. […]
  42. ^ Суэйн, Майкл (1997-04-01). «Гэри Килдалл и коллегиальное предпринимательство». Журнал доктора Добба. Архивировано из оригинал на 2007-01-24. Получено 2006-11-20. В марте 1995 г. Ассоциация издателей программного обеспечения посмертно удостоен Гэри за его вклад в компьютерную индустрию. Они перечислили некоторые из его достижений: […] В 1980-е гг. DRI, он представил двоичный рекомпилятор. […]
  43. ^ а б c 2500 AD Software (1984-12-11). «Супер-сборщики плюс самый большой в мире выбор кросс-сборщиков». Журнал ПК (Рекламное объявление). Vol. 3 шт. 24. Энглвуд, Колорадо, США: PC Communications Corp. С. 166–167. ISSN  0745-2500. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. […] Ассемблер 8086/88 с транслятором 99,50 долл. Доступно для MSDOS, PCDOS или CP / M-86 […] Этот пакет также включает […] транслятор исходного кода с 8080 на 8086 (нет ограничений на размер программы для перевода) [… ] Пакет кросс-разработки Z-8000 $ 199,50 […] Этот мощный пакет включает транслятор исходного кода языка ассемблера Z-80/8080 в Z-8000 […] Переводчики предоставляют исходный код Z-8000 от Intel 8080 или Zilog Z-80 исходный код. Исходный код Z-8000, используемый этими пакетами, имеет уникальный синтаксис 2500AD с использованием мнемоники Zilog, разработанный для упрощения перехода от записи кода Z-80 к Z-8000 […] 8086 и Z-8000 XASM включает трансляторы исходного кода [… ] (Примечание. 8086/88 XASM доступен для Z-80 CP / M, Zilog System 8000 UNIX, Оливетти М-20 СПКЯ; Z-8000 XASM для Z-80 CP / M, MS-DOS, CP / M-86, Olivetti M-20 PCOS.)
  44. ^ «Zilog представляет модульную систему разработки». Computerworld - Newsweekly для компьютерного сообщества. XIII (34). Купертино, Калифорния, США: Computerworld, Inc. 1979-08-20. п. 46. ISSN  0010-4841. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. […] Zilog, Inc. представила серию модульных и расширяемых систем разработки продуктов (PDS) для Z8 -, Z80 -, и Z8000 конструкции микрокомпьютеров. Все четыре версии системы PDS 8000 - модели 10, 15, 25 и 30 - имеют […] Стандартной функцией каждой системы является пакет разработки программного обеспечения Z8000, который включает ZDOSII процедура управления файлами, высокоуровневые структурированные ассемблеры PLZ / ASM, транслятор Z80 / Z8000 и макропроцессор Z8000 L и MACP. […] Модели 10 и 25 имеют те же технические характеристики, что и модели 15 и 30 соответственно. но 10 и 25 не включают модуль разработки Z8000. Стоимость PDS Model 10 составляет 10 485 долларов; Модель 15 за 11 995 долларов; Model 25 за 20 000 долларов; и Model 35 за 21 500 долларов. Все четыре системы доступны через 30 дней после получения заказа. […]
  45. ^ Орлански, Джесси, изд. (1979). Слушания 27–29 ноября 1979 г. - 1-я конференция Interservice / Industry Training Equipment Conference. Центр. п. 413.Технический отчет NAVTRAEQUIPCEN. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. […] Таблица 1. Характеристики 16-битного микропроцессора […] Зилог 8000 […] Программное обеспечение […] Zilog рассчитывает поддержать Z8000 с переводчиками для PLZ, БАЗОВЫЙ, КОБОЛ и FORTRAN. Это позволит преобразовать Z80 код на код Z8000, поскольку набор Z8000 является надмножеством Z80. […]
  46. ^ PDS 8000 Development System - Комплексный подход к проектированию систем (Краткое описание продукта). Зилог. Январь 1980 г.. Получено 2020-01-24. […] Z8000 TRANSLATOR: Обеспечивает быстрое преобразование существующего Z80 Программа на языке ассемблера для Z8000 код и формат программы PLZ / ASM. […] [35][36]
  47. ^ Thomas, Rebecca A .; Йетс, Жан Л. (1981-05-11). «Книги, платы и программное обеспечение для новых 16-битных процессоров». InfoWorld - Газета для сообщества микрокомпьютеров. 3 (9). Popular Computing, Inc. п. 42–43. ISSN  0199-6649. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. […] Цифровые исследования также объявил о планах по Z8000 версия CP / M. Прикладное программное обеспечение будет перенесено на Z8000, когда станет доступно больше программного обеспечения для разработки. Доступный в продаже переводчик от Z80 на Z8000 нужен. […]
  48. ^ а б Гузис, Чарльз «Чак» П. (21 января 2009 г.) [17 января 2009 г.]. "Re: CP / M или аналогичная ОС для 64К Z8002?". Винтажный компьютерный форум. Жанр: CP / M и MP / M. В архиве из оригинала на 2020-01-16. Получено 2020-01-15. […] обе Зилог и AMC предложенный Z80 -к-Z8000 переводческие программы. Словно Intel 8080 -к-8086 переводчик, это привело к мгновенному раздуванию, если вы не захотели вручную оптимизировать результат. Очень ранний код MS-DOS был автоматически транслирован и изменен код 8080 CP / M. Я знаю это многое из SuperCalc для ПК был, например. Ранние (например, 3.3) версии Wordstar для DOS наверное и были. […] Существовали переводчики исходного кода из Z80 в Z8000, но это был непростой процесс («строгий» и «расслабленный» режимы; иногда из одной Z80 в несколько инструкций Z8000). 8086 намного ближе к 8080, чем Z8000 к Z80. […]
  49. ^ "2500 A.D. Программное обеспечение 8080 / Z-80 в переводчик исходного кода Z8000 v2.06b". 2500 A.D. Software, Inc. 1982. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. [37]
  50. ^ "802Z8000.ZIP 2500 A.D. Программное обеспечение 8080 / Z-80 в переводчик исходного кода Z8000 v2.06e". 2500 A.D. Software, Inc. В архиве с оригинала на 2020-02-01. Получено 2020-01-24. [38]
  51. ^ «Список языков, компилируемых в JS». В архиве из оригинала на 2020-01-23. Получено 2018-03-11.
  52. ^ "JSweet". В архиве из оригинала на 2019-12-14. Получено 2019-12-14.
  53. ^ "Swiftify".
  54. ^ "J2ObjC". В архиве из оригинала на 22.10.2019. Получено 2019-10-22.
  55. ^ "Майя". Получено 2020-05-13.
  56. ^ "C-> Go переводчик". В архиве из оригинала на 2018-12-07. Получено 2018-01-11.
  57. ^ «Примечания к выпуску Go 1.5». В архиве с оригинала на 2020-02-01. Получено 2018-01-11.
  58. ^ Кокс, Расс. "Капитальный ремонт компилятора Go 1.3+". В архиве из оригинала на 2020-01-09. Получено 2018-01-11.
  59. ^ а б https://github.com/immunant/c2rust/blob/master/README.md
  60. ^ "Js_of_ocaml". Архивировано из оригинал на 2018-12-08. Получено 2014-10-08.
  61. ^ J2Eif Research Page - кафедра программной инженерии. Se.inf.ethz.ch. Дои:10.1007/978-3-642-21952-8_4. В архиве с оригинала на 2020-01-01. Получено 2014-07-08.
  62. ^ "C2Eif Research Page - кафедра программной инженерии". Se.inf.ethz.ch. В архиве с оригинала на 2020-01-01. Получено 2014-07-08.
  63. ^ «Конвертер Swiftify Objective-C в Swift». Получено 2017-11-14.
  64. ^ «Конвертер времени выполнения». В архиве с оригинала на 2019-07-10. Получено 2017-11-14.

дальнейшее чтение

внешняя ссылка