O C ++ pode simplificar a implementação da VM Lua?
-
26-09-2019 - |
Pergunta
Para aqueles que passaram pela implementação da Lua C VM, o uso do C ++ simplificaria significativamente a implementação?
Solução
Lua pretende ser uma linguagem incorporada. Portanto, a "implementação" da VM vem em duas peças distintas: a criação do código -fonte da VM e a integração desse código no artefato a ser implantado. Suspeito que sua pergunta pretenda se concentrar na primeira parte. Que pena. A segunda parte, a integração, acontece muitas vezes e geralmente é muito mais fácil em C do que em C ++.
Outras dicas
Durante anos, os engenheiros de nível genial suaram o sangue sobre essa VM para torná-lo o mais simples possível, permanecendo extremamente portáteis (qualquer compilador ANSI C) e altamente executivo (observe qualquer medida comparativa das linguagens de script). Ao lado desse tipo de esforço, não vejo como o C ++ pode simplificar nada. De fato, com C ++ eu me preocuparia com o idioma obscurecedor propriedades importantes como o modelo de custo.
Qualquer coisa que C possa fazer, o C ++ pode fazer melhor. Eu sempre pensei que a fonte da Lua era muito difícil de ler - deu alguns avisos em 64 bits, embora pareça estar bem.
O problema é que toda a coisa do usuário do usuário, não é realmente muito bom para expor novos tipos. Eu olhava para um reprovação em vez de uma reimplementação.