|
oks disculpen
pal es una variable que contiene lo siguiente:
Pal:=(memo1.Lines[numero]);
k es la variable de la posicion del caracter
con esto hagarro todo lo que esta escrito en el renglon y lo voy comparando hasta formar un token incrementado uno por uno con la variable "k" que empiesa de cero hasta el ultimo caracter del renglon.
longitud:=length(memo1.Lines[numero]); <-- total de longitud del renglon
esto lo hago para el fin de separar las palabras separadas por espacion punto y comas comas y enter esto da el fin de token ya dado el fin de token hagarro el token y lo comparo con palabras y simbolos que tengo en lisbox
Token:= token +(Pal[k]); <-- aqui sumo el caracte que va en la posiscion
inc(k);
el unico problema que he tenido al haser un token es cuando ahi un enter o fin de renglon, que es lo que le e venido preguntado por ejemplo:
program ejemplo;
uses crt;
var
s:integer;
los token program, ejemplo, punto y coma, uses , crt, s,dos puntos, integer no tengo problemas al que ser compar "var" es donde tengo problemas por que enseguida ahi un enter o fin de renglon entonses al querere con parar el caracter que sigue para ver si es fin de token es lo que no he podido validar que seria
if (pal[k]= #13) the
se supone que ahi deveria entrar =S
a la condicion para llenar la matriz de transicion donde meto el valor de enter
matriz[inicio,9]:='100';
inicio:=(strtoint(matriz[inicio,9]));
cuando token su valor es "var" se inc(k) entonses k ya es = a 4 esto seria lo que sigue despues del caracter "r" del token "var" que es lo que puse anteriormente
Token:= token +(Pal[k]); <--
inc(k);
bueno gracias espero ver sido mas claro =S
|