pure - typescript with javascript




Como o TypeScript 100.0% é escrito em TypeScript? (2)

Isso é chamado bootstrapping do compilador e é comum por vários motivos, e a linguagem que você está escrevendo geralmente é a linguagem mais adequada para entender os conceitos que você está implementando na linguagem que está escrevendo ...

Se você der uma olhada no artigo, a maioria das linguagens principais tem compiladores de auto-hospedagem (C, C ++). Isso significa que você está executando uma grande quantidade de código por meio de seu novo compilador, o que é um bom teste de funcionalidade. No caso usual, você está escrevendo um compilador porque deseja um novo idioma com algum benefício sobre seu idioma atual, portanto, aproveitar esses benefícios enquanto escreve o compilador faz sentido.

O primeiro passo terá que ser escrito em uma linguagem existente, mas uma vez que você tenha um compilador, você pode usá-lo para compilar a próxima revisão e assim por diante. Obviamente, isso limita seu compilador a usar apenas recursos da revisão n-1 , mas como você controla o compilador, isso deve ser um problema menor. Citando a Wikipédia:

As partes principais do compilador C ++ foram escritas em um subconjunto de C ++ que pode ser compilado tanto pelo g ++ quanto pelo Microsoft Visual C ++.

Como o TypeScript é um superconjunto de JavaScript, o compilador poderia (teoricamente) ser escrito na sintaxe compartilhada e compilado em qualquer um deles. Eu não acredito que seja o caso aqui, mas o relacionamento dá a você uma boa linguagem inicial para o compilador inicial.

No repositório TypeScript no GitHub e de acordo com o GitHub, o repositório incluía apenas 100.0% TypeScript (arquivos .ts)

Como funciona? e como o TypeScript pode se compilar para o JavaScript sozinho?


O Typescript é de auto-hospedagem e mantém uma versão Last-Known-Good (LKG) de si mesmo para compilar a próxima versão. Atualmente (30/08/2016) essa versão está no diretório lib .







compiler-construction