[bcn-pm] Creacion de un parseador de codigo.

Xavier Noria fxnahashref.com
Diu Jun 11 05:50:18 PDT 2006


On Jun 11, 2006, at 1:25, Jose Pedro Andres Garcia wrote:

> Hola a todos:
>     Estoy preparando un sistema de gestion via web, que entre otras
> cosas quiero que implemente su propia API de programacion, para
> facilitar la ampliacion ( la gente que va a manejar todo el diseño  
> y la
> logica no tiene ni idea de programacion )
>
> La idea seria algo similar a:
>
> <programa if variable=valor>
>      cosas que hago si el if es verdadero
> <programa else>
>      cosas que hago con un else
> </programa>
>
> Bueno, como un lenguaje de marcas normal, pero que implemente las
> opciones mas comunes ( if, foreach, do-until, etc etc ).

L'unica vegada que ho vaig fer amb XML va ser amb un llenguatge molt  
petit que tenia poc mes que if/else. En aquell cas llegia l'XML i  
l'interpretava a ma, construia Perl a partir d'ell i cridava eval().  
En aquell cas era segur fer aixo.

I la resta de vegades que he hagut de fer alguna cosa similar no he  
inventat res, he delegat en un llenguatge d'scripting. Aixo depen del  
cas i pot ser que no valgui en el teu, pero t'explico els pros:

   1. Parsing i interpretacio a tocar de dits amb eval()
      o similar

   2. Sovint et quedes curt, voldries estendre el mini-llenguatge,
      i el resultat final es una cosa matxambrada i menys senzilla
      del que hom volia al principi

Hi ha tambe l'assumpcio que si no son programadors, conceptualment no  
hi ha diferencia entre

   <programa if variable=valor>
      cosas que hago si el if es verdadero
   <programa else>
      cosas que hago con un else
   </programa>

i, per exemple en Ruby,

   if variable == valor
     # coses
   else
     # coses prima
   end

Aquest segon queda fins i tot mes entenedor pel meu gust. Ho veus? Es  
el mateix entendre la primera cosa que la segona.

Pensa que no cal que expliquis tot el llenguatge, pots documentar el  
subconjunt que t'interessi com si fos un llenguatge propi, nomes que  
tu treus profit del fet que interpretar el codi es trivial, i tens la  
feina feta i robustament en un tres i no res.

-- fxn



Més informació de la llista de correu Barcelona-pm