Mágica? Não, é Psyche C

Já pensou em usar uma estrutura que não existe ou acessar variáveis e funções que ainda não foram declaradas, sim isso é possível, existe um projeto feito pela Universidade Federal de Minas Gerais que torna isso possível, que se chama Psyche – C.

Imagina o seguinte caso:

Result generate(double val)
{
    List list; /* List não foi declarado */
    list = 0; /* List é um ponteiro ou um int */
    list = make(); /* função make não existe, mas já retorna List */
    list->data = val; /* variável data não existe mas recebe um double */
    list->next = list; /* isto é uma variável que também não existe que guarda um ponteiro para List */
    return FAIL_MACRO(1); /* Macro FAIL_MACRO também não existe */
}

 

Nesse caso somente a variável “val” foi declarada corretamente como double, ou seja, em qualquer compilador não funcionaria esse código mas no psyche-c ele “adivinha” o que deveria ter no seu código.

Conforme você pode ver no link abaixo:
http://cuda.dcc.ufmg.br/psyche-c/

No site tem a possibilidade de realizar alguns testes e ver o resultado!

Achou muito louco? Deixe seu comentário!

Deixe um comentário