
07/04/2010, 16:44
|
| | Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 15 años Puntos: 0 | |
Ayuda con un codigo en C Hola, bueno tengo que traducir este codigo a java, pero el problema es que no soy muy buena en C y no entiendo casi nada del codigo, se supone que es un analizador lexico pero no estoy segura de que es lo que hace exactamente, estaria muy agradecida si me lo pudieran explicar.
Código C:
Ver original#include<stdio.h> #include<ctype.h> char *progname; #define NUMBER 400 #define COMMENT 401 #define TEXT 402 #define COMMAND 403 main(argc,argv) int argc; char *argv[]; { int val; while(val = lexer ()) printf("value is %d\n",val ); } lexer() { int c; while((c =getchar()) == ' ' || c == '\t') ; if(c == EOF) return 0; if(c == '.' || isdigit(c )) { /*number*/ return NUMBER; } if(c == '#') { /*comment */ while ((c =getchar()) != EOF && c != '\n'); return COMMENT; } if(c == '"') { /*literal text*/ c != '"' && c != '\n'); if(c == '\n') ungetc(c , stdin ); return TEXT; } if(isalpha(c )) { /*check to see if it is a command*/ return COMMAND; } return c; }
|