[PC] Cds, interprete de C

hola nomas para reportarme !! jajaja [carcajad]

bueno y para dar a conocer mi proyecto ya qeu ahora ya tengo algo un poco mas presentable ! hace tiempo lo mostre pero creo que nadie me entendio ! [decaio] , pero ahora lo voy a explicar de una mejor manera !
bueno el proyecto se trata de un interprete de C
funciona de la siguiente manera...
todo lo que escribas esta dentro del main.. por lo tanto no hay que poner nada de #include ni nada de eso, solo instrucciones que realizara,
un ejemplo:
int bb;
bb=0;
printf("el valor de bb es $d",bb);
getch();


al poner eso en el editor y al precionar el boton B
se ejecutara y mostrara en pantalla lo sig.
el valor de bb es 0

y esperara a que preciones una tecla del teclado..
tiene soporte FAT, para guardar y leer aplicaciones, bueno chequenlo !
el sc ya esta parcheado con dldi, el otro lo tienen que parchear para que funcione el fat !

las funciones que soporta son las sig:
int
getch();
printf();
gotoxy();
if() []

un ejemplo con if:

int bb;
bb=0;
if (bb==1)[
printf("bb = 1");
]
getch();




las llaves no las uso por que tego que hacer un telcado para eso !! :( !
es mi aportacion a la scene !

ya

Adjuntos

hola, podrías postear la gramática que estas usando?
pues, la gramatica, no tengo muy claro el consepto de lo que me quieres dar a entender, por ejemplo, el programa lo que hace es buscar las ordenes separadas por el ":", y la descompone y la ejecuta, por ejemplo

char codigo[50]= "printf("hola mundo")";
char texto[50];
//codigo para buscar si es un printf

if (esunprinf){
z=0;
for (x =0;x<= len(codigo);x++){
if (codigo[x] = '"'){
while (codigo[x] 1= '"'){
texto[z] = codigo[x];
x++;
z++;

}
}
}
}

ese es un lijero ejemplo de como funciona el programa, bueno !!! obiamente este pseudocodigo no va a funcionar pero da una lijera idea de como funciona el programa ! , bueno no se si esa era tu pregunta !

era esa ????

SALUDOS !
en realidad la gramática es la forma en la que se comporta el programa... en serio te recomendaria que lo mirases un poco.

yo tengo que hacer un compilador en python este semestre y la verdad que aún sabiendo la teoria es jodido si quieres te podría pasar apuntes.
pues lo que pasa, bueno, me gustaria que me pases unos apuntes ya que la interpretacion de los comandos la he echo yo, ya que tuve que utilizar metodos abstractos, talvez poco otodorxos, pero bueno funciona !! :) !! pero creo que esa gramatica que me comentas seria genial como para que el programa sea mas lijero y mas rapido quizas, aunque hasta ahora no he tenido ningun tipo de problemas de ese tipo, pero bueno el programa no compila nada !! solo lo interpreta ! jnijijijiji !! espero opiniones !!!

ya lo probaste ????
Qué tal, si no les molesta me gustaría que me compartieran los apuntes que han mencionado sobre compiladores, es un tema sobre el que quiero leer y tratar de comprender más :).

Para platicarles más, comento que estoy pensando en diseñar un procesador en VHDL (soy electrónico no informático :P, ya he hecho uno muuuy simple, y en la red pueden encontrar varias cosas al respecto), después de definir todas las instrucciones del mismo y su equivalente en lenguaje simbólico, quiero intentar la programación del ensamblador (assembler) del mismo, y posteriormente, aunque no llegue a hacerlo pero si me gustaría tener una buena idea al respecto, un compilador de un lenguaje de alto nivel.

Los apuntes se los pido porque, al ser electrónico, no es un tema que me proporcionen en la escuela, así que hay que buscarle uno mismo por donde se pueda (también recomendaciones de libros son bienvenidas).
lo que pasa es que tengo una duda, los apuntes son de la universidad, es legal que los postee?

alex_primero_ que tal te va anidar operadores? y como tratas lo s l-value? esque sin una gramática no me hago una idea...
bueno realmente, no se mucho de eso, ya que como no compila solo lo interpreta ! pero bueno !! asi como te explique el ejemplo anterior asi lo estoy haciendo !! y pues esxo que me mencionas no se mucho !!!!

HAAAA !!!!

cuando lo termine quiero realizar un proyecto de comunicacion de psp y ds !!! jiji !! pero aun no tengo los recursos !!! , y tengo que aprender a programar en psp, y comprarme uno !! jajajja [boing]
el nivel léxico sintactico y semantico son comunes para los compiladores e interpretes se encargan de permitir entradas coerentes del código sin una gramática es muy fácil caer en errores.

Para los compiladores existe un nivel mas que es el de generación de código.
La verdad que creo q puede ser interesante lo q quieres hacer, pero de la forma en la que creo q lo estas haciendo se te puede complicar mucho, por ejemplo, que pasa si en lugar de "printf" alguien escribe "printfA", eso como lo interpretas?? identificador??o distingue que es un printf y un identificador??.

En mi opinion lo mejor es hacerse un esquemita en BNF (es un tipo de gramaticas que se usan para definir lenguajes) con lo que vas a reconocer y luego hacerte una especie de analizador lexico(hay muchos metodos para hacer uno, buscalos en internet).

No digo que como lo tas haciendo te mal, pero a medida que vayas metiendo cosas se te complicara, y puedes llegar a liarte mucho.

Creo q tengo bastante material sobre este tema ya que este año tuve que hacerme un lenguaje basado en C, y luego tuve que usarlo para implementar un analizador sintactico para otro lenguaje distinto.

Pues eso, espero que no te de muchos problemas, y si t los da, postealo que quizas pueda ayudarte ^^

animo¡¡ [carcajad]
el libro del dragón (dragon book) -La biblia de los compiladores- ha sido traducido al español. Lo ví el otro día en una librería. Ahí viene prácticamente todo lo referente a compiladores y parsers.

Si no puedes pillarte el libro ese mira tutoriales de flex y bison.

Saludos.
que interesante, yo me lo miraré tb el libro este para el proximo examen de compiladores. Pero en mi universidad son muy HIJOS DE PUTA y aunque te lo sepas todo en esa asignatura suspenderás.
11 respuestas