Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2014
Mantixd Mantixd is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
Mantixd Va por buen camino
Verificar Sintaxis

Hola buenas, estoy realizando un tipo analizador sintactico para mi carrera de ing. y pues nuestra maestra nos dijo haganlo como puedan y pues estoy haciendolo en delphi solo que tengo un pequeño problema, mi codigo analiza la sintaxis del lenguaje ensamblador y pues verifica que este correcta o no, llevo esto:

Código Delphi [-]

  RegAsm : Array[1..30] of string = ('AX','BX','CX','DX','AH','AL',
                                     'BH','BL','BP','CH','CL','CS',
                                     'DH','DL','DI','DS','GS','IP',
                                     'SI','SP','SS','ES',
                                     'EAX','EBP','EBX','ECX',
                                     'EDI','EDX','EIP','ESIFE');

SL := TStringList.Create;

   for i := 0 to RichEdit1.Lines.Count - 1 do
   begin

      AuxStr := RichEdit1.Lines[i];

      for j := 1 to Length(AuxStr) do
      begin
         if (AuxStr[j] <> ' ') then
            Token := Token + AuxStr[j]
         else
         begin
            SL.Add(Token);
            Token := EmptyStr;
         end
      end;

      SL.Add(Token);
      Token := EmptyStr;

      for j := 0 to SL.Count - 1 do
         for k := Low(RegAsm) to High(RegAsm) do
          if SL[0] = ('mov') then
          begin
          if UpperCase(SL[1]) = UpperCase(RegAsm[k]) then
          begin
          for o := Low(RegAsm) to High(RegAsm) do
          if SL[2] = (',') then
          begin
           if UpperCase(SL[3]) = UpperCase(RegAsm[o]) then
              Memo2.Text:=RichEdit1.Text


             end;
          end;
             end;


           // else
           // begin



      SL.Clear;

   end;

   SL.Free;

mando el contenido del richedit al memo2 como prueba para ver si en vdd lo hace

Pero este codigo no me sirve de mucho porque solo valida el primer renglon del RichEdit mi duda es como hacer que si yo pongo un segundo o tercer renglon tambien verifique que sea correcto y no solo el primero, saludos espero puedan ayudarme
Responder Con Cita
  #2  
Antiguo 27-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero esto no es lo mismo que esto otro?
Responder Con Cita
  #3  
Antiguo 27-05-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.331
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez deberías explicar qué intentas hacer en cada una de las partes del texto, al menos para saber por dónde van los tiros.
Te recomiendo que ejecutes paso a paso el programa y vayas revisando los valores que se almacenan en las variables a ver si son los que esperas.
La primera parte, que almacena los token en SL creo que no está funcionando como debería.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 27-05-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Mantixd,

Cita:
Empezado por Mantixd
...estoy realizando un tipo analizador sintáctico para mi carrera de ing...


Te sugiero revisar esta información:
Suerte en tu proyecto

Nelson.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
verificar formula armando OOP 2 16-05-2014 22:59:06
Verificar codigos! martonbarbosa Internet 0 10-06-2011 23:42:14
verificar string mjjj Varios 3 18-08-2008 21:17:10
Verificar CIF/NIF con c++ Builder Cecilioxx C++ Builder 2 14-02-2007 13:38:46
Verificar impresora Diegoval Impresión 1 11-05-2005 06:41:23


La franja horaria es GMT +2. Ahora son las 10:16:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi