Article View: es.comp.os.linux.programacion
Article #10311Re: Gramatica LL1 de un interprete
From: Angel Ivan Castell Rovira
Date: Fri, 15 Mar 2002 08:53
Date: Fri, 15 Mar 2002 08:53
50 lines
2575 bytes
2575 bytes
> Ahora que me doy cuenta. No deber๏ฟฝa ser:? > <Sentencia> -> <DeclVar> tkEOL| > <Asignacion> tkEOL | > <Llamada a funcion> tkEOL El lenguaje para el que estoy haciendo el interprete es un lenguaje que no admite llamadas a funcion. Tansolo expresiones aritmeticas, logicas, y de comparacion, declaracion de variables y asignaciones, es algo "sencillito" para hacer algo que me motive. Pretendo que resuelva expresiones (con sintaxis C) del tipo: integer i i:=0 i && 2 -> devuelve 0 (false) float j i:=2 j := i*5 -> devuelve 10.0 (typecast) (i&&j)+4 -> devuelve 5 (1 del true + 4) k :=5 -> error: variable no definida ... De hecho el problema de la gramatica (creo) que lo he resuelto ya. Se trataba de eliminar los prefijos comunes de la izquierda usando esta regla sintactica: <S> -> id := <E> | <E> <E> -> id| ...lootro... Que se puede convertir en: <S> -> id := <E> | <E> <E> -> id| <E'> <E'> -> ...lootro... Y a partir de aqui sustituir la definicion de <E> en la segunda regla de <S> y sacar factor comun al id en <S>. Creo que el problema lo tengo resuelto, aunque estoy implementando el analizador sintactico y hasta que no vea que me reconoce las cadenas de mi lenguaje, seguire con la mosca detras de la oreja. Ya que he molestado al grupo con mi pregunta, prometo explicar la solucion al grupo cuando lo tenga claro. Un saludo wena hente ;)
Technical Details
Message-ID:
<a6scqe$nju$1@marti.uji.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uv.es!marti.uji.es!not-for-mailReferences:
<a6koob$s6p$1@marti.uji.es> <74eb6167.0203142306.2015a985@posting.google.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c7891475e16a4222
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-03-15 01:08:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uv.es!marti.uji.es!not-for-mail
From: Angel Ivan Castell Rovira <al004140@alumail.uji.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Gramatica LL1 de un interprete
Date: Fri, 15 Mar 2002 08:53:34 +0000 (UTC)
Organization: Universitat Jaume I
Lines: 56
Sender: Angel Ivan Castell Rovira <al004140@anubis.uji.es>
Message-ID: <a6scqe$nju$1@marti.uji.es>
References: <a6koob$s6p$1@marti.uji.es> <74eb6167.0203142306.2015a985@posting.google.com>
NNTP-Posting-Host: anubis.uji.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: marti.uji.es 1016182414 24190 150.128.40.100 (15 Mar 2002 08:53:34 GMT)
X-Complaints-To: news@mati.uji.es
NNTP-Posting-Date: Fri, 15 Mar 2002 08:53:34 +0000 (UTC)
User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (AIX/4-3)