Existe um intérprete para C?

Eu queria saber se há algo como um interpretador para C. Ou seja, em um terminal Linux eu posso digitar “python” e depois codificar esse interpretador. (Não tenho certeza se interprete a palavra certa). Isso é realmente útil para testar coisas diferentes e estou curioso para saber se algo similar existe para C. Embora eu duvide disso. A única coisa que consigo pensar é que seria a shell C …

   

    Existem muitos – se você restringir o escopo de sua pergunta, poderemos sugerir alguns específicos para suas necessidades.

    Um intérprete notável é ” Ch: AC / C ++ Interpreter para Script Computing ” detalhado no Dr. Dobbs:

    Ch é um interpretador C completo que suporta todos os resources de linguagem e bibliotecas padrão do padrão ISO C90, mas estende C com muitos resources de alto nível, como tipos de string e matrizes computacionais, como objects de primeira class.

    O padrão Ch é freeware, mas não é de código aberto. Apenas Ch profissional tem os resources de plotagem e outros resources que se pode desejar.

    Eu nunca olhei para isso antes, mas ter um intérprete em mãos parece muito útil, e algo que eu provavelmente adicionarei ao meu conjunto de ferramentas. Obrigado pela pergunta!


    Editar:

    Acabei de descobrir que um dos meus compiladores favoritos, o TCC , executará scripts C:

    Ele também lida com arquivos de script C (apenas adicione a linha shebang “#! / Usr / local / bin / tcc -run” à primeira linha do seu arquivo de código-fonte C no Linux para executá-lo diretamente.

    O TCC pode ler o código-fonte C da input padrão quando ‘-‘ é usado no lugar de ‘infile’. Exemplo:

    echo 'main(){puts("hello");}' | tcc -run - 

    picoc – Um intérprete C muito pequeno

    O PicoC é um interpretador C muito pequeno para scripts. Foi originalmente escrito como a linguagem de script para o sistema de vôo a bordo de um UAV. Também é muito adequado para outros aplicativos robóticos, incorporados e não incorporados.

    o projeto ROOT fornece um interpretador C e C ++ muito funcional chamado Cint . Eu gosto muito disso. É preciso um pouco para se acostumar a interpretar, no entanto.

    O TCC é uma ótima opção também, mas não posso garantir sua REPL

    Provavelmente. Existem vários para c ++. Consulte Você já usou algum dos intérpretes de C ++ (não compiladores)? por exemplo. Certamente cint vai comer quase qualquer código c com bons resultados, e o tcc é tão rápido que você pode usá-lo como um intérprete.

    Dê uma olhada no Ch Interpreter .

    Ch é um intérprete C / C ++ integrável para scripts entre plataformas, programação shell, plotagem 2D / 3D, computação numérica e scripts incorporados.

    Eu sei que usamos o CINT na aula. Parecia muito bom que você pode querer experimentá-lo!

    Confira o iGCC

    cinterp é um para começar.

    ccons parece satisfazer suas restrições:

    O objective do projeto ccons é criar um console interativo para a linguagem de programação C, semelhante a “python” e “irb” para Python e Ruby, respectivamente. O projeto baseia-se no clang e no llvm.

    Mais recentemente, há o Cling (baseado no LLVM / Clang)

    http://root.cern.ch/drupal/content/cling

    Você pode usar o CompCert. Aqui estão alguns exemplos: http://compcert.inria.fr/man/manual004.html

    Isso foi feito, embora a grande maioria do trabalho em C seja compilada. Um exemplo é CH

    O CERN tem um kit de ferramentas chamado ROOT, que se destina principalmente a propósitos científicos ou de análise de dados, etc., mas possui um Interpretador C / C ++, denominado Cling baseado no Clang.

    Eles estavam usando um interpretador C chamado CINT antes de se adaptarem ao Cling . CINT é leve e ainda parece estar disponível para download.

    Eu acho que você pode obter algum outro, pesquisando cuidadosamente os artigos da lista da Wikipedia.