[Notes2-team] Re: analisador =?ISO-8859-1?Q?l=E9xico_2_-_a_miss=E3o!?=
Brought to you by:
andersonrb
From: Anderson <and...@po...> - 2003-06-27 14:07:30
|
N=E3o, n=E3o teria este problema n=E3o. =C9 que n=E3o expliquei direito a= minha id=E9ia: a) primeiro o Notes testa o token para ver se =E9 keyword, indentifier,=20 operator, etc. b) no caso de n=E3o ser nenhum destes (e agora o token com o txt "ifs" qu= e=20 tu citou j=E1 teria colorido como indentifier, ou seja, ele n=E3o chegaria ao analisado= r=20 de erros) o notes veria se n=E3o =E9 uma keyword escrita de forma errada c) para fazer isto o notes n=E3o diria que o que ele desconhece =E9 errad= o.=20 Ele compararia o token que ele desconhece com os keywords do arquivo XML e veria se h=E1= =20 algo semelhante. Por exemplo: se o cara escrevesse "funtion" o notes compararia com as=20 keywords e descobriria que ele =E9 parecido com "function". Sendo parecido, marcaria= =20 o token como errado (sublinharia o token com vermelho ou sei l=E1 o que). No menu de=20 contexto ainda haveria uma op=E7=E3o para corrigir o token pra "function" e para ignorar= o=20 erro naquela sess=E3o ou sempre (no caso dum "ifs" da vida ter sido indentificado como=20 errado). O mesmo tipo de sugest=E3o apareceria para corrigir operators, fechar strings, et= c. Eu estou tirando minhas id=E9ias de processadores de textos, n=E3o tenham= =20 d=FAvida. Voc=EAs lembram da diferen=E7a do M$ Word 98 para o M$ Word 2000? At=E9 o 98 o Word apena= s=20 pegava erros de ortografia - e =E9 algo por a=ED que estou sugerindo fazermos. No Word= =20 2000 passou a pegar erros de sintaxe (ainda q isto fosse cheio de falhas) - que =E9 o que ach= o=20 realmente complicado fazermos, pois exige que encontremos um jeito de checar a sintaxe=20 perfeitamente, =E9 como ter que criar um compilador ultrar=E1pido sem ter uma linguagem espec=EDfica em mente..= .. Temos que lembrar que o Notes 2.0 n=E3o ser=E1 a =FAltima edi=E7=E3o do N= otes. A=20 parte mais complicada do "detector de erros" poder=EDamos deixar para a 2.1, ou sei l=E1 qual=20 edi=E7=E3o. Mas quando formos modificar o componente de edi=E7=E3o, j=E1 temos que pensar como faremos = para=20 que ele possa ser facilmente extendido no futuro para incluir isto (e outras coisas)... Ah! E talvez existam coisas que tenham q ser hardcoded. Ou seja, que n=E3= o=20 sejam configur=E1veis. =C9 melhor termos algo n=E3o configur=E1vel do que n=E3o termos... Ab. Anderson Luiz Antonio Gomes Pican=E7o wrote: > Po, quanto ao item 1, keywords, como eu disse antes, n=E3o basta ter as= =20 > keywords no xml, e dizer q ta errado se o usuario digitar algo q nao=20 > esta no xml. Lembre, q se o kra digitar ifs (o correto seria if) e o=20 > notes acusar erro, pode dar errado pois o kra pode ter um metodo=20 > chamado ifs. > > -----Mensagem original----- > *De:* Anderson [mailto:and...@po...] > *Enviada em:* quinta-feira, 26 de junho de 2003 14:37 > *Para:* not...@li... > *Assunto:* [Notes2-team] Re: analisador l=E9xico... > > Bom, =E9 uma possibilidade victor. Concordo com o Luiz que =E9 meio= lento > de implementar se formos ter que ficar varrendo m=E9todos criados p= elo > usu=E1rio - um compilador de C leva anos s=F3 pra fazer isso. > > Mas pensado na id=E9ia do Victor, ou seja, de pensar em "erros b=E1= sicos" > pensei em algumas corre=E7=F5es: > > 1) Keywords escritas erradas (as keywords est=E3o no arquivo XML qu= e > define a colora=E7=E3o de c=F3digo, =E9 s=F3 pegas l=E1 de l=E1 e c= omparar quando > o token for unknown - ou seja, quando o notes n=E3o indentificar o > token) > > 2) finaliza=E7=E3o de certos tipos: > Ex1. Uma string em pascal precisa iniciar e terminar com '. > Ex2. Uma tag HTML come=E7a com < e termina com >. > > 3) operadores para tipos errados. Nem sempre funcionaria. Mas > tipo, se o > usu=E1rio digitasse algo absurdo como /if (3 > 'esta string')/ > > E assim vai. Poder=EDamos ter uma lista tamb=E9m com as palavras > que comumente os programadores erram. Sei l=E1. Est=E1 dada uma > id=E9ia a=ED.... > > T+ > Anderson > > ---- > Victor Thiago Bartz H=F6her wrote: > >>acho que poderiamos come=E7ar com o b=E1sico, apenas=20 >>corrigindo erros bobos digitados pelo usuario... >> >> >>__________________________________________________________ >>Email enviado pelo webmail de http://www.imasters.com.br >>Este servi=E7o pode ser incorporado a qualquer site, intranet >>ou extranet. Visite http://www.integraweb.com.br e saiba como. >> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by: INetU >>Attention Web Developers & Consultants: Become An INetU Hosting Partner= . >>Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission= ! >>INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php >>_______________________________________________ >>notes2-team mailing list >>not...@li... >>https://lists.sourceforge.net/lists/listinfo/notes2-team >> >> >> =20 >> |