alterando chamadas no C?! é possivel? como?

1. alterando chamadas no C?! é possivel? como?

slugz
slugz

(usa Slackware)

Enviado em 09/06/2011 - 00:32h

Opa pessoal..

Seguinte gostaria de saber se alguem sabe como fazer para alterar uma chamada do compilador C. Calma deixa explicar melhor..por exemplo digamos que tenho um PRINTF("Oi"); o que eu quero fazer é mudar esse nome "PRINTF" para por exemplo ESCR("oi"); alterando assim o famoso "printf" para "escr". Bom em outras palavras quero alterar algumas funções da linguagem C para minha maneira ...acho que agora deu para entender a questão é que não sei onde isso se altera se no compilador se devo criar um novo etc...
Bom eu sei que se por exemplo criarmos um negocio no estilo #define ESCR printf; Toda vez que escrever escr ira chamar o printf mas não é isto que estou querendo quero alterar mesmo o codigo o compilador, biblioteca ou sei la oq devo alterar ;)

não sei se isto é possivel acredito que sim gostaria de saber como! ou será que é necessario criar uma nova linguagem de programacao "reinventando a roda novamente?".. a questão é que não qro criar uma linguagem quero só aprimorar algumas coisas no C para ficar mais rápido e mais facil de fazer um codigo =)
Abraços



  


2. Re: alterando chamadas no C?! é possivel? como?

Elder Marco
eldermarco

(usa Fedora)

Enviado em 09/06/2011 - 08:12h

Eu acho que você não deveria fazer isso, mas ...

use um #define pra isso:

#define escr printf

Algo assim.


3. Re: alterando chamadas no C?! é possivel? como?

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 09/06/2011 - 13:06h

poder voce pode. o compilador c nada mais é do que um frontend do gcc. se vc ja possiur o codigo fonte do gcc, de uma olhada no diretorio gcc dentro da raiz dos fontes - é ali que ele se encontra. porem, como conhecedor da causa, eu desencorajo a tentar, visto que o compilador c é fortemente amarrado a toda estrutura restante, e isso certamente tornara tudo muito dificil - para nao dizer impossivel - caso vc nao tenha uma base solida sobre a estrutura interna do gcc e compiladores em geral, bem como conhecimentos acima do intermediario nas ferramentas para tal proposito. alem disso, o fato da linguagem c ser dita como fracamente figurada torna ainda mais chato esse trabalho (e propenso a inumeras inconsistencias no resultado final).

entao, meu conselho seria: crie seu proprio frontend, ai sim, com suas palavras-chave etc. nao é dificil, apenas é um trabalho meio sacal, porem nao requer nada alem de algum conhecimento em flex, bison e c propriamente dito, escapando de conceitos como gimple, rtl, geracao de codigo intermediario, etc.

aqui alguns links para leitura acerca do tema:
http://gcc.gnu.org/onlinedocs/gccint/Front-End.html
http://www.faqs.org/docs/Linux-HOWTO/GCC-Frontend-HOWTO.html



4. Re: alterando chamadas no C?! é possivel? como?

slugz
slugz

(usa Slackware)

Enviado em 09/06/2011 - 19:43h

mslomp,

Brigado pela resposta.. interessante vou dar uma pesquisada e uma lida a respeito do front End ;)

abraços




5. Re: alterando chamadas no C?! é possivel? como?

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 20:57h

cara, a biblioteca responsavel pelo printf é o "stdio.h" lá dentro dela estão definidos como será o modo que o printf ira se comportar. p.exe

#include <stdio.h>
int main(){
printf("Ola\n");
}
quando você for compilar o compilador ira ver na biblioteca stdio.h se possui a função printf e qual seu comportamento e lhe dará o resultado...
se você encontrar este arquivo stdio.h dentro do gcc provavelmente voce ira conseguir mudar!!!
entendeu???


6. Re: alterando chamadas no C?! é possivel? como?

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/08/2011 - 21:10h

Quer fazer um fork do C é ? hehe

Isso que está querendo fazer é interessante, porém sem utilidade, visto que você teria que, literalmente, decorar os comandos, já que eles não teriam nenhum base sólida para serem estudados e isso sem dúvida só dificultaria as coisas.

Agora, se estiver procurando algo do tipo que o eldermarco descreveu, é muito útil para simplificar alguns comandos rotineiros e complexos






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts