Re: [Loro-dev] hola a todos y preguntas sobre tokens y otros
Status: Beta
Brought to you by:
carueda
From: Carlos R. <ca...@cs...> - 2002-03-25 22:06:48
|
Bienvenido adrian15! Veamos: > En principio me apunto en esta lista para estar al d=EDa del desarrollo d= e Loro y=20 > enterarme un poco m=E1s de como funciona en general, cual es su estructur= a.=20 >=20 > Adem=E1s me gustar=EDa colaborar como cr=EDtico de la p=E1gina web de Lor= o aportando=20 > ideas (Antes lo hac=EDa directamente a carueda, ahora lo har=E9 en esta l= ista). >=20 > No obstante tengo algunas: > Preguntas referentes al c=F3digo fuente: >=20 > Me he bajado el loro-edi-src-0.7r7-20020321.zip >=20 > y me he fijado en el archivo LoroTokenMarker.java del directorio > \src\loroedi\jedit >=20 > Quisiera hacer una objecci=F3n a como se definen los tokens. Se definen= =20 > directamente por medio de string, y no a trav=E9s de constantes string co= mo me=20 > parece que deber=EDa ser. Adem=E1s esos tokens, (los nombres de los token= s) se=20 > podr=EDan conseguir a trav=E9s de un archivo de texto llamado tokens.txt.= Esto=20 > facilitar=EDa a la larga el poder traducir el loro a otros idiomas: ingl= =E9s,=20 > franc=E9s, etc. De acuerdo totalmente contigo. Pero dejame aclarar: Para el resaltado (coloreamiento) de sintaxis se utiliza codigo del excelente editor jEdit (http://jedit.org). Bueno, en realidad parte de una version anterior de tal sistema que no estaba aun muy madura y por lo tanto sufre de algunos inconvenientes como el que mencionas. Con LoroTokenMarker.java me he limitado a seguir ese esquema pero solo como una solucion transitoria porque, como tu lo dices, es importante que haya flexibilidad para acoplar la herramienta a otros idiomas. Actualmente hay una actualizacion del modulo de sintaxis del jEdit para que esto se defina a traves de archivos XML, pero por falta de tiempo (y por atacar otras prioridades) se ha aplazado este aspecto. > Ahora bien si me voy a: > : [SourceForge] / loro / loro / src / loro / parser / LoroIParser.java=20 >=20 > Veo que usais constantes... as=ED que no s=E9 si lo haceis bien, =BFAcaso= en=20 > LoroTokenMarker al pasar los tokens luego los convierte en constantes? LoroIParser.java es *generado*, no editado a mano. Este archivo (fichero) proviene de LoroIParser.jj que es en donde se especifica la gramatica de Loro para efectos de utilzar la herramienta de generacion de analizadores lexicos y sintacticos JavaCC (http://www.webgain.com/products/java_cc/) > Repito que hago hincapi=E9 en lo de los tokens por lo de la traducci=F3n. de acuerdo; en este caso el asunto se atacaria desde el .jj > > Tengo m=E1s dudas porque no s=E9 si el zip que me he bajado es el bueno..= =2E si=20 > quizas con bajarme el nucleo ya estaba. Pero no el nucleo, a primera vist= a, no=20 > est=E1 incluido en el archivo del edi (que pone sistema completa). LoroEDI incluye el nucleo a nivel de binarios. Para los fuentes hay que bajar lo disponible para el nucleo. (La idea es mantener una cierta separacion logica --claro, hasta donde sea practico.) pero=20 tienes razon, pondre una aclaracion al respecto. > Ya me confirmareis este punto si es verdad o no porque no estoy muy segur= o. >=20 > Le he echado un vistazo al zip del nucleo, y concretamente a: >=20 > \src\loro\parsers\javacc\ > LoroIParser.java > Y veo cosas como: > jj_consume_token(78); > =F3 > jj_la1[7] =3D jj_gen; > A ese metodo le pasan un n=FAmero directamente sin ser una constante... y= no s=E9=20 > si es que est=E1 mal hecho, o es que no s=E9 puede hacer de otra manera. explicado mas arriba. (en general, los arhivos *generados automaticamente* no suelen ser legibles para los humanos). > Nada m=E1s, por el momento, si veis que no tengo ni idea, y pregunto cosa= s muy=20 > simples. Pues s=ED es verdad. Pero poco a poco, si me aclarais las ideas,= quizas=20 > podr=E9 entender el source del loro un poco mejor y encima ayudar un poco= m=E1s. perfecto! y no te preocupes: en informatica las preguntas mas simples no pocas veces resultan ser las mas profundas ;^) Asi que adelante y=20 gracias por tu participacion! >=20 > adrian15. >=20 |