ayuda diagrama de flujo...

#1
hola hermanos Ba-kunos, como les va, en esta ocasion recurro a su ayuda para no morir ignorante gulp!
el asunto es que en un examen me pedian hacer un diagrama de flujo del codigo que pongo mas abajo, amm en el examen ps no me fue nada bien pero, el maestro no es muy accesible para esto y no kiero morir no sabiendo que onda con el programa asi que recurro a ustedes a ver si me pueden explicar que onda con el, lo poco que puedo desifrar es que se trata de un analizador lexico (eso creo) que detecta las letras que uno escribe ¿no? bueno se que tiene un "case" y tambien "if" pero no comprendo como funcionan o que hacen les agradecere mucho si me pueden ayudar :vientos:

aqui el codigo del examen:

Lexico::~ lexico ( ) {
fclose (entrada);
}
char lexico:: SiguienteToken (void){
char car;
while ((car=((p=Buffer>0) ? buffer[--pBuffer]:getc(entrada)))!=EOF){
if (car==' ')continue;
of(car=='\n'){++nl; continue;}
break;
}
if (traza) cout<<"analizador lexico: leer el token"<<car<<endl;
switch (car){
case'M':
case'R':
case'W'://palabras reservadas
case'='://asignacion
case'('://parentesis
case')':
case';'://separador
case'{':
case'}':
case'.'://fin del programa
case'+'://operador aritmetico
case'*':
case'-':
case'/':
case'%':
return(car);
}

NOTA: he visto muchos post de gente que quiere que se le haga la tarea pidiendo los codigos para hacer tal o cual cosa, en verdad este no es mi caso solo quiero saber que onda solo quiero saber que hace el programilla (cada linea si es posible) ya basado en eso el diagrama lo puedo hacer yo, como les dije es para no quedarme con la duda, he buscado (como siempre que no entiendo algo) en internet y asi pero no encuentro algun codigo que se parezca o del que me pueda agarrar para desifrar este.

Muchas gracias comuinidad ba-k y ojala puedan orientarme
 
Arriba