Как компилируется компилятор TypeScript ts c? - PullRequest
2 голосов
/ 03 августа 2020

На странице википедии для TypeScript упоминается, что сам компилятор написан на TypeScript.

Как это возможно? TypeScript преобразуется в JavaScript, а JavaScript обычно интерпретируется веб-браузером.

Как создается двоичный файл компилятора tsc?

Ответы [ 2 ]

3 голосов
/ 03 августа 2020

Хотя javascript обычно ассоциируется с браузерами, он также может работать на серверах или в командной строке с Node.js. Процесс сборки Typescript состоит из nodejs скриптов.

Скрипты для проекта машинописного текста можно найти в их пакете. json файл, здесь . Сценарий build:compiler запускает этот файл gulpfile , а часть того, что делает файл gulp, запускает этот файл . Этот файл выполняет ./lib/tsc, тем самым запускает компилятор машинописного текста, который находится в каталоге lib, который затем компилирует код машинописного текста, в который он был передан. Обратите внимание, что результат не является двоичным, это файл javascript; тот же (или аналогичный) javascript файл, найденный по адресу ./lib/tsc

0 голосов
/ 03 августа 2020

В информатике начальная загрузка - это метод создания самокомпилируемого компилятора, то есть компилятора (или ассемблера), написанного на исходном языке программирования, который он намеревается скомпилировать. Начальная базовая версия компилятора (компилятор bootstrap) создается на другом языке (который может быть языком ассемблера); последующие расширенные версии компилятора разрабатываются с использованием этого минимального подмножества языка. Проблема компиляции самокомпилирующегося компилятора была названа проблемой курицы или яйца в конструкции компилятора, и самозагрузка является решением этой проблемы.

From: https://en.wikipedia.org/wiki/Bootstrapping_ ( компиляторы)

...